X-Git-Url: http://www.privoxy.org/gitweb/?p=privoxy.git;a=blobdiff_plain;f=project.h;h=b880241c53d902c523c4f02cc8085f5b48f83a2f;hp=2b1ca3d3c2bcf1c1f9c8dc84de3a155a85edaf5d;hb=c0fa6e4d858713c1b09a8016a97f479d42f2656d;hpb=e4e794d8b8965c902489f8784a6a02859aa3658d diff --git a/project.h b/project.h index 2b1ca3d3..b880241c 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.186 2012/10/21 12:52:35 fabiankeil Exp $" +#define PROJECT_H_VERSION "$Id: project.h,v 1.194 2012/12/07 12:43:55 fabiankeil Exp $" /********************************************************************* * * File : $Source: /cvsroot/ijbswa/current/project.h,v $ @@ -417,12 +417,6 @@ struct iob #define IOB_PEEK(IOB) ((IOB->cur > IOB->eod) ? (IOB->eod - IOB->cur) : 0) -/** - * Remove any data in the I/O buffer associated with the passed - * client_state pointer. - */ -#define IOB_RESET(IOB) do {free(IOB->buf); memset(IOB, '\0', sizeof(*IOB));} while (0) - /* Bits for csp->content_type bitmask: */ #define CT_TEXT 0x0001U /**< Suitable for pcrs filtering. */ #define CT_GIF 0x0002U /**< Suitable for GIF filtering. */ @@ -506,6 +500,8 @@ struct iob #define ACTION_OVERWRITE_LAST_MODIFIED 0x02000000UL /** Action bitmap: Replace or block Accept-Language header */ #define ACTION_HIDE_ACCEPT_LANGUAGE 0x04000000UL +/** Action bitmap: Limit the cookie lifetime */ +#define ACTION_LIMIT_COOKIE_LIFETIME 0x08000000UL /** Action string index: How to deanimate GIFs */ @@ -544,8 +540,10 @@ struct iob #define ACTION_STRING_BLOCK 16 /** Action string index: what to do with the "X-Forwarded-For" header. */ #define ACTION_STRING_CHANGE_X_FORWARDED_FOR 17 +/** Action string index: how many minutes cookies should be valid. */ +#define ACTION_STRING_LIMIT_COOKIE_LIFETIME 18 /** Number of string actions. */ -#define ACTION_STRING_COUNT 18 +#define ACTION_STRING_COUNT 19 /* To make the ugly hack in sed easier to understand */ @@ -647,6 +645,8 @@ enum forwarder_type { SOCKS_4A = 41, /**< SOCKS 5 with hostnames, DNS resolution is done by the SOCKS server */ SOCKS_5 = 50, + /**< Like SOCKS5, but uses non-standard Tor extensions (currently only optimistic data) */ + SOCKS_5T, }; /* @@ -668,6 +668,11 @@ struct reusable_connection * connection will no longer be reused. */ unsigned int keep_alive_timeout; + /* + * Number of requests that were sent to this connection. + * This is currently only for debugging purposes. + */ + unsigned int requests_sent_total; char *host; int port; @@ -764,7 +769,6 @@ struct reusable_connection */ #define CSP_FLAG_SERVER_CONNECTION_KEEP_ALIVE 0x00001000U -#ifdef FEATURE_CONNECTION_KEEP_ALIVE /** * Flag for csp->flags: Set if the server specified the * content length. @@ -798,8 +802,6 @@ struct reusable_connection */ #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. XXX: It's also set after sabotaging @@ -836,6 +838,12 @@ struct reusable_connection */ #define CSP_FLAG_PIPELINED_REQUEST_WAITING 0x00800000U +/** + * Flag for csp->flags: Set if the client body is chunk-encoded + */ +#define CSP_FLAG_CHUNKED_CLIENT_BODY 0x01000000U + + /* * Flags for use in return codes of child processes */ @@ -856,7 +864,7 @@ struct reusable_connection * Maximum number of actions/filter files. This limit is arbitrary - it's just used * to size an array. */ -#define MAX_AF_FILES 10 +#define MAX_AF_FILES 30 /** * Maximum number of sockets to listen to. This limit is arbitrary - it's just used @@ -878,6 +886,9 @@ struct client_state /** socket to talk to client (web browser) */ jb_socket cfd; + /** Number of requests received on the client socket. */ + unsigned int requests_received_total; + /** current connection to the server (may go through a proxy) */ struct reusable_connection server_connection; @@ -932,7 +943,6 @@ struct client_state /** Length after content modification. */ unsigned long long content_length; -#ifdef FEATURE_CONNECTION_KEEP_ALIVE /* XXX: is this the right location? */ /** Expected length of content after which we @@ -944,7 +954,6 @@ struct client_state * should stop reading from the client socket. */ unsigned long long expected_client_content_length; -#endif /* def FEATURE_CONNECTION_KEEP_ALIVE */ #ifdef FEATURE_TRUST