Comment out request_contains_null_bytes() until it's used again.
[privoxy.git] / project.h
index 0b40f2b..efc2400 100644 (file)
--- a/project.h
+++ b/project.h
@@ -1,7 +1,7 @@
 #ifndef PROJECT_H_INCLUDED
 #define PROJECT_H_INCLUDED
 /** Version string. */
-#define PROJECT_H_VERSION "$Id: project.h,v 1.94 2007/04/15 16:39:21 fabiankeil Exp $"
+#define PROJECT_H_VERSION "$Id: project.h,v 1.98 2007/07/14 07:31:26 fabiankeil Exp $"
 /*********************************************************************
  *
  * File        :  $Source: /cvsroot/ijbswa/current/project.h,v $
  *
  * Revisions   :
  *    $Log: project.h,v $
+ *    Revision 1.98  2007/07/14 07:31:26  fabiankeil
+ *    Add new csp->content_type flag (CT_DECLARED).
+ *
+ *    Revision 1.97  2007/05/27 12:38:08  fabiankeil
+ *    - Remove some left-overs from the switch to dedicated header filters.
+ *    - Adjust "X-Filter: No" to disable dedicated header filters.
+ *    - Prepare for forward-override{}
+ *
+ *    Revision 1.96  2007/05/14 10:41:15  fabiankeil
+ *    Ditch the csp member cookie_list[] which isn't used anymore.
+ *
+ *    Revision 1.95  2007/04/30 15:02:19  fabiankeil
+ *    Introduce dynamic pcrs jobs that can resolve variables.
+ *
  *    Revision 1.94  2007/04/15 16:39:21  fabiankeil
  *    Introduce tags as alternative way to specify which
  *    actions apply to a request. At the moment tags can be
@@ -951,6 +965,13 @@ struct iob
 #define CT_GZIP    0x0010U /**< gzip-compressed data. */
 #define CT_DEFLATE 0x0020U /**< zlib-compressed data. */
 
+/**
+ * Flag to signal that the server declared the content type,
+ * so we can differentiate between unknown and undeclared
+ * content types.
+ */
+#define CT_DECLARED 0x0040U
+
 /**
  * The mask which includes all actions.
  */
@@ -1021,10 +1042,8 @@ struct iob
 #define  ACTION_REDIRECT                             0x10000000UL
 /** Action bitmap: Answer blocked Connects verbosely */
 #define ACTION_TREAT_FORBIDDEN_CONNECTS_LIKE_BLOCKS  0x20000000UL
-/** Action bitmap: Filter server headers with pcre */
-#define ACTION_FILTER_SERVER_HEADERS                 0x40000000UL
-/** Action bitmap: Filter client headers with pcre */
-#define ACTION_FILTER_CLIENT_HEADERS                 0x80000000UL
+/** Action bitmap: Override the forward settings in the config file */
+#define ACTION_FORWARD_OVERRIDE                      0x40000000UL
 
 
 /** Action string index: How to deanimate GIFs */
@@ -1057,8 +1076,10 @@ struct iob
 #define ACTION_STRING_REDIRECT             13
 /** Action string index: Decode before redirect? */
 #define ACTION_STRING_FAST_REDIRECTS       14
+/** Action string index: Overriding forward rule. */
+#define ACTION_STRING_FORWARD_OVERRIDE     15
 /** Number of string actions. */
-#define ACTION_STRING_COUNT                15
+#define ACTION_STRING_COUNT                16
 
 
 /* To make the ugly hack in sed easier to understand */
@@ -1211,6 +1232,12 @@ struct url_actions
  */
 #define CSP_FLAG_HOST_HEADER_IS_SET            0x00000200UL
 
+/**
+ * Flag for csp->flags: Set if filtering is disabled by X-Filter: No
+ * XXX: As we now have tags we might as well ditch this.
+ */
+#define CSP_FLAG_NO_FILTERING                  0x00000400UL
+
 
 /*
  * Flags for use in return codes of child processes
@@ -1272,6 +1299,13 @@ struct client_state
    /** The URL that was requested */
    struct http_request http[1];
 
+   /*
+    * The final forwarding settings.
+    * XXX: Currently this is only used for forward-override,
+    * so we can free the space in sweep.
+    */
+   struct forward_spec * fwd;
+
    /** An I/O buffer used for buffering data read from the network */
    struct iob iob[1];
 
@@ -1281,9 +1315,6 @@ struct client_state
    /** List of all tags that apply to this request */
    struct list tags[1];
 
-   /** List of all cookies for this request */
-   struct list cookie_list[1];
-
    /** MIME-Type key, see CT_* above */
    unsigned int content_type;
 
@@ -1551,6 +1582,9 @@ struct access_control_list
 /** configuration_spec::feature_flags: Don't allow to circumvent blocks with the force prefix. */
 #define RUNTIME_FEATURE_ENFORCE_BLOCKS              32
 
+/** configuration_spec::feature_flags: Allow to block or redirect CGI requests. */
+#define RUNTIME_FEATURE_CGI_CRUNCHING               64
+
 
 /**
  * Data loaded from the configuration file.