X-Git-Url: http://www.privoxy.org/gitweb/?p=privoxy.git;a=blobdiff_plain;f=project.h;h=527a86887ef67fc7bb4baaabeeb5d491bc98b8fd;hp=eeed8bc47747091566089d128835ba88afbef8ca;hb=157312a27ddadfdca91ccd1ed4b7b6e300ca5e9b;hpb=66b1e23830d60ea98b0ba2ac5644ef24a45f9c55 diff --git a/project.h b/project.h index eeed8bc4..527a8688 100644 --- a/project.h +++ b/project.h @@ -8,7 +8,7 @@ * project. Does not define any variables or functions * (though it does declare some macros). * - * Copyright : Written by and Copyright (C) 2001-2014 the + * Copyright : Written by and Copyright (C) 2001-2021 the * Privoxy team. https://www.privoxy.org/ * * Based on the Internet Junkbuster originally written @@ -49,7 +49,6 @@ * Macros for SSL structures */ #define CERT_INFO_BUF_SIZE 4096 -#define CERT_FILE_BUF_SIZE 16384 #define ISSUER_NAME_BUF_SIZE 2048 #define HASH_OF_HOST_BUF_SIZE 16 #endif /* FEATURE_HTTPS_INSPECTION */ @@ -335,11 +334,10 @@ struct http_request char *version; /**< Protocol version */ int status; /**< HTTP Status */ - char *host; /**< Host part of URL */ int port; /**< Port of URL or 80 (default) */ + char *host; /**< Host part of URL */ char *path; /**< Path of URL */ char *hostport; /**< host[:port] */ - int ssl; /**< Flag if protocol is https */ char *host_ip_addr_str; /**< String with dotted decimal representation of host's IP. NULL before connect_to() */ @@ -354,6 +352,7 @@ struct http_request unsigned char hash_of_host_hex[(HASH_OF_HOST_BUF_SIZE * 2) + 1]; /**< chars for hash in hex string and one for '\0' */ unsigned char hash_of_host[HASH_OF_HOST_BUF_SIZE+1]; /**< chars for bytes of hash and one for '\0' */ #endif + short int ssl; /**< Flag if protocol is https */ }; @@ -363,7 +362,7 @@ struct http_request */ typedef struct certs_chain { char info_buf[CERT_INFO_BUF_SIZE]; /* text info about properties of certificate */ - char file_buf[CERT_FILE_BUF_SIZE]; /* buffer for whole certificate - format to save in file */ + char *file_buf; /* buffer for whole certificate - format to save in file */ struct certs_chain *next; /* next certificate in chain of trust */ } certs_chain_t; #endif @@ -764,13 +763,14 @@ struct reusable_connection char *host; int port; enum forwarder_type forwarder_type; - char *gateway_host; + char *forward_host; + int forward_port; + int gateway_port; + char *gateway_host; char *auth_username; char *auth_password; - char *forward_host; - int forward_port; }; @@ -1004,6 +1004,9 @@ struct client_state /** Multi-purpose flag container, see CSP_FLAG_* above */ unsigned int flags; + /** MIME-Type key, see CT_* above */ + unsigned int content_type; + /** Client PC's IP address, as reported by the accept() function. As a string. */ char *ip_addr_str; @@ -1069,9 +1072,6 @@ struct client_state char *client_address; #endif - /** MIME-Type key, see CT_* above */ - unsigned int content_type; - /** Actions files associated with this client */ struct file_list *actions_list[MAX_AF_FILES]; @@ -1134,8 +1134,8 @@ struct client_state * Thanks to this flags, we can call function to close both connections * and we don't have to care about more details. */ - int ssl_with_server_is_opened; - int ssl_with_client_is_opened; + short int ssl_with_server_is_opened; + short int ssl_with_client_is_opened; /* * Server certificate chain of trust including strings with certificates @@ -1263,12 +1263,12 @@ struct forward_spec /** Connection type. Must be SOCKS_NONE, SOCKS_4, SOCKS_4A or SOCKS_5. */ enum forwarder_type type; - /** SOCKS server hostname. Only valid if "type" is SOCKS_4 or SOCKS_4A. */ - char *gateway_host; - /** SOCKS server port. */ int gateway_port; + /** SOCKS server hostname. Only valid if "type" is SOCKS_4 or SOCKS_4A. */ + char *gateway_host; + /** SOCKS5 username. */ char *auth_username; @@ -1296,16 +1296,17 @@ enum filter_type FT_SERVER_HEADER_TAGGER = 4, FT_SUPPRESS_TAG = 5, FT_CLIENT_BODY_FILTER = 6, + FT_ADD_HEADER = 7, #ifdef FEATURE_EXTERNAL_FILTERS - FT_EXTERNAL_CONTENT_FILTER = 7, + FT_EXTERNAL_CONTENT_FILTER = 8, #endif FT_INVALID_FILTER = 42, }; #ifdef FEATURE_EXTERNAL_FILTERS -#define MAX_FILTER_TYPES 8 +#define MAX_FILTER_TYPES 9 #else -#define MAX_FILTER_TYPES 7 +#define MAX_FILTER_TYPES 8 #endif /** @@ -1357,7 +1358,7 @@ struct access_control_list struct access_control_addr src[1]; /**< Client IP address */ struct access_control_addr dst[1]; /**< Website or parent proxy IP address */ #ifdef HAVE_RFC2553 - int wildcard_dst; /** < dst address is wildcard */ + short wildcard_dst; /** < dst address is wildcard */ #endif short action; /**< ACL_PERMIT or ACL_DENY */ @@ -1571,16 +1572,16 @@ struct configuration_spec #ifdef FEATURE_HTTPS_INSPECTION /** Password for proxy ca file **/ - char * ca_password; + char *ca_password; /** Directory with files of ca **/ char *ca_directory; /** Filename of ca certificate **/ - char * ca_cert_file; + char *ca_cert_file; /** Filename of ca key **/ - char * ca_key_file; + char *ca_key_file; /** Directory for saving certificates and keys for each webpage **/ char *certificate_directory; @@ -1589,7 +1590,7 @@ struct configuration_spec char *cipher_list; /** Filename of trusted CAs certificates **/ - char * trusted_cas_file; + char *trusted_cas_file; #endif };