X-Git-Url: http://www.privoxy.org/gitweb/?a=blobdiff_plain;f=loadcfg.c;h=30af0f919f69acae95befb09dcf6bbbbd8e7617a;hb=09201cb75cbde447f621cdd997f2f3bbbd22f782;hp=03729bf598b6bbcdf3744a7f0fbe1193ea9297db;hpb=64a14a3afe5ffea3ee2226e7170677895b651b6f;p=privoxy.git diff --git a/loadcfg.c b/loadcfg.c index 03729bf5..30af0f91 100644 --- a/loadcfg.c +++ b/loadcfg.c @@ -1,4 +1,4 @@ -const char loadcfg_rcs[] = "$Id: loadcfg.c,v 1.34 2002/03/06 23:14:35 jongfoster Exp $"; +const char loadcfg_rcs[] = "$Id: loadcfg.c,v 1.38 2002/03/24 13:05:48 jongfoster Exp $"; /********************************************************************* * * File : $Source: /cvsroot/ijbswa/current/loadcfg.c,v $ @@ -9,7 +9,7 @@ const char loadcfg_rcs[] = "$Id: loadcfg.c,v 1.34 2002/03/06 23:14:35 jongfoster * variables it writes to. * * Copyright : Written by and Copyright (C) 2001 the SourceForge - * IJBSWA team. http://ijbswa.sourceforge.net + * Privoxy team. http://ijbswa.sourceforge.net * * Based on the Internet Junkbuster originally written * by and Copyright (C) 1997 Anonymous Coders and @@ -35,6 +35,22 @@ const char loadcfg_rcs[] = "$Id: loadcfg.c,v 1.34 2002/03/06 23:14:35 jongfoster * * Revisions : * $Log: loadcfg.c,v $ + * Revision 1.38 2002/03/24 13:05:48 jongfoster + * Renaming re_filterfile to filterfile + * + * Revision 1.37 2002/03/16 23:54:06 jongfoster + * Adding graceful termination feature, to help look for memory leaks. + * If you enable this (which, by design, has to be done by hand + * editing config.h) and then go to http://i.j.b/die, then the program + * will exit cleanly after the *next* request. It should free all the + * memory that was used. + * + * Revision 1.36 2002/03/13 00:27:05 jongfoster + * Killing warnings + * + * Revision 1.35 2002/03/07 03:52:44 oes + * Set logging to tty for --no-daemon mode + * * Revision 1.34 2002/03/06 23:14:35 jongfoster * Trivial cosmetic changes to make function comments easier to find. * @@ -354,6 +370,7 @@ static struct file_list *current_configfile = NULL; #define hash_deny_access 1227333715ul /* "deny-access" */ #define hash_enable_edit_actions 2517097536ul /* "enable-edit-actions" */ #define hash_enable_remote_toggle 2979744683ul /* "enable-remote-toggle" */ +#define hash_filterfile 250887266ul /* "filterfile" */ #define hash_forward 2029845ul /* "forward" */ #define hash_forward_socks4 3963965521ul /* "forward-socks4" */ #define hash_forward_socks4a 2639958518ul /* "forward-socks4a" */ @@ -363,7 +380,6 @@ static struct file_list *current_configfile = NULL; #define hash_logfile 2114766ul /* "logfile" */ #define hash_permit_access 3587953268ul /* "permit-access" */ #define hash_proxy_info_url 3903079059ul /* "proxy-info-url" */ -#define hash_re_filterfile 3877522444ul /* "re_filterfile" */ #define hash_single_threaded 4250084780ul /* "single-threaded" */ #define hash_suppress_blocklists 1948693308ul /* "suppress-blocklists" */ #define hash_toggle 447966ul /* "toggle" */ @@ -452,6 +468,30 @@ void unload_configfile (void * data) } +#ifdef FEATURE_GRACEFUL_TERMINATION +/********************************************************************* + * + * Function : unload_current_config_file + * + * Description : Unloads current config file - reset to state at + * beginning of program. + * + * Parameters : None + * + * Returns : N/A + * + *********************************************************************/ +void unload_current_config_file(void) +{ + if (current_configfile) + { + current_configfile->unloader = unload_configfile; + current_configfile = NULL; + } +} +#endif + + /********************************************************************* * * Function : load_config @@ -774,7 +814,7 @@ struct configuration_spec * load_config(void) { cur_fwd->forward_host = strdup(p); - if ((p = strchr(cur_fwd->forward_host, ':'))) + if (NULL != (p = strchr(cur_fwd->forward_host, ':'))) { *p++ = '\0'; cur_fwd->forward_port = atoi(p); @@ -837,7 +877,7 @@ struct configuration_spec * load_config(void) { cur_fwd->gateway_host = strdup(p); - if ((p = strchr(cur_fwd->gateway_host, ':'))) + if (NULL != (p = strchr(cur_fwd->gateway_host, ':'))) { *p++ = '\0'; cur_fwd->gateway_port = atoi(p); @@ -855,7 +895,7 @@ struct configuration_spec * load_config(void) { cur_fwd->forward_host = strdup(p); - if ((p = strchr(cur_fwd->forward_host, ':'))) + if (NULL != (p = strchr(cur_fwd->forward_host, ':'))) { *p++ = '\0'; cur_fwd->forward_port = atoi(p); @@ -916,7 +956,7 @@ struct configuration_spec * load_config(void) cur_fwd->gateway_host = strdup(p); - if ((p = strchr(cur_fwd->gateway_host, ':'))) + if (NULL != (p = strchr(cur_fwd->gateway_host, ':'))) { *p++ = '\0'; cur_fwd->gateway_port = atoi(p); @@ -933,7 +973,7 @@ struct configuration_spec * load_config(void) { cur_fwd->forward_host = strdup(p); - if ((p = strchr(cur_fwd->forward_host, ':'))) + if (NULL != (p = strchr(cur_fwd->forward_host, ':'))) { *p++ = '\0'; cur_fwd->forward_port = atoi(p); @@ -1076,7 +1116,7 @@ struct configuration_spec * load_config(void) * re_filterfile file-name * In confdir by default. * *************************************************************************/ - case hash_re_filterfile : + case hash_filterfile : freez(config->re_filterfile); config->re_filterfile = make_path(config->confdir, arg); continue; @@ -1310,7 +1350,7 @@ struct configuration_spec * load_config(void) if ( NULL != config->haddr ) { - if ((p = strchr(config->haddr, ':'))) + if (NULL != (p = strchr(config->haddr, ':'))) { *p++ = '\0'; if (*p)