Change csp->expected_content and_csp->expected_content_length from
[privoxy.git] / project.h
index 3411250..78a074c 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.122 2008/10/16 07:11:34 fabiankeil Exp $"
+#define PROJECT_H_VERSION "$Id: project.h,v 1.127 2008/12/20 14:53:55 fabiankeil Exp $"
 /*********************************************************************
  *
  * File        :  $Source: /cvsroot/ijbswa/current/project.h,v $
  *
  * Revisions   :
  *    $Log: project.h,v $
+ *    Revision 1.127  2008/12/20 14:53:55  fabiankeil
+ *    Add config option socket-timeout to control the time
+ *    Privoxy waits for data to arrive on a socket. Useful
+ *    in case of stale ssh tunnels or when fuzz-testing.
+ *
+ *    Revision 1.126  2008/12/14 17:02:54  fabiankeil
+ *    Fix a cparser warning.
+ *
+ *    Revision 1.125  2008/11/20 08:22:28  fabiankeil
+ *    Remove an obsolete comment.
+ *
+ *    Revision 1.124  2008/11/16 12:43:49  fabiankeil
+ *    Turn keep-alive support into a runtime feature
+ *    that is disabled by setting keep-alive-timeout
+ *    to a negative value.
+ *
+ *    Revision 1.123  2008/11/10 16:55:59  fabiankeil
+ *    Fix a gcc44 warning (in filters.c).
+ *
  *    Revision 1.122  2008/10/16 07:11:34  fabiankeil
  *    Fix a bunch of gcc44 conversion warnings.
  *
@@ -807,7 +826,7 @@ typedef int jb_err;
 /**
  * Max length of CGI parameters (arbitrary limit).
  */
-#define CGI_PARAM_LEN_MAX 500
+#define CGI_PARAM_LEN_MAX 500U
 
 /**
  * Buffer size for capturing struct hostent data in the
@@ -1340,9 +1359,6 @@ struct url_actions
 /**
  * Flag for csp->flags: Set if the server wants to keep
  * the connection alive.
- *
- * XXX: Incomplete implementation, we currently only
- * look for "Connection: keep-alive".
  */
 #define CSP_FLAG_SERVER_CONNECTION_KEEP_ALIVE  0x00001000UL
 
@@ -1432,14 +1448,14 @@ struct client_state
    struct file_list *rlist[MAX_AF_FILES];
 
    /** Length after content modification. */
-   size_t content_length;
+   unsigned long long content_length;
 
 #ifdef FEATURE_CONNECTION_KEEP_ALIVE
    /** Expected length of content after which we
     * should stop reading from the server socket.
     */
    /* XXX: is this the right location? */
-   size_t expected_content_length;
+   unsigned long long expected_content_length;
 #endif /* def FEATURE_CONNECTION_KEEP_ALIVE */
 
 #ifdef FEATURE_TRUST
@@ -1682,6 +1698,8 @@ struct access_control_list
 /** configuration_spec::feature_flags: Allow to block or redirect CGI requests. */
 #define RUNTIME_FEATURE_CGI_CRUNCHING               64U
 
+/** configuration_spec::feature_flags: Try to keep the connection to the server alive. */
+#define RUNTIME_FEATURE_CONNECTION_KEEP_ALIVE      128U
 
 /**
  * Data loaded from the configuration file.
@@ -1778,6 +1796,9 @@ struct configuration_spec
    /** Number of retries in case a forwarded connection attempt fails */
    int         forwarded_connect_retries;
 
+   /* Timeout when waiting on sockets for data to become available. */
+   int socket_timeout;
+
    /** All options from the config file, HTML-formatted. */
    char *proxy_args;