X-Git-Url: http://www.privoxy.org/gitweb/?p=privoxy.git;a=blobdiff_plain;f=project.h;h=1fc0bd4ced49e59bda556fe831b14ab25d9ad7fd;hp=f3aa09cc535f746f7968cd2350a7233d4f5595a5;hb=9c070f54df677ce76d49a071bc288765be940ce7;hpb=d6f6d40eb51a7a7f491c5c027f83bbd7f44c009f diff --git a/project.h b/project.h index f3aa09cc..1fc0bd4c 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.212 2016/01/16 12:30:43 fabiankeil Exp $" +#define PROJECT_H_VERSION "$Id: project.h,v 1.219 2017/01/23 16:10:28 fabiankeil Exp $" /********************************************************************* * * File : $Source: /cvsroot/ijbswa/current/project.h,v $ @@ -53,7 +53,6 @@ # include # else # include -# include # include typedef unsigned short in_port_t; # endif @@ -498,7 +497,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 @@ -862,6 +861,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 @@ -927,6 +932,10 @@ struct client_state unsigned long ip_addr_long; #endif /* def HAVE_RFC2553 */ + /** The host name and port (as a string of the form ':') + of the server socket to which the client connected. */ + char *listen_addr_str; + /** The URL that was requested */ struct http_request http[1]; @@ -953,6 +962,12 @@ struct client_state #ifdef FEATURE_CLIENT_TAGS /** List of all tags that apply to this client (assigned based on address) */ struct list client_tags[1]; + /** The address of the client the request (presumably) came from. + * Either the address returned by accept(), or the address provided + * with the X-Forwarded-For header, provided Privoxy has been configured + * to use it. + */ + char *client_address; #endif /** MIME-Type key, see CT_* above */ @@ -1322,6 +1337,11 @@ 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]; @@ -1347,6 +1367,7 @@ struct configuration_spec /* Maximum number of seconds a temporarily enabled tag stays enabled. */ unsigned int client_tag_lifetime; #endif /* def FEATURE_CLIENT_TAGS */ + int trust_x_forwarded_for; #ifdef FEATURE_ACL @@ -1412,7 +1433,7 @@ struct configuration_spec */ /** URL for the Privoxy home page. */ -#define HOME_PAGE_URL "http://www.privoxy.org/" +#define HOME_PAGE_URL "https://www.privoxy.org/" /** URL for the Privoxy user manual. */ #define USER_MANUAL_URL HOME_PAGE_URL VERSION "/user-manual/"