Fixing stupid bug now I've figured out what || means.
[privoxy.git] / cgi.c
diff --git a/cgi.c b/cgi.c
index 7ad6017..66776a7 100644 (file)
--- a/cgi.c
+++ b/cgi.c
@@ -1,4 +1,4 @@
-const char cgi_rcs[] = "$Id: cgi.c,v 1.34 2001/10/18 22:22:09 david__schmidt Exp $";
+const char cgi_rcs[] = "$Id: cgi.c,v 1.36 2001/10/26 17:33:27 oes Exp $";
 /*********************************************************************
  *
  * File        :  $Source: /cvsroot/ijbswa/current/cgi.c,v $
@@ -38,10 +38,25 @@ const char cgi_rcs[] = "$Id: cgi.c,v 1.34 2001/10/18 22:22:09 david__schmidt Exp
  *
  * Revisions   :
  *    $Log: cgi.c,v $
+ *    Revision 1.36  2001/10/26 17:33:27  oes
+ *    marginal bugfix
+ *
+ *    Revision 1.35  2001/10/23 21:48:19  jongfoster
+ *    Cleaning up error handling in CGI functions - they now send back
+ *    a HTML error page and should never cause a FATAL error.  (Fixes one
+ *    potential source of "denial of service" attacks).
+ *
+ *    CGI actions file editor that works and is actually useful.
+ *
+ *    Ability to toggle JunkBuster remotely using a CGI call.
+ *
+ *    You can turn off both the above features in the main configuration
+ *    file, e.g. if you are running a multi-user proxy.
+ *
  *    Revision 1.34  2001/10/18 22:22:09  david__schmidt
  *    Only show "Local support" on templates conditionally:
  *      - if either 'admin-address' or 'proxy-info-url' are uncommented in config
- *      - if not, no Local support section appears are removed automatically
+ *      - if not, no Local support section appears
  *
  *    Revision 1.33  2001/10/14 22:28:41  jongfoster
  *    Fixing stupid typo.
@@ -250,6 +265,8 @@ const char cgi_rcs[] = "$Id: cgi.c,v 1.34 2001/10/18 22:22:09 david__schmidt Exp
 #ifdef FEATURE_CGI_EDIT_ACTIONS
 #include "cgiedit.h"
 #endif /* def FEATURE_CGI_EDIT_ACTIONS */
+#include "loadcfg.h"
+/* loadcfg.h is for g_bToggleIJB only */
 
 const char cgi_h_rcs[] = CGI_H_VERSION;
 
@@ -269,16 +286,13 @@ static const struct cgi_dispatcher cgi_dispatchers[] = {
    { "show-url-info",
          cgi_show_url_info, 
          "Show which actions apply to a URL and why"  },
-#ifdef FEATURE_CGI_EDIT_ACTIONS
    { "toggle",
          cgi_toggle, 
          "Toggle JunkBuster on or off" },
+#ifdef FEATURE_CGI_EDIT_ACTIONS
    { "edit-actions",
          cgi_edit_actions, 
          "Edit the actions list" },
-#endif /* def FEATURE_CGI_EDIT_ACTIONS */
-
-#ifdef FEATURE_CGI_EDIT_ACTIONS
    { "edit-actions-for-url",
          cgi_edit_actions_for_url, 
          NULL /* Edit the actions for (a) specified URL(s) */ },
@@ -1015,7 +1029,7 @@ void free_http_response(struct http_response *rsp)
 
 /*********************************************************************
  *
- * Function    :  fill_template
+ * Function    :  template_load
  *
  * Description :  CGI support function that loads a given HTML
  *                template from the confdir, ignoring comment
@@ -1265,6 +1279,7 @@ jb_err template_fill_for_cgi(struct client_state *csp,
    return err;
 }
 
+
 /*********************************************************************
  *
  * Function    :  default_exports
@@ -1295,7 +1310,6 @@ struct map *default_exports(const struct client_state *csp, const char *caller)
       return NULL;
    }
 
-
    err = map(exports, "version", 1, VERSION, 1)
       || map(exports, "my-ip-address", 1, csp->my_ip_addr_str ? csp->my_ip_addr_str : "unknown", 1)
       || map(exports, "my-hostname", 1, csp->my_hostname ? csp->my_hostname : "unknown", 1)
@@ -1304,6 +1318,8 @@ struct map *default_exports(const struct client_state *csp, const char *caller)
       || map(exports, "menu", 1, make_menu(caller), 0)
       || map(exports, "code-status", 1, CODE_STATUS, 1);
 
+   err = err || map_conditional(exports, "enabled-display", g_bToggleIJB);
+
    snprintf(buf, 20, "%d", csp->config->hport);
    err = err || map(exports, "my-port", 1, buf, 1);