Add regex_matches() to reduce HAVE_PCRE2 ifdefs
Add pcre2 support This is currently expected to cause crashes on Windows when compiled with GUI support. Closes bug #935. Initial patch submitted by: Gagan Sidhu
Add a client-body-tagger action ... which creates tags based on the content of the request body. Sponsored by: Robert Klemme
Allow to edit the add-header action through the CGI editor .. by generalizing the code that got added with the suppress-tag action. Closes: SF patch request #146
Fix comment typos
Add support for filering client request bodies ... by using CLIENT-BODY-FILTER filters which can be enabled with the client-body-filter action.
Add the new action suppress-tag{} Usage: in user.filters: --begin-- CLIENT-HEADER-TAGGER: maximum-url-length Tag for URLS longer than 600 characters. s@(^GET\s+\/.{600,}\s+HTTP\/\d\.\d\s*$)@MAXIMUM-URL-LENGTH@i --end-- in user.actions: --begin-- {+client-header-tagger{maximum-url-length}} / {+block{Maximum URL length of 600 bytes reached.}} TAG:^MAXIMUM-URL-LENGTH {+suppress-tag{MAXIMUM-URL-LENGTH}} .google.* --end-- will block all URLs with length > 600 bytes except for google. Currently the online action editor supports modification/removal of any number of existing tags and the creation of a single suppress tag per one submit. The submit scheme that is used is similar to the existing filter one but: 1. It uses 'string_filter[_r|_n|_o|_t][hex_index]' keys for existing string filter values (id/name(value)/old_name(old value)/filter type) and 'new_string_filter[_r|_n|_t][hex_index]' for new string filter values. 'String filter values' here are parameters of the suppress-tag action that are simple strings rather than parameters of, for example, the client-header-tagger action that must be described in filters file. 2. String filter values are accessed by the value rather by the index. Indexes must start from 0 and when there is no key with index+1 in parameters - we've done with existing or new string filters processing. Possible further improvements: 1. Extend suppress-tag action edit scheme to add-header action edit that is not supported now. 2. If needed, multiple suppress-tag addition can be added with some browser JS code. Sponsored by: Robert Klemme
Fix comment typo
Gather statistics for block reasons ... if FEATURE_EXTENDED_STATISTICS is enabled. Sponsored by: Robert Klemme
Upgrade a bunch of links to the homepage to https://
Remove show_rcs() and the CVS ids it relied upon
Add a --fuzz option ... which exposes Privoxy internals to input from files or stdout. Mainly tested with American Fuzzy Lop. For details see: https://www.fabiankeil.de/talks/fuzzing-on-freebsd/ This work was partially funded with donations and done as part of the Privoxy month in 2015. Hohoho.
When complaining about missing filters, mention the filter type
Start using zalloc_or_die() While at it, get rid of lots of pointless explicit casts.
Bump copyright year
load_one_actions_file(): Prevent invalid read if the buffer is too short Found with afl-fuzz and AddressSanitizer.
get_actions(): Detect and reject parameters for parameter-less actions Previously they were silently ignored.
Fix a comment typo
Use get_filter() in referenced_filters_are_missing()
Rename (create|free)_url_spec() to _pattern_spec() They deal with all kinds of patterns now.