projects
/
privoxy.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Reorder need_bind in struct configuration_spec to save memory
[privoxy.git]
/
project.h
diff --git
a/project.h
b/project.h
index
6821aa0
..
eeed8bc
100644
(file)
--- a/
project.h
+++ b/
project.h
@@
-54,16
+54,6
@@
#define HASH_OF_HOST_BUF_SIZE 16
#endif /* FEATURE_HTTPS_INSPECTION */
#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"
#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
#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>
#include <openssl/ssl.h>
#include <openssl/bio.h>
#include <openssl/err.h>
@@
-306,6
+301,7
@@
typedef struct {
mbedtls_x509_crt server_cert;
mbedtls_x509_crt ca_cert;
mbedtls_pk_context prim_key;
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;
#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 {
* 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 */
BIO *bio;
} openssl_connection_attr;
#endif /* FEATURE_HTTPS_INSPECTION_OPENSSL */
@@
-415,9
+411,9
@@
struct url_spec
regex_t *host_regex;/**< Regex for host matching */
enum host_regex_type { VANILLA_HOST_PATTERN, PCRE_HOST_PATTERN } host_regex_type;
#endif /* defined FEATURE_PCRE_HOST_PATTERNS */
regex_t *host_regex;/**< Regex for host matching */
enum host_regex_type { VANILLA_HOST_PATTERN, PCRE_HOST_PATTERN } host_regex_type;
#endif /* defined FEATURE_PCRE_HOST_PATTERNS */
+ int dcount; /**< How many parts to this domain? (length of dvec) */
char *dbuffer; /**< Buffer with '\0'-delimited domain name, or NULL to match all hosts. */
char **dvec; /**< List of pointers to the strings in dbuffer. */
char *dbuffer; /**< Buffer with '\0'-delimited domain name, or NULL to match all hosts. */
char **dvec; /**< List of pointers to the strings in dbuffer. */
- int dcount; /**< How many parts to this domain? (length of dvec) */
int unanchored; /**< Bitmap - flags are ANCHOR_LEFT and ANCHOR_RIGHT. */
char *port_list; /**< List of acceptable ports, or NULL to match all ports */
int unanchored; /**< Bitmap - flags are ANCHOR_LEFT and ANCHOR_RIGHT. */
char *port_list; /**< List of acceptable ports, or NULL to match all ports */
@@
-643,8
+639,12
@@
struct iob
#define ACTION_MULTI_SERVER_HEADER_TAGGER 5
/** Number of multi-string actions. */
#define ACTION_MULTI_EXTERNAL_FILTER 6
#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. */
/** Number of multi-string actions. */
-#define ACTION_MULTI_COUNT
7
+#define ACTION_MULTI_COUNT
9
/**
/**
@@
-766,6
+766,9
@@
struct reusable_connection
enum forwarder_type forwarder_type;
char *gateway_host;
int gateway_port;
enum forwarder_type forwarder_type;
char *gateway_host;
int gateway_port;
+ char *auth_username;
+ char *auth_password;
+
char *forward_host;
int forward_port;
};
char *forward_host;
int forward_port;
};
@@
-1291,16
+1294,18
@@
enum filter_type
FT_SERVER_HEADER_FILTER = 2,
FT_CLIENT_HEADER_TAGGER = 3,
FT_SERVER_HEADER_TAGGER = 4,
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
#ifdef FEATURE_EXTERNAL_FILTERS
- FT_EXTERNAL_CONTENT_FILTER =
5
,
+ FT_EXTERNAL_CONTENT_FILTER =
7
,
#endif
FT_INVALID_FILTER = 42,
};
#ifdef FEATURE_EXTERNAL_FILTERS
#endif
FT_INVALID_FILTER = 42,
};
#ifdef FEATURE_EXTERNAL_FILTERS
-#define MAX_FILTER_TYPES
6
+#define MAX_FILTER_TYPES
8
#else
#else
-#define MAX_FILTER_TYPES
5
+#define MAX_FILTER_TYPES
7
#endif
/**
#endif
/**
@@
-1430,6
+1435,9
@@
struct configuration_spec
/** Bitmask of features that can be controlled through the config file. */
unsigned feature_flags;
/** Bitmask of features that can be controlled through the config file. */
unsigned feature_flags;
+ /** Nonzero if we need to bind() to the new port. */
+ int need_bind;
+
/** The log file name. */
const char *logfile;
/** The log file name. */
const char *logfile;
@@
-1561,9
+1569,6
@@
struct configuration_spec
/** List of loaders */
int (*loaders[NLOADERS])(struct client_state *);
/** List of loaders */
int (*loaders[NLOADERS])(struct client_state *);
- /** Nonzero if we need to bind() to the new port. */
- int need_bind;
-
#ifdef FEATURE_HTTPS_INSPECTION
/** Password for proxy ca file **/
char * ca_password;
#ifdef FEATURE_HTTPS_INSPECTION
/** Password for proxy ca file **/
char * ca_password;
@@
-1580,6
+1585,9
@@
struct configuration_spec
/** Directory for saving certificates and keys for each webpage **/
char *certificate_directory;
/** 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
/** Filename of trusted CAs certificates **/
char * trusted_cas_file;
#endif
@@
-1633,8
+1641,13
@@
struct configuration_spec
* The prefix for CGI pages. Written out in generated HTML.
* INCLUDES the trailing slash.
*/
* 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 "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 */
#endif /* ndef PROJECT_H_INCLUDED */