-const char cgi_rcs[] = "$Id: cgi.c,v 1.70.2.3 2002/11/28 18:14:32 oes Exp $";
+const char cgi_rcs[] = "$Id: cgi.c,v 1.70.2.9 2003/05/08 15:11:31 oes Exp $";
/*********************************************************************
*
* File : $Source: /cvsroot/ijbswa/current/Attic/cgi.c,v $
*
* Revisions :
* $Log: cgi.c,v $
+ * Revision 1.70.2.9 2003/05/08 15:11:31 oes
+ * Nit
+ *
+ * Revision 1.70.2.8 2003/04/29 13:33:51 oes
+ * Killed a compiler warning on OSX
+ *
+ * Revision 1.70.2.7 2003/04/03 13:50:58 oes
+ * - Don't call cgi_error_disabled ifndef FEATURE_CGI_EDIT_ACTIONS
+ * (fixes bug #710056)
+ * - Show toggle info only if we have it
+ *
+ * Revision 1.70.2.6 2003/03/12 01:26:25 david__schmidt
+ * Move declaration of struct tm dummy outside of a control block so it is
+ * accessible later on during snprintf in get_http_time.
+ *
+ * Revision 1.70.2.5 2003/03/11 11:53:58 oes
+ * Cosmetic: Renamed cryptic variable
+ *
+ * Revision 1.70.2.4 2003/03/07 03:41:03 david__schmidt
+ * Wrapping all *_r functions (the non-_r versions of them) with mutex semaphores for OSX. Hopefully this will take care of all of those pesky crash reports.
+ *
* Revision 1.70.2.3 2002/11/28 18:14:32 oes
* Disable access to critical CGIs via untrusted referrers.
* This prevents users from being tricked by malicious websites
#include "cgiedit.h"
#endif /* def FEATURE_CGI_EDIT_ACTIONS */
#include "loadcfg.h"
-/* loadcfg.h is for g_bToggleIJB only */
+/* loadcfg.h is for global_toggle_state only */
#ifdef FEATURE_PTHREAD
#include <pthread.h>
#include "jcc.h"
#endif
{ "show-status",
cgi_show_status,
+#ifdef FEATURE_CGI_EDIT_ACTIONS
"View & change the current configuration",
+#else
+ "View the current configuration",
+#endif
TRUE },
{ "show-version",
cgi_show_version,
/*
- * Bulit-in images for ad replacement
+ * Built-in images for ad replacement
*
* Hint: You can encode your own images like this:
* cat your-image | perl -e 'while (read STDIN, $c, 1) { printf("\\%.3o", unpack("C", $c)); }'
if ((d->name == NULL) || (strcmp(path_copy, d->name) == 0))
{
/*
- * If the called CGI is either harmless, or not referred
- * from an untrusted source, start it.
+ * If the called CGI is either harmless, or referred
+ * from a trusted source, start it.
*/
if (d->harmless
- || (NULL == (referrer = grep_cgi_referrer(csp)))
- || (0 == strncmp(referrer, "http://config.privoxy.org/", 26))
+ || ((NULL != (referrer = grep_cgi_referrer(csp)))
+ && (0 == strncmp(referrer, "http://config.privoxy.org/", 26)))
)
{
err = (d->handler)(csp, rsp, param_list);
}
else
{
- err = cgi_error_disabled(csp, rsp);
+ err = cgi_error_404(csp, rsp, param_list);
}
}
struct tm *t;
time_t current_time;
+#if defined(HAVE_GMTIME_R) && !defined(OSX_DARWIN)
+ /*
+ * Declare dummy up here (instead of inside get/set gmt block) so it
+ * doesn't go out of scope before it's potentially used in snprintf later.
+ * Wrapping declaration inside HAVE_GMTIME_R keeps the compiler quiet when
+ * !defined HAVE_GMTIME_R.
+ */
+ struct tm dummy;
+#endif
assert(buf);
t = gmtime(¤t_time);
pthread_mutex_unlock(&gmtime_mutex);
#elif HAVE_GMTIME_R
- struct tm dummy;
t = gmtime_r(¤t_time, &dummy);
#else
t = gmtime(¤t_time);
if (!err) err = map(exports, "user-manual", 1, csp->config->usermanual ,1);
if (!err) err = map(exports, "actions-help-prefix", 1, ACTIONS_HELP_PREFIX ,1);
#ifdef FEATURE_TOGGLE
- if (!err) err = map_conditional(exports, "enabled-display", g_bToggleIJB);
+ if (!err) err = map_conditional(exports, "enabled-display", global_toggle_state);
+#else
+ if (!err) err = map_block_killer(exports, "can-toggle");
#endif
snprintf(buf, 20, "%d", csp->config->hport);