#define HASH_OF_HOST_BUF_SIZE 16
#endif /* FEATURE_HTTPS_INSPECTION */
-#ifdef FEATURE_PTHREAD
-# include <pthread.h>
- typedef pthread_mutex_t privoxy_mutex_t;
-#else
-# ifdef _WIN32
-# include <windows.h>
-# endif
- typedef CRITICAL_SECTION privoxy_mutex_t;
-#endif
-
#ifdef FEATURE_HTTPS_INSPECTION_MBEDTLS
#include "mbedtls/net_sockets.h"
#include "mbedtls/entropy.h"
#endif /* FEATURE_HTTPS_INSPECTION_MBEDTLS */
#ifdef FEATURE_HTTPS_INSPECTION_OPENSSL
+#ifdef _WIN32
+#include <wincrypt.h>
+#undef X509_NAME
+#undef X509_EXTENSIONS
+#endif
#include <openssl/ssl.h>
#include <openssl/bio.h>
#include <openssl/err.h>
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;
* 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 */
#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
/**
enum forwarder_type forwarder_type;
char *gateway_host;
int gateway_port;
+ char *auth_username;
+ char *auth_password;
+
char *forward_host;
int forward_port;
};
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
/**
/** 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
* 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 */