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 */
#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
/**
char *host;
int port;
enum forwarder_type forwarder_type;
- char *gateway_host;
+ char *forward_host;
+ int forward_port;
+
int gateway_port;
+ char *gateway_host;
char *auth_username;
char *auth_password;
- char *forward_host;
- int forward_port;
};
/** 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;
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
/**
/** 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;
/** 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;