X-Git-Url: http://www.privoxy.org/gitweb/?p=privoxy.git;a=blobdiff_plain;f=filters.h;h=54873afcc28f885135b00f82fd5a16b180bdcafb;hp=e64e5d0d2700236ac97dee709f51e5151ae31127;hb=caacb81062e2e3152231c09c9da62a31e4efc170;hpb=f67b3326138f428863c21c7738e0c8db87fa6f5c diff --git a/filters.h b/filters.h index e64e5d0d..54873afc 100644 --- a/filters.h +++ b/filters.h @@ -1,19 +1,13 @@ #ifndef FILTERS_H_INCLUDED #define FILTERS_H_INCLUDED -#define FILTERS_H_VERSION "$Id: filters.h,v 1.47 2016/03/17 10:40:53 fabiankeil Exp $" /********************************************************************* * * File : $Source: /cvsroot/ijbswa/current/filters.h,v $ * * Purpose : Declares functions to parse/crunch headers and pages. - * Functions declared include: - * `acl_addr', `add_stats', `block_acl', `block_imageurl', - * `block_url', `url_actions', `filter_popups', `forward_url' - * `ij_untrusted_url', `intercept_url', `re_process_buffer', - * `show_proxy_args', and `trust_url' * * Copyright : Written by and Copyright (C) 2001-2010 the - * Privoxy team. http://www.privoxy.org/ + * Privoxy team. https://www.privoxy.org/ * * Based on the Internet Junkbuster originally written * by and Copyright (C) 1997 Anonymous Coders and @@ -90,14 +84,17 @@ extern const struct forward_spec *forward_url(struct client_state *csp, * Content modification */ extern char *execute_content_filters(struct client_state *csp); +extern int execute_client_body_filters(struct client_state *csp, size_t *content_length); +extern jb_err execute_client_body_taggers(struct client_state *csp, size_t content_length); extern char *execute_single_pcrs_command(char *subject, const char *pcrs_command, int *hits); extern char *rewrite_url(char *old_url, const char *pcrs_command); -extern char *get_last_url(char *subject, const char *redirect_mode); extern pcrs_job *compile_dynamic_pcrs_job_list(const struct client_state *csp, const struct re_filterfile_spec *b); extern int content_requires_filtering(struct client_state *csp); extern int content_filters_enabled(const struct current_action_spec *action); +extern int client_body_filters_enabled(const struct current_action_spec *action); +extern int client_body_taggers_enabled(const struct current_action_spec *action); extern int filters_available(const struct client_state *csp); /* @@ -105,17 +102,27 @@ extern int filters_available(const struct client_state *csp); */ extern struct http_response *direct_response(struct client_state *csp); -/* - * Revision control strings from this header and associated .c file - */ -extern const char filters_rcs[]; -extern const char filters_h_rcs[]; +extern int get_bytes_missing_from_chunked_data(char *buffer, size_t size, size_t offset); +extern int chunked_data_is_complete(char *buffer, size_t size, size_t offset); #ifdef FUZZ extern char *gif_deanimate_response(struct client_state *csp); extern jb_err remove_chunked_transfer_coding(char *buffer, size_t *size); #endif +#ifdef FEATURE_EXTENDED_STATISTICS +extern void register_filter_for_statistics(const char *filter); +extern void update_filter_statistics(const char *filter, int hits); +extern void get_filter_statistics(const char *filter, + unsigned long long *executions, + unsigned long long *pages_modified, + unsigned long long *hits); + +extern void register_block_reason_for_statistics(const char *block_reason); +extern void get_block_reason_count(const char *block_reason, + unsigned long long *count); +#endif + #endif /* ndef FILTERS_H_INCLUDED */ /*