X-Git-Url: http://www.privoxy.org/gitweb/?p=privoxy.git;a=blobdiff_plain;f=project.h;h=39fd39ec6d885009bd7bb040b053690b410fb36b;hp=0999e80d0852d2ba4e1ae9d6230187c9ba349891;hb=2a598dfd8322f7cd79d1ea3022b42050ce7c56d1;hpb=f9b953ed3f2bc2de510352e56dfbf91efd19ac7e diff --git a/project.h b/project.h index 0999e80d..39fd39ec 100644 --- a/project.h +++ b/project.h @@ -54,16 +54,6 @@ #define HASH_OF_HOST_BUF_SIZE 16 #endif /* FEATURE_HTTPS_INSPECTION */ -#ifdef FEATURE_PTHREAD -# include - typedef pthread_mutex_t privoxy_mutex_t; -#else -# ifdef _WIN32 -# include -# endif - typedef CRITICAL_SECTION privoxy_mutex_t; -#endif - #ifdef FEATURE_HTTPS_INSPECTION_MBEDTLS #include "mbedtls/net_sockets.h" #include "mbedtls/entropy.h" @@ -75,6 +65,11 @@ #endif /* FEATURE_HTTPS_INSPECTION_MBEDTLS */ #ifdef FEATURE_HTTPS_INSPECTION_OPENSSL +#ifdef _WIN32 +#include +#undef X509_NAME +#undef X509_EXTENSIONS +#endif #include #include #include @@ -306,6 +301,7 @@ typedef struct { mbedtls_x509_crt server_cert; mbedtls_x509_crt ca_cert; mbedtls_pk_context prim_key; + int *ciphersuites_list; #if defined(MBEDTLS_SSL_CACHE_C) mbedtls_ssl_cache_context cache; @@ -318,7 +314,7 @@ typedef struct { * Struct of attributes necessary for TLS/SSL connection */ typedef struct { - SSL_CTX* ctx; + SSL_CTX *ctx; BIO *bio; } openssl_connection_attr; #endif /* FEATURE_HTTPS_INSPECTION_OPENSSL */ @@ -488,13 +484,6 @@ struct iob }; -/** - * Return the number of bytes in the I/O buffer associated with the passed - * I/O buffer. May be zero. - */ -#define IOB_PEEK(IOB) ((IOB->cur > IOB->eod) ? (IOB->eod - IOB->cur) : 0) - - /* Bits for csp->content_type bitmask: */ #define CT_TEXT 0x0001U /**< Suitable for pcrs filtering. */ #define CT_GIF 0x0002U /**< Suitable for GIF filtering. */ @@ -650,8 +639,12 @@ struct iob #define ACTION_MULTI_SERVER_HEADER_TAGGER 5 /** Number of multi-string actions. */ #define ACTION_MULTI_EXTERNAL_FILTER 6 +/** Index into current_action_spec::multi[] for tags to suppress. */ +#define ACTION_MULTI_SUPPRESS_TAG 7 +/** Index into current_action_spec::multi[] for client body filters to apply. */ +#define ACTION_MULTI_CLIENT_BODY_FILTER 8 /** Number of multi-string actions. */ -#define ACTION_MULTI_COUNT 7 +#define ACTION_MULTI_COUNT 9 /** @@ -773,6 +766,9 @@ struct reusable_connection enum forwarder_type forwarder_type; char *gateway_host; int gateway_port; + char *auth_username; + char *auth_password; + char *forward_host; int forward_port; }; @@ -1298,16 +1294,18 @@ enum filter_type FT_SERVER_HEADER_FILTER = 2, FT_CLIENT_HEADER_TAGGER = 3, FT_SERVER_HEADER_TAGGER = 4, + FT_SUPPRESS_TAG = 5, + FT_CLIENT_BODY_FILTER = 6, #ifdef FEATURE_EXTERNAL_FILTERS - FT_EXTERNAL_CONTENT_FILTER = 5, + FT_EXTERNAL_CONTENT_FILTER = 7, #endif FT_INVALID_FILTER = 42, }; #ifdef FEATURE_EXTERNAL_FILTERS -#define MAX_FILTER_TYPES 6 +#define MAX_FILTER_TYPES 8 #else -#define MAX_FILTER_TYPES 5 +#define MAX_FILTER_TYPES 7 #endif /** @@ -1587,6 +1585,9 @@ struct configuration_spec /** Directory for saving certificates and keys for each webpage **/ char *certificate_directory; + /** Cipher list to use **/ + char *cipher_list; + /** Filename of trusted CAs certificates **/ char * trusted_cas_file; #endif @@ -1640,8 +1641,13 @@ struct configuration_spec * The prefix for CGI pages. Written out in generated HTML. * INCLUDES the trailing slash. */ +#ifdef FEATURE_HTTPS_INSPECTION +#define CGI_PREFIX "//" CGI_SITE_2_HOST CGI_SITE_2_PATH "/" +#define CGI_PREFIX_HTTPS "https:" CGI_PREFIX +#else #define CGI_PREFIX "http://" CGI_SITE_2_HOST CGI_SITE_2_PATH "/" -#define CGI_PREFIX_HTTPS "https://" CGI_SITE_2_HOST CGI_SITE_2_PATH "/" +#endif +#define CGI_PREFIX_HTTP "http://" CGI_SITE_2_HOST CGI_SITE_2_PATH "/" #endif /* ndef PROJECT_H_INCLUDED */