-const char showargs_rcs[] = "$Id: showargs.c,v 1.20 2001/07/18 17:27:22 oes Exp $";
+const char showargs_rcs[] = "$Id: showargs.c,v 1.24 2001/08/05 16:06:20 jongfoster Exp $";
/*********************************************************************
*
* File : $Source: /cvsroot/ijbswa/current/showargs.c,v $
*
* Revisions :
* $Log: showargs.c,v $
+ * Revision 1.24 2001/08/05 16:06:20 jongfoster
+ * Modifiying "struct map" so that there are now separate header and
+ * "map_entry" structures. This means that functions which modify a
+ * map no longer need to return a pointer to the modified map.
+ * Also, it no longer reverses the order of the entries (which may be
+ * important with some advanced template substitutions).
+ *
+ * Revision 1.23 2001/08/02 22:03:23 jongfoster
+ * Fixing an unterminated character constant.
+ *
+ * Revision 1.22 2001/08/01 00:20:57 jongfoster
+ * Changing show_defines so that it doesn't contain any HTML.
+ *
+ * Revision 1.21 2001/07/30 22:08:36 jongfoster
+ * Tidying up #defines:
+ * - All feature #defines are now of the form FEATURE_xxx
+ * - Permanently turned off WIN_GUI_EDIT
+ * - Permanently turned on WEBDAV and SPLIT_PROXY_ARGS
+ *
* Revision 1.20 2001/07/18 17:27:22 oes
* Adapted to new #defines
*
#include "errlog.h"
#include "miscutil.h"
#include "gateway.h"
+#include "cgi.h"
+#include "list.h"
const char showargs_h_rcs[] = SHOWARGS_H_VERSION;
SHOW_RCS(actions_rcs)
SHOW_RCS(cgi_h_rcs)
SHOW_RCS(cgi_rcs)
+#ifdef FEATURE_CGI_EDIT_ACTIONS
+ SHOW_RCS(cgiedit_rcs)
+ SHOW_RCS(cgiedit_h_rcs)
+#endif /* def FEATURE_CGI_EDIT_ACTIONS */
#ifdef __MINGW32__
SHOW_RCS(cygwin_h_rcs)
#endif
* Returns : string
*
*********************************************************************/
-char *show_defines(void)
+void show_defines(struct map *exports)
{
- char *b = NULL;
-
-#ifdef FEATURE_PTHREAD
- b = strsav(b, " <li><code>#define <b>FEATURE_PTHREAD</b></code> - Support POSIX threads.</li>\n");
-#else
- b = strsav(b, " <li><code>#undef <b>FEATURE_PTHREAD</b></code> - No support POSIX threads.</li>\n");
-#endif
-
-#ifdef REGEX_GNU
- b = strsav(b, " <li><code>#define <b>REGEX_GNU</b></code> - Support for GNU style regular expressions in the path specs.</li>\n");
-#endif /* def REGEX_GNU */
-#ifdef REGEX_PCRE
- b = strsav(b, " <li><code>#define <b>REGEX_PCRE</b></code> - Support for pcre style regular expressions in the path specs.</li>\n");
-#endif /* def REGEX_PCRE */
-
-#ifndef REGEX
- b = strsav(b, " <li><code>#undef <b>REGEX</b></code> - No support for regular expressions in the path specs.</li>\n");
-#endif /* ndef REGEX */
+#ifdef FEATURE_ACL
+ map_conditional(exports, "FEATURE_ACL", 1);
+#else /* ifndef FEATURE_ACL */
+ map_conditional(exports, "FEATURE_ACL", 0);
+#endif /* ndef FEATURE_ACL */
-#ifdef STATIC_PCRE
- b = strsav(b, " <li><code>#define <b>STATIC_PCRE</b></code> - Using static built-in pcre rather than libpcre.</li>\n");
-#else /* ifndef STATIC_PCRE */
- b = strsav(b, " <li><code>#undef <b>STATIC_PCRE</b></code> - Using libpcre rather than static built-in pcre.</li>\n");
-#endif /* ndef STATIC_PCRE */
+#ifdef FEATURE_COOKIE_JAR
+ map_conditional(exports, "FEATURE_COOKIE_JAR", 1);
+#else /* ifndef FEATURE_COOKIE_JAR */
+ map_conditional(exports, "FEATURE_COOKIE_JAR", 0);
+#endif /* ndef FEATURE_COOKIE_JAR */
-#ifdef STATIC_PCRS
- b = strsav(b, " <li><code>#define <b>STATIC_PCRS</b></code> - Using static built-in pcrs rather than libpcrs.</li>\n");
-#else /* ifndef STATIC_PCRS */
- b = strsav(b, " <li><code>#undef <b>STATIC_PCRS</b></code> - Using libpcrs rather than static built-in pcrs.</li>\n");
-#endif /* ndef STATIC_PCRS */
+#ifdef FEATURE_DENY_GZIP
+ map_conditional(exports, "FEATURE_DENY_GZIP", 1);
+#else /* ifndef FEATURE_DENY_GZIP */
+ map_conditional(exports, "FEATURE_DENY_GZIP", 0);
+#endif /* ndef FEATURE_DENY_GZIP */
-#ifdef FEATURE_TOGGLE
- b = strsav(b, " <li><code>#define <b>FEATURE_TOGGLE</b></code> - Allow JunkBuster to be \"disabled\" so it is just a normal non-blocking non-anonymizing proxy.</li>\n");
-#else /* ifndef FEATURE_TOGGLE */
- b = strsav(b, " <li><code>#undef <b>FEATURE_TOGGLE</b></code> - Do not allow JunkBuster to be \"disabled\" so it is just a normal non-blocking non-anonymizing proxy.</li>\n");
-#endif /* ndef FEATURE_TOGGLE */
+#ifdef FEATURE_FAST_REDIRECTS
+ map_conditional(exports, "FEATURE_FAST_REDIRECTS", 1);
+#else /* ifndef FEATURE_FAST_REDIRECTS */
+ map_conditional(exports, "FEATURE_FAST_REDIRECTS", 0);
+#endif /* ndef FEATURE_FAST_REDIRECTS */
#ifdef FEATURE_FORCE_LOAD
- b = strsav(b, " <li><code>#define <b>FEATURE_FORCE_LOAD</b></code> - Enables bypassing filtering for a single page using the prefix \"" FORCE_PREFIX "\".</li>\n");
+ map_conditional(exports, "FEATURE_FORCE_LOAD", 1);
#else /* ifndef FEATURE_FORCE_LOAD */
- b = strsav(b, " <li><code>#undef <b>FEATURE_FORCE_LOAD</b></code> - Disables bypassing filtering for a single page.</li>\n");
+ map_conditional(exports, "FEATURE_FORCE_LOAD", 0);
#endif /* ndef FEATURE_FORCE_LOAD */
-#ifdef FEATURE_DENY_GZIP
- b = strsav(b, " <li><code>#define <b>FEATURE_DENY_GZIP</b></code> - Prevents requests from being compressed - required for PCRS on some sites.</li>\n");
-#else /* ifndef FEATURE_DENY_GZIP */
- b = strsav(b, " <li><code>#undef <b>FEATURE_DENY_GZIP</b></code> - Allows requests to be compressed if the browser and server support it.</li>\n");
-#endif /* ndef FEATURE_DENY_GZIP */
+#ifdef FEATURE_IMAGE_BLOCKING
+ map_conditional(exports, "FEATURE_IMAGE_BLOCKING", 1);
+#else /* ifndef FEATURE_IMAGE_BLOCKING */
+ map_conditional(exports, "FEATURE_IMAGE_BLOCKING", 0);
+#endif /* ndef FEATURE_IMAGE_BLOCKING */
-#ifdef FEATURE_STATISTICS
- b = strsav(b, " <li><code>#define <b>FEATURE_STATISTICS</b></code> - Enables statistics function.</li>\n");
-#else /* ifndef FEATURE_STATISTICS */
- b = strsav(b, " <li><code>#undef <b>FEATURE_STATISTICS</b></code> - Disables statistics function.</li>\n");
-#endif /* ndef FEATURE_STATISTICS */
+#ifdef FEATURE_IMAGE_DETECT_MSIE
+ map_conditional(exports, "FEATURE_IMAGE_DETECT_MSIE", 1);
+#else /* ifndef FEATURE_IMAGE_DETECT_MSIE */
+ map_conditional(exports, "FEATURE_IMAGE_DETECT_MSIE", 0);
+#endif /* ndef FEATURE_IMAGE_DETECT_MSIE */
#ifdef FEATURE_KILL_POPUPS
- b = strsav(b, " <li><code>#define <b>FEATURE_KILL_POPUPS</b></code> - Enables killing JavaScript popups.</li>\n");
+ map_conditional(exports, "FEATURE_KILL_POPUPS", 1);
#else /* ifndef FEATURE_KILL_POPUPS */
- b = strsav(b, " <li><code>#undef <b>FEATURE_KILL_POPUPS</b></code> - Disables killing JavaScript popups.</li>\n");
+ map_conditional(exports, "FEATURE_KILL_POPUPS", 0);
#endif /* ndef FEATURE_KILL_POPUPS */
-#ifdef FEATURE_IMAGE_DETECT_MSIE
- b = strsav(b, " <li><code>#define <b>FEATURE_IMAGE_DETECT_MSIE</b></code> - Enables detecting image requests automatically for MSIE.</li>\n");
-#else /* ifndef FEATURE_IMAGE_DETECT_MSIE */
- b = strsav(b, " <li><code>#undef <b>FEATURE_IMAGE_DETECT_MSIE</b></code> - Disables detecting image requests automatically for MSIE.</li>\n");
-#endif /* ndef FEATURE_IMAGE_DETECT_MSIE */
+#ifdef FEATURE_PTHREAD
+ map_conditional(exports, "FEATURE_PTHREAD", 1);
+#else /* ifndef FEATURE_PTHREAD */
+ map_conditional(exports, "FEATURE_PTHREAD", 0);
+#endif /* ndef FEATURE_PTHREAD */
-#ifdef FEATURE_IMAGE_BLOCKING
- b = strsav(b, " <li><code>#define <b>FEATURE_IMAGE_BLOCKING</b></code> - Enables sending \"blocked\" images instead of HTML.</li>\n");
-#else /* ifndef FEATURE_IMAGE_BLOCKING */
- b = strsav(b, " <li><code>#undef <b>FEATURE_IMAGE_BLOCKING</b></code> - Disables sending \"blocked\" images instead of HTML.</li>\n");
-#endif /* ndef FEATURE_IMAGE_BLOCKING */
+#ifdef FEATURE_STATISTICS
+ map_conditional(exports, "FEATURE_STATISTICS", 1);
+#else /* ifndef FEATURE_STATISTICS */
+ map_conditional(exports, "FEATURE_STATISTICS", 0);
+#endif /* ndef FEATURE_STATISTICS */
-#ifdef FEATURE_ACL
- b = strsav(b, " <li><code>#define <b>FEATURE_ACL</b></code> - Enables the use of ACL files to control access to the proxy by IP address.</li>\n");
-#else /* ifndef FEATURE_ACL */
- b = strsav(b, " <li><code>#undef <b>FEATURE_ACL</b></code> - Disables the use of ACL files to control access to the proxy by IP address.</li>\n");
-#endif /* ndef FEATURE_ACL */
+#ifdef FEATURE_TOGGLE
+ map_conditional(exports, "FEATURE_TOGGLE", 1);
+#else /* ifndef FEATURE_TOGGLE */
+ map_conditional(exports, "FEATURE_TOGGLE", 0);
+#endif /* ndef FEATURE_TOGGLE */
#ifdef FEATURE_TRUST
- b = strsav(b, " <li><code>#define <b>FEATURE_TRUST</b></code> - Enables the use of trust files.</li>\n");
+ map_conditional(exports, "FEATURE_TRUST", 1);
#else /* ifndef FEATURE_TRUST */
- b = strsav(b, " <li><code>#undef <b>FEATURE_TRUST</b></code> - Disables the use of trust files.</li>\n");
+ map_conditional(exports, "FEATURE_TRUST", 0);
#endif /* ndef FEATURE_TRUST */
-#ifdef FEATURE_COOKIE_JAR
- b = strsav(b, " <li><code>#define <b>FEATURE_COOKIE_JAR</b></code> - Enables the use of jar files to capture cookies.</li>\n");
-#else /* ifndef FEATURE_COOKIE_JAR */
- b = strsav(b, " <li><code>#undef <b>FEATURE_COOKIE_JAR</b></code> - Disables the use of jar files to capture cookies.</li>\n");
-#endif /* ndef FEATURE_COOKIE_JAR */
+#ifdef REGEX_GNU
+ map_conditional(exports, "REGEX_GNU", 1);
+#else /* ifndef REGEX_GNU */
+ map_conditional(exports, "REGEX_GNU", 0);
+#endif /* def REGEX_GNU */
-#ifdef FEATURE_FAST_REDIRECTS
- b = strsav(b, " <li><code>#define <b>FEATURE_FAST_REDIRECTS</b></code> - Enables intercepting remote script redirects.</li>\n");
-#else /* ifndef FEATURE_FAST_REDIRECTS */
- b = strsav(b, " <li><code>#undef <b>FEATURE_FAST_REDIRECTS</b></code> - Disables intercepting remote script redirects.</li>\n");
-#endif /* ndef FEATURE_FAST_REDIRECTS */
+#ifdef REGEX_PCRE
+ map_conditional(exports, "REGEX_PCRE", 1);
+#else /* ifndef REGEX_PCRE */
+ map_conditional(exports, "REGEX_PCRE", 0);
+#endif /* def REGEX_PCRE */
+
+#ifdef STATIC_PCRE
+ map_conditional(exports, "STATIC_PCRE", 1);
+#else /* ifndef STATIC_PCRE */
+ map_conditional(exports, "STATIC_PCRE", 0);
+#endif /* ndef STATIC_PCRE */
+
+#ifdef STATIC_PCRS
+ map_conditional(exports, "STATIC_PCRS", 1);
+#else /* ifndef STATIC_PCRS */
+ map_conditional(exports, "STATIC_PCRS", 0);
+#endif /* ndef STATIC_PCRS */
- return b;
+ map(exports, "FORCE_PREFIX", 1, FORCE_PREFIX, 1);
}