X-Git-Url: http://www.privoxy.org/gitweb/?a=blobdiff_plain;f=loadcfg.c;h=61ba3a7705a0e81caa2c499c54c74cbb36fcdfe6;hb=732eaf8bb25c21652790d9c038b2f0bb555be180;hp=2b6e95c736832a3fc5edfd12f197e7418a7d1cf8;hpb=d05721eca2f3d5cea3b36b88a5abed179013e59c;p=privoxy.git diff --git a/loadcfg.c b/loadcfg.c index 2b6e95c7..61ba3a77 100644 --- a/loadcfg.c +++ b/loadcfg.c @@ -1,4 +1,4 @@ -const char loadcfg_rcs[] = "$Id: loadcfg.c,v 1.82 2008/11/16 12:43:49 fabiankeil Exp $"; +const char loadcfg_rcs[] = "$Id: loadcfg.c,v 1.86 2009/02/08 19:18:57 fabiankeil Exp $"; /********************************************************************* * * File : $Source: /cvsroot/ijbswa/current/loadcfg.c,v $ @@ -35,6 +35,25 @@ const char loadcfg_rcs[] = "$Id: loadcfg.c,v 1.82 2008/11/16 12:43:49 fabiankeil * * Revisions : * $Log: loadcfg.c,v $ + * Revision 1.86 2009/02/08 19:18:57 fabiankeil + * Now that we have the match-all.action file, the other action + * files changed their position in config->actions_file[] back + * to the way it was before standard.action got removed and the + * changes from revision 1.84 have to be reverted. + * + * Revision 1.85 2009/01/22 12:06:26 fabiankeil + * Don't keep connections alive when running single-threaded. + * + * Revision 1.84 2009/01/14 16:14:36 fabiankeil + * Due to the standard.action file removal, the other action + * files changed their position in config->actions_file[]. + * Update mingw32 kludge accordingly. + * + * 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 @@ -789,7 +808,7 @@ struct configuration_spec * load_config(void) config->usermanual = strdup(USER_MANUAL_URL); config->proxy_args = strdup(""); config->forwarded_connect_retries = 0; - config->socket_timeout = 180; + config->socket_timeout = 300; /* XXX: Should be a macro. */ config->feature_flags &= ~RUNTIME_FEATURE_CGI_TOGGLE; config->feature_flags &= ~RUNTIME_FEATURE_SPLIT_LARGE_FORMS; config->feature_flags &= ~RUNTIME_FEATURE_ACCEPT_INTERCEPTED_REQUESTS; @@ -1715,9 +1734,6 @@ struct configuration_spec * load_config(void) fclose(configfp); set_debug_level(config->debug); -#ifdef FEATURE_CONNECTION_KEEP_ALIVE - set_keep_alive_timeout(keep_alive_timeout); -#endif freez(config->logfile); @@ -1734,6 +1750,28 @@ struct configuration_spec * load_config(void) } } +#ifdef FEATURE_CONNECTION_KEEP_ALIVE + if (config->feature_flags & RUNTIME_FEATURE_CONNECTION_KEEP_ALIVE) + { + if (config->multi_threaded) + { + set_keep_alive_timeout(keep_alive_timeout); + } + else + { + /* + * While we could use keep-alive without multiple threads + * if we didn't bother with enforcing the connection timeout, + * that might make Tor users sad, even though they shouldn't + * enable the single-threaded option anyway. + */ + config->feature_flags &= ~RUNTIME_FEATURE_CONNECTION_KEEP_ALIVE; + log_error(LOG_LEVEL_ERROR, + "Config option single-threaded disables connection keep-alive."); + } + } +#endif + if (NULL == config->proxy_args) { log_error(LOG_LEVEL_FATAL, "Out of memory loading config - insufficient memory for config->proxy_args"); @@ -1807,7 +1845,7 @@ struct configuration_spec * load_config(void) /* 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_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_re_filterfile = config->re_filterfile[0]; /* FIXME Hope this is default.filter */