If you're masking csp->flags with RUNTIME_FEATURE_CONNECTION_KEEP_ALIVE you're doing...
[privoxy.git] / project.h
index b4a7020..f30f4bb 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.139 2009/06/03 16:42:49 fabiankeil Exp $"
+#define PROJECT_H_VERSION "$Id: project.h,v 1.147 2009/07/14 17:50:34 fabiankeil Exp $"
 /*********************************************************************
  *
  * File        :  $Source: /cvsroot/ijbswa/current/project.h,v $
@@ -318,6 +318,8 @@ struct http_request
 #define RSP_REASON_CONNECT_FAILED     8
 #define RSP_REASON_OUT_OF_MEMORY      9
 #define RSP_REASON_INTERNAL_ERROR     10
+#define RSP_REASON_CONNECTION_TIMEOUT 11
+#define RSP_REASON_NO_SERVER_DATA     12
 
 /**
  * Response generated by CGI, blocker, or error handler
@@ -637,7 +639,11 @@ struct reusable_connection
 {
    jb_socket sfd;
    int       in_use;
-   time_t    timestamp;
+   time_t    timestamp; /* XXX: rename? */
+
+   time_t    request_sent;
+   time_t    response_received;
+
    /*
     * Number of seconds after which this
     * connection will no longer be reused.
@@ -753,8 +759,35 @@ struct reusable_connection
  * the connection alive.
  */
 #define CSP_FLAG_CLIENT_CONNECTION_KEEP_ALIVE  0x00008000U
+
+/**
+ * Flag for csp->flags: Set if we think we got the whole
+ * client request and shouldn't read any additional data
+ * coming from the client until the current request has
+ * been dealt with.
+ */
+#define CSP_FLAG_CLIENT_REQUEST_COMPLETELY_READ 0x00010000U
+
+/**
+ * Flag for csp->flags: Set if the server promised us to
+ * keep the connection open for a known number of seconds.
+ */
+#define CSP_FLAG_SERVER_KEEP_ALIVE_TIMEOUT_SET  0x00020000U
+
 #endif /* def FEATURE_CONNECTION_KEEP_ALIVE */
 
+/**
+ * Flag for csp->flags: Set if we think we can't reuse
+ * the server socket.
+ */
+#define CSP_FLAG_SERVER_SOCKET_TAINTED          0x00040000U
+
+/**
+ * Flag for csp->flags: Set if the Proxy-Connection header
+ * is among the server headers.
+ */
+#define CSP_FLAG_SERVER_PROXY_CONNECTION_HEADER_SET 0x00080000U
+
 /*
  * Flags for use in return codes of child processes
  */