Move user-manual directive to top of section. Notes on read/write permissions
[privoxy.git] / project.h
index e950284..811cf22 100644 (file)
--- a/project.h
+++ b/project.h
@@ -1,6 +1,6 @@
 #ifndef PROJECT_H_INCLUDED
 #define PROJECT_H_INCLUDED
-#define PROJECT_H_VERSION "$Id: project.h,v 1.63 2002/03/31 17:19:00 jongfoster Exp $"
+#define PROJECT_H_VERSION "$Id: project.h,v 1.67 2002/04/24 02:12:43 oes Exp $"
 /*********************************************************************
  *
  * File        :  $Source: /cvsroot/ijbswa/current/project.h,v $
  *
  * Revisions   :
  *    $Log: project.h,v $
+ *    Revision 1.67  2002/04/24 02:12:43  oes
+ *     - Jon's multiple AF patch:
+ *       - Make csp->actions_list an array
+ *       - #define MAX_ACTION_FILES
+ *     - Moved CGI_PARAM_LEN_MAX (500) here
+ *
+ *    Revision 1.66  2002/04/15 19:06:43  jongfoster
+ *    Typos
+ *
+ *    Revision 1.65  2002/04/04 00:36:36  gliptak
+ *    always use pcre for matching
+ *
+ *    Revision 1.64  2002/04/03 22:28:03  gliptak
+ *    Removed references to gnu_regex
+ *
  *    Revision 1.63  2002/03/31 17:19:00  jongfoster
  *    Win32 only: Enabling STRICT to fix a VC++ compile warning.
  *
  * and are included anyway.
  */
 
-#if defined(REGEX_PCRE)
-# define REGEX
-#endif /* defined(REGEX_PCRE) */
-
 #ifdef STATIC_PCRE
 #  include "pcre.h"
 #else
 #  include <pcrs.h>
 #endif
 
-#if defined(REGEX_PCRE)
-#  ifdef STATIC_PCRE
-#    include "pcreposix.h"
-#  else
-#    include <pcreposix.h>
-#  endif
-#endif /* defined(REGEX_PCRE) */
+#ifdef STATIC_PCRE
+#  include "pcreposix.h"
+#else
+#  include <pcreposix.h>
+#endif
 
 #ifdef AMIGA
 #include "amiga.h"
@@ -519,6 +528,11 @@ typedef int jb_err;
  */
 #define BUFFER_SIZE 5000
 
+/*
+ * Max length of CGI parameters (arbitrary limit)
+ */
+#define CGI_PARAM_LEN_MAX 500
+
 /*
  * Buffer size for capturing struct hostent data in the
  * gethostby(name|addr)_r library calls. Since we don't
@@ -632,15 +646,9 @@ struct url_spec
    char *path;         /* The path prefix (if not using regex), or source   */
                        /* for the regex.                                    */
    int   pathlen;      /* ==strlen(path).  Needed for prefix matching.      */
-#ifdef REGEX
    regex_t *preg;      /* Regex for matching path part                      */
-#endif
 };
-#ifdef REGEX
 #define URL_SPEC_INITIALIZER { NULL, NULL, NULL, 0, 0, 0, NULL, 0, NULL }
-#else /* ifndef REGEX */
-#define URL_SPEC_INITIALIZER { NULL, NULL, NULL, 0, 0, 0, NULL, 0 }
-#endif /* ndef REGEX */
 
 /* Constants for host part matching in URLs */
 #define ANCHOR_LEFT  1
@@ -775,6 +783,12 @@ struct url_actions
 #define CSP_FLAG_REJECTED   0x10 /* Set if request was blocked.  */
 #define CSP_FLAG_TOGGLED_ON 0x20 /* Set if we are toggled on (FEATURE_TOGGLE) */
 
+/*
+ * Maximum number of actions files.  This limit is arbitrary - it's just used
+ * to size an array.
+ */
+#define MAX_ACTION_FILES 10
+
 /*
  * The state of a Privoxy processing thread.
  */
@@ -829,7 +843,7 @@ struct client_state
    char   *x_forwarded;
 
    /* files associated with this client */
-   struct file_list *actions_list;
+   struct file_list *actions_list[MAX_ACTION_FILES];
 
    struct file_list *rlist;   /* pcrs job file */
    size_t content_length;     /* Length after content modification */
@@ -1002,14 +1016,15 @@ struct configuration_spec
    int debug;
    int multi_threaded;
 
-   /* Features that can be enabled/disabled throuigh the config file */
+   /* Features that can be enabled/disabled through the config file */
    unsigned feature_flags;
 
    const char *logfile;
 
    const char *confdir;
    const char *logdir;
-   const char *actions_file;
+   const char *actions_file[MAX_ACTION_FILES];
+   const char *actions_file_short[MAX_ACTION_FILES];
 
    /* The administrator's email address */
    char *admin_address;
@@ -1017,6 +1032,9 @@ struct configuration_spec
    /* A URL with info on this proxy */
    char *proxy_info_url;
 
+   /* URL to the user manual (on our website or local copy) */
+   char *usermanual;
+
    const char *re_filterfile;
 
 #ifdef FEATURE_COOKIE_JAR
@@ -1075,8 +1093,9 @@ struct configuration_spec
 
 
 /* Hardwired URLs */
-#define HOME_PAGE_URL       "http://www.privoxy.org"
-#define REDIRECT_URL        HOME_PAGE_URL "/redirect.php?v=" VERSION "&to="
+#define HOME_PAGE_URL     "http://www.privoxy.org"
+#define USER_MANUAL_URL   HOME_PAGE_URL "/" VERSION "/user-manual/"
+#define HELP_LINK_PREFIX  "configuration.html#"
 
 /*
  * The "hosts" to intercept and display CGI pages.