X-Git-Url: http://www.privoxy.org/gitweb/?p=privoxy.git;a=blobdiff_plain;f=project.h;h=d53aab4357388f9f3a3dedf1762027002580607d;hp=7135760042e32caf5b1a7ec32f1e45c4dd655e64;hb=085bcef4c31a4877c5a998769d3b298881421745;hpb=e693e665a5012fba131bf207821e31164f27d72b diff --git a/project.h b/project.h index 71357600..d53aab43 100644 --- 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.140 2009/06/08 16:47:07 fabiankeil Exp $" +#define PROJECT_H_VERSION "$Id: project.h,v 1.148 2009/07/18 12:20:05 fabiankeil Exp $" /********************************************************************* * * File : $Source: /cvsroot/ijbswa/current/project.h,v $ @@ -319,6 +319,7 @@ struct http_request #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 @@ -638,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. @@ -754,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 */ @@ -846,11 +878,17 @@ struct client_state unsigned long long content_length; #ifdef FEATURE_CONNECTION_KEEP_ALIVE + /* XXX: is this the right location? */ + /** Expected length of content after which we * should stop reading from the server socket. */ - /* XXX: is this the right location? */ unsigned long long expected_content_length; + + /** Expected length of content after which we + * should stop reading from the client socket. + */ + unsigned long long expected_client_content_length; #endif /* def FEATURE_CONNECTION_KEEP_ALIVE */ #ifdef FEATURE_TRUST