-const char loadcfg_rcs[] = "$Id: loadcfg.c,v 1.47 2002/05/12 21:36:29 jongfoster Exp $";
+const char loadcfg_rcs[] = "$Id: loadcfg.c,v 1.48.2.4 2003/04/11 12:06:14 oes Exp $";
/*********************************************************************
*
- * File : $Source: /cvsroot/ijbswa/current/loadcfg.c,v $
+ * File : $Source: /cvsroot/ijbswa/current/Attic/loadcfg.c,v $
*
* Purpose : Loads settings from the configuration file into
* global variables. This file contains both the
*
* Revisions :
* $Log: loadcfg.c,v $
+ * Revision 1.48.2.4 2003/04/11 12:06:14 oes
+ * Addressed bug #719435
+ * - Extraneous filterfile directives now logged as errors
+ * - This and unrecnonised directives now really obvious on status page
+ *
+ * Revision 1.48.2.3 2003/03/11 11:53:59 oes
+ * Cosmetic: Renamed cryptic variable
+ *
+ * Revision 1.48.2.2 2002/11/12 16:28:20 oes
+ * Move unrelated variable declaration out of #ifdef FEATURE_ACL; fixes bug #636655
+ *
+ * Revision 1.48.2.1 2002/08/21 17:58:05 oes
+ * Temp kludge to let user and default action file be edited through win32 GUI (FR 592080)
+ *
+ * Revision 1.48 2002/05/14 21:30:38 oes
+ * savearg now uses own linking code instead of (now special-cased) add_help_link
+ *
* Revision 1.47 2002/05/12 21:36:29 jongfoster
* Correcting function comments
*
#define ijb_tolower(__X) tolower((int)(unsigned char)(__X))
#ifdef FEATURE_TOGGLE
-/* by haroon - indicates if ijb is enabled */
-int g_bToggleIJB = 1; /* Privoxy is enabled by default. */
+/* Privoxy is enabled by default. */
+int global_toggle_state = 1;
#endif /* def FEATURE_TOGGLE */
/* The filename of the configfile */
{
struct configuration_spec * config = (struct configuration_spec *)data;
struct forward_spec *cur_fwd = config->forward;
+ int i;
+
#ifdef FEATURE_ACL
struct access_control_list *cur_acl = config->acl;
- int i;
while (cur_acl != NULL)
{
freez(config->jarfile);
#endif /* def FEATURE_COOKIE_JAR */
- freez(config->re_filterfile);
+#ifdef FEATURE_TRUST
+ freez(config->trustfile);
+ list_remove_all(config->trust_info);
+#endif /* def FEATURE_TRUST */
+ freez(config->re_filterfile);
+ freez(config);
}
log_error(LOG_LEVEL_INFO, "loading configuration file '%s':", configfile);
#ifdef FEATURE_TOGGLE
- g_bToggleIJB = 1;
+ global_toggle_state = 1;
#endif /* def FEATURE_TOGGLE */
fs->f = config = (struct configuration_spec *)zalloc(sizeof(*config));
continue;
#endif /* def FEATURE_CGI_EDIT_ACTIONS */
+/* *************************************************************************
+ * filterfile file-name
+ * In confdir by default.
+ * *************************************************************************/
+ case hash_filterfile :
+ if(config->re_filterfile)
+ {
+ log_error(LOG_LEVEL_ERROR, "Ignoring extraneous directive 'filterfile %s' "
+ "in line %lu in configuration file (%s).", arg, linenum, configfile);
+ string_append(&config->proxy_args,
+ " <b><font color=\"red\">WARNING: extraneous directive, ignored</font></b>");
+ continue;
+ }
+ config->re_filterfile = make_path(config->confdir, arg);
+ continue;
+
/* *************************************************************************
* forward url-pattern (.|http-proxy-host[:port])
* *************************************************************************/
config->proxy_info_url = strdup(arg);
continue;
-/* *************************************************************************
- * re_filterfile file-name
- * In confdir by default.
- * *************************************************************************/
- case hash_filterfile :
- freez(config->re_filterfile);
- config->re_filterfile = make_path(config->confdir, arg);
- continue;
-
/* *************************************************************************
* single-threaded
* *************************************************************************/
* *************************************************************************/
#ifdef FEATURE_TOGGLE
case hash_toggle :
- g_bToggleIJB = atoi(arg);
+ global_toggle_state = atoi(arg);
continue;
#endif /* def FEATURE_TOGGLE */
* error. To change back to an error, just change log level
* to LOG_LEVEL_FATAL.
*/
- log_error(LOG_LEVEL_ERROR, "Unrecognized directive '%s' (%luul) in line %lu in "
- "configuration file (%s).", buf, hash_string(cmd), linenum, configfile);
- string_append(&config->proxy_args, "<br>\nWARNING: unrecognized directive : ");
- string_append(&config->proxy_args, buf);
- string_append(&config->proxy_args, "<br><br>\n");
+ log_error(LOG_LEVEL_ERROR, "Ignoring unrecognized directive '%s' (%luul) in line %lu "
+ "in configuration file (%s).", buf, hash_string(cmd), linenum, configfile);
+ string_append(&config->proxy_args,
+ " <b><font color=\"red\">WARNING: unrecognized directive, ignored</font></b>");
continue;
/* *************************************************************************/
/* FIXME: this is a kludge for win32 */
#if defined(_WIN32) && !defined (_WIN_CONSOLE)
- g_actions_file = config->actions_file[0]; /* FIXME only works for first action file */
+ 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;
#ifdef FEATURE_TRUST
* Add config option name embedded in
* link to it's section in the user-manual
*/
- buf = strdup("<a href=\"");
+ buf = strdup("\n<br><a href=\"");
string_append(&buf, config->usermanual);
string_append(&buf, CONFIG_HELP_PREFIX);
string_join (&buf, string_toupper(command));
}
}
- string_append(&buf, "<br>\n");
-
string_join(&config->proxy_args, buf);
}