-const char loadcfg_rcs[] = "$Id: loadcfg.c,v 1.80 2008/08/31 15:59:03 fabiankeil Exp $";
+const char loadcfg_rcs[] = "$Id: loadcfg.c,v 1.83 2008/12/20 14:53:55 fabiankeil Exp $";
/*********************************************************************
*
* File : $Source: /cvsroot/ijbswa/current/loadcfg.c,v $
*
* Revisions :
* $Log: loadcfg.c,v $
+ * Revision 1.83 2008/12/20 14:53:55 fabiankeil
+ * Add config option socket-timeout to control the time
+ * Privoxy waits for data to arrive on a socket. Useful
+ * in case of stale ssh tunnels or when fuzz-testing.
+ *
+ * Revision 1.82 2008/11/16 12:43:49 fabiankeil
+ * Turn keep-alive support into a runtime feature
+ * that is disabled by setting keep-alive-timeout
+ * to a negative value.
+ *
+ * Revision 1.81 2008/11/13 09:08:42 fabiankeil
+ * Add new config option: keep-alive-timeout.
+ *
* Revision 1.80 2008/08/31 15:59:03 fabiankeil
* There's no reason to let remote toggling support depend
* on FEATURE_CGI_EDIT_ACTIONS, so make sure it doesn't.
#define hash_permit_access 3587953268ul /* "permit-access" */
#define hash_proxy_info_url 3903079059ul /* "proxy-info-url" */
#define hash_single_threaded 4250084780ul /* "single-threaded" */
+#define hash_socket_timeout 1809001761ul /* "socket-timeout" */
#define hash_split_large_cgi_forms 671658948ul /* "split-large-cgi-forms" */
#define hash_suppress_blocklists 1948693308ul /* "suppress-blocklists" */
#define hash_templdir 11067889ul /* "templdir" */
config->usermanual = strdup(USER_MANUAL_URL);
config->proxy_args = strdup("");
config->forwarded_connect_retries = 0;
+ config->socket_timeout = 180;
config->feature_flags &= ~RUNTIME_FEATURE_CGI_TOGGLE;
config->feature_flags &= ~RUNTIME_FEATURE_SPLIT_LARGE_FORMS;
config->feature_flags &= ~RUNTIME_FEATURE_ACCEPT_INTERCEPTED_REQUESTS;
int timeout = atoi(arg);
if (0 <= timeout)
{
+ config->feature_flags |= RUNTIME_FEATURE_CONNECTION_KEEP_ALIVE;
keep_alive_timeout = timeout;
}
else
{
- log_error(LOG_LEVEL_FATAL,
- "Invalid keep-alive-timeout value: %s.", arg);
+ config->feature_flags &= ~RUNTIME_FEATURE_CONNECTION_KEEP_ALIVE;
}
}
continue;
config->multi_threaded = 0;
continue;
+/* *************************************************************************
+ * socket-timeout numer_of_seconds
+ * *************************************************************************/
+ case hash_socket_timeout :
+ if (*arg != '\0')
+ {
+ int socket_timeout = atoi(arg);
+ if (0 < socket_timeout)
+ {
+ config->socket_timeout = socket_timeout;
+ }
+ else
+ {
+ log_error(LOG_LEVEL_FATAL,
+ "Invalid socket-timeout: '%s'", arg);
+ }
+ }
+ continue;
+
/* *************************************************************************
* split-large-cgi-forms
* *************************************************************************/
/* FIXME: this is a kludge for win32 */
#if defined(_WIN32) && !defined (_WIN_CONSOLE)
- g_default_actions_file = config->actions_file[1]; /* FIXME Hope this is default.action */
- g_user_actions_file = config->actions_file[2]; /* FIXME Hope this is user.action */
+ g_default_actions_file = config->actions_file[0]; /* FIXME Hope this is default.action */
+ g_user_actions_file = config->actions_file[1]; /* FIXME Hope this is user.action */
g_re_filterfile = config->re_filterfile[0]; /* FIXME Hope this is default.filter */
#ifdef FEATURE_TRUST