X-Git-Url: http://www.privoxy.org/gitweb/?p=privoxy.git;a=blobdiff_plain;f=project.h;h=78d53ce3dca5a2e6cb4dfe9e152cc362c948e4ca;hp=dcd2c3137a549054450c41237d2f183076529894;hb=7b847672a169c938107812275fb01f22d57aa16a;hpb=bd51cd28a9cc5242ce26bb83398f9d01c310c8f5 diff --git a/project.h b/project.h index dcd2c313..78d53ce3 100644 --- a/project.h +++ b/project.h @@ -1,7 +1,5 @@ #ifndef PROJECT_H_INCLUDED #define PROJECT_H_INCLUDED -/** Version string. */ -#define PROJECT_H_VERSION "$Id: project.h,v 1.216 2016/05/25 10:50:55 fabiankeil Exp $" /********************************************************************* * * File : $Source: /cvsroot/ijbswa/current/project.h,v $ @@ -91,10 +89,6 @@ # endif #endif -#ifdef AMIGA -#include "amiga.h" -#endif /* def AMIGA */ - #ifdef _WIN32 /* * I don't want to have to #include all this just for the declaration @@ -497,7 +491,7 @@ struct iob #define ACTION_CRUNCH_CLIENT_HEADER 0x00200000UL /** Action bitmap: Enable text mode by force */ #define ACTION_FORCE_TEXT_MODE 0x00400000UL -/** Action bitmap: Enable text mode by force */ +/** Action bitmap: Remove the "If-None-Match" header. */ #define ACTION_CRUNCH_IF_NONE_MATCH 0x00800000UL /** Action bitmap: Enable content-disposition crunching */ #define ACTION_HIDE_CONTENT_DISPOSITION 0x01000000UL @@ -507,6 +501,8 @@ struct iob #define ACTION_HIDE_ACCEPT_LANGUAGE 0x04000000UL /** Action bitmap: Limit the cookie lifetime */ #define ACTION_LIMIT_COOKIE_LIFETIME 0x08000000UL +/** Action bitmap: Delay writes */ +#define ACTION_DELAY_RESPONSE 0x10000000UL /** Action string index: How to deanimate GIFs */ @@ -547,8 +543,10 @@ struct iob #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 +/** Action string index: how many milliseconds writes should be delayed. */ +#define ACTION_STRING_DELAY_RESPONSE 19 /** Number of string actions. */ -#define ACTION_STRING_COUNT 19 +#define ACTION_STRING_COUNT 20 /* To make the ugly hack in sed easier to understand */ @@ -861,6 +859,12 @@ struct reusable_connection */ #define CSP_FLAG_CRUNCHED 0x04000000U +#ifdef FUZZ +/** + * Flag for csp->flags: Set if we are working with fuzzed input + */ +#define CSP_FLAG_FUZZED_INPUT 0x08000000U +#endif /* * Flags for use in return codes of child processes @@ -947,6 +951,12 @@ struct client_state /** An I/O buffer used for buffering data read from the client */ struct iob client_iob[1]; + /** Buffer used to briefly store data read from the network + * before forwarding or processing it. + */ + char *receive_buffer; + size_t receive_buffer_size; + /** List of all headers for this request */ struct list headers[1]; @@ -1293,6 +1303,9 @@ struct configuration_spec /** The directory for customized CGI templates. */ const char *templdir; + /** "Cross-origin resource sharing" (CORS) allowed origin */ + const char *cors_allowed_origin; + #ifdef FEATURE_EXTERNAL_FILTERS /** The template used to create temporary files. */ const char *temporary_directory; @@ -1331,12 +1344,26 @@ struct configuration_spec /** IP addresses to bind to. Defaults to HADDR_DEFAULT == 127.0.0.1. */ const char *haddr[MAX_LISTENING_SOCKETS]; + /** Trusted referring site that can be used to reach CGI + * pages that aren't marked as harmful. + */ + const char *trusted_cgi_referrer; + /** Ports to bind to. Defaults to HADDR_PORT == 8118. */ int hport[MAX_LISTENING_SOCKETS]; /** Size limit for IOB */ size_t buffer_limit; + /** Size of the receive buffer */ + size_t receive_buffer_size; + + /** Use accf_http(4) if available */ + int enable_accept_filter; + + /** Backlog passed to listen() */ + int listen_backlog; + #ifdef FEATURE_TRUST /** The file name of the trust file. */