X-Git-Url: http://www.privoxy.org/gitweb/?a=blobdiff_plain;f=project.h;h=b203ad33da2859057aac456d8f4b2f86b94795d8;hb=4d563db5b4a18bf40e12047f29572c91f2e2465f;hp=ffe6d0ae70e811c94202336e26c014cf7fe9b7b5;hpb=07f84edf9d548be367a5525f38e8ffe7f64353eb;p=privoxy.git diff --git a/project.h b/project.h index ffe6d0ae..b203ad33 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 */ @@ -95,12 +94,38 @@ */ #ifdef STATIC_PCRE +#ifdef HAVE_PCRE2 +# include "pcre2.h" +# include "pcre2posix.h" +#else # include "pcre.h" +# include "pcreposix.h" +#endif #else -# ifdef PCRE_H_IN_SUBDIR -# include +# ifdef HAVE_PCRE2 +# ifdef PCRE2_H_IN_SUBDIR +# define PCRE2_CODE_UNIT_WIDTH 8 +# include +# else +# define PCRE2_CODE_UNIT_WIDTH 8 +# include +# endif +# ifdef PCRE2POSIX_H_IN_SUBDIR +# include +# else +# include +# endif # else -# include +# ifdef PCRE_H_IN_SUBDIR +# include +# else +# include +# endif +# ifdef PCREPOSIX_H_IN_SUBDIR +# include +# else +# include +# endif # endif #endif @@ -110,16 +135,6 @@ # include #endif -#ifdef STATIC_PCRE -# include "pcreposix.h" -#else -# ifdef PCRE_H_IN_SUBDIR -# include -# else -# include -# endif -#endif - #ifdef _WIN32 /* * I don't want to have to #include all this just for the declaration @@ -363,7 +378,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 @@ -405,10 +420,16 @@ struct http_response enum crunch_reason crunch_reason; /**< Why the response was generated in the first place. */ }; +#ifdef HAVE_PCRE2 +#define REGEX_TYPE pcre2_code +#else +#define REGEX_TYPE regex_t +#endif + struct url_spec { #ifdef FEATURE_PCRE_HOST_PATTERNS - regex_t *host_regex;/**< Regex for host matching */ + REGEX_TYPE *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) */ @@ -418,7 +439,7 @@ struct url_spec char *port_list; /**< List of acceptable ports, or NULL to match all ports */ - regex_t *preg; /**< Regex for matching path part */ + REGEX_TYPE *preg; /**< Regex for matching path part */ }; /** @@ -433,7 +454,7 @@ struct pattern_spec union { struct url_spec url_spec; - regex_t *tag_regex; + REGEX_TYPE *tag_regex; } pattern; unsigned int flags; /**< Bitmap with various pattern properties. */ @@ -643,8 +664,10 @@ struct iob #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 +/** Index into current_action_spec::multi[] for client body taggers to apply. */ +#define ACTION_MULTI_CLIENT_BODY_TAGGER 9 /** Number of multi-string actions. */ -#define ACTION_MULTI_COUNT 9 +#define ACTION_MULTI_COUNT 10 /** @@ -1297,16 +1320,18 @@ enum filter_type FT_SERVER_HEADER_TAGGER = 4, FT_SUPPRESS_TAG = 5, FT_CLIENT_BODY_FILTER = 6, + FT_CLIENT_BODY_TAGGER = 7, + FT_ADD_HEADER = 8, #ifdef FEATURE_EXTERNAL_FILTERS - FT_EXTERNAL_CONTENT_FILTER = 7, + FT_EXTERNAL_CONTENT_FILTER = 9, #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 /** @@ -1572,16 +1597,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; @@ -1590,7 +1615,7 @@ struct configuration_spec char *cipher_list; /** Filename of trusted CAs certificates **/ - char * trusted_cas_file; + char *trusted_cas_file; #endif };