X-Git-Url: http://www.privoxy.org/gitweb/?a=blobdiff_plain;f=project.h;h=191fe355dacd9df0ac0d7e4d3d9e6faa17a4f3ce;hb=32ba28b1225c54c850c48814b018e7afcffbd0a5;hp=43792dde54f315fd706fb411fecebe1fd905c3fb;hpb=d718332b42f884d9c3c2fd0cfa9b83f4973c6971;p=privoxy.git diff --git a/project.h b/project.h index 43792dde..191fe355 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" @@ -421,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 */ + 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. */ - 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 */ @@ -651,8 +641,10 @@ struct iob #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 8 +#define ACTION_MULTI_COUNT 9 /** @@ -1271,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; @@ -1302,17 +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_SUPPRESS_TAG = 6, FT_INVALID_FILTER = 42, }; #ifdef FEATURE_EXTERNAL_FILTERS -#define MAX_FILTER_TYPES 7 +#define MAX_FILTER_TYPES 8 #else -#define MAX_FILTER_TYPES 6 +#define MAX_FILTER_TYPES 7 #endif /** @@ -1442,6 +1435,9 @@ struct configuration_spec /** 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; @@ -1573,9 +1569,6 @@ struct configuration_spec /** 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;