privoxy.git
9 years agoMove a pattern below its tests
Fabian Keil [Mon, 14 Jul 2014 13:01:02 +0000 (13:01 +0000)]
Move a pattern below its tests

9 years agoAdd an external filter example to add '[citation needed]' tags to images
Fabian Keil [Mon, 14 Jul 2014 13:00:07 +0000 (13:00 +0000)]
Add an external filter example to add '[citation needed]' tags to images

Finding images where this may make sense and the coordinates
fit is left as an excercise for the reader.

9 years agoUse a custom redirect{} for .washingtonpost.com/wp-apps/imrs\.php\?src=
Fabian Keil [Mon, 14 Jul 2014 12:57:00 +0000 (12:57 +0000)]
Use a custom redirect{} for .washingtonpost.com/wp-apps/imrs\.php\?src=

Previously enabling the 'Advanced' settings (or manually enabling
+fast-redirects{}) prevented some images from being loaded properly.

As a side effect this commit expands Oleg's reach even further.

9 years agoNote that security issues shouldn't be reported using the bug tracker
Fabian Keil [Mon, 14 Jul 2014 12:56:30 +0000 (12:56 +0000)]
Note that security issues shouldn't be reported using the bug tracker

Add myself as security contact as discussed on ijbswa-devel@
months ago.

9 years agoNote that donations will fund work on the TODO list
Fabian Keil [Thu, 3 Jul 2014 10:19:47 +0000 (10:19 +0000)]
Note that donations will fund work on the TODO list

9 years agoAdd #133: Consider allowing bitcoin donations
Fabian Keil [Wed, 25 Jun 2014 10:09:57 +0000 (10:09 +0000)]
Add #133: Consider allowing bitcoin donations

At least one donor is interested in this.

9 years agoAdd #132: Provide a Tor hidden service to reach the Privoxy website
Fabian Keil [Wed, 25 Jun 2014 10:09:07 +0000 (10:09 +0000)]
Add #132: Provide a Tor hidden service to reach the Privoxy website

At least one donor is interested in this, it's not lot of work
and we can eat our own dogfood by putting Privoxy between the
Tor hidden service and the website to rewrite the requests.

9 years agoMark TODO list items with the number of known donors who mentioned being interested...
Fabian Keil [Wed, 25 Jun 2014 10:08:13 +0000 (10:08 +0000)]
Mark TODO list items with the number of known donors who mentioned being interested in them

9 years agoUpdate the status of the curl-related work in progress for #1
Fabian Keil [Wed, 25 Jun 2014 10:03:53 +0000 (10:03 +0000)]
Update the status of the curl-related work in progress for #1

9 years agoVerify that PATCH requests pass the unknown_method() check
Fabian Keil [Fri, 20 Jun 2014 09:49:31 +0000 (09:49 +0000)]
Verify that PATCH requests pass the unknown_method() check

9 years agoBump copyright
Fabian Keil [Fri, 20 Jun 2014 09:47:10 +0000 (09:47 +0000)]
Bump copyright

9 years agoAdd support for the 'PATCH' method as defined in RFC5789
Fabian Keil [Fri, 20 Jun 2014 09:46:56 +0000 (09:46 +0000)]
Add support for the 'PATCH' method as defined in RFC5789

9 years agoRemove a stray '1' in the 'html-annoyances' filter
Fabian Keil [Fri, 20 Jun 2014 09:46:13 +0000 (09:46 +0000)]
Remove a stray '1' in the 'html-annoyances' filter

Regression tests for the win.

9 years agoAdd #131: handle-as-empty-doc-returns-ok should be replaced with an action
Fabian Keil [Mon, 16 Jun 2014 10:17:38 +0000 (10:17 +0000)]
Add #131: handle-as-empty-doc-returns-ok should be replaced with an action

9 years agoClarify that handle-as-empty-doc-returns-ok is still useful
Fabian Keil [Mon, 16 Jun 2014 10:16:53 +0000 (10:16 +0000)]
Clarify that handle-as-empty-doc-returns-ok is still useful

... and will not be removed without replacement

9 years agoAdd #130: Move header_tagger() out of the parser structs
Fabian Keil [Mon, 16 Jun 2014 10:15:32 +0000 (10:15 +0000)]
Add #130: Move header_tagger() out of the parser structs

9 years agoRemove a comment suggesting that normalize_lws()'s log message might be temporary
Fabian Keil [Thu, 12 Jun 2014 13:10:21 +0000 (13:10 +0000)]
Remove a comment suggesting that normalize_lws()'s log message might be temporary

It's rarely seen in the real world and only visible if
header debugging has been enabled anyway.

9 years agoReference RFC 7230 in remove_chunked_transfer_coding()'s description
Fabian Keil [Thu, 12 Jun 2014 13:09:03 +0000 (13:09 +0000)]
Reference RFC 7230 in remove_chunked_transfer_coding()'s description

... and note that the implementation is (still) incomplete.

9 years agoAdd #129: Completely implement RFC 7230 4.1 (Chunked Transfer Coding)
Fabian Keil [Thu, 12 Jun 2014 13:08:42 +0000 (13:08 +0000)]
Add #129: Completely implement RFC 7230 4.1 (Chunked Transfer Coding)

9 years agoRFC 2616 is obsolete, update a comment in redirect_url()
Fabian Keil [Thu, 12 Jun 2014 13:08:25 +0000 (13:08 +0000)]
RFC 2616 is obsolete, update a comment in redirect_url()

9 years agoAdd an external filter example to rotate images
Fabian Keil [Thu, 12 Jun 2014 13:07:19 +0000 (13:07 +0000)]
Add an external filter example to rotate images

9 years agoAdd #128: Add a config directive to control the stack limit.
Fabian Keil [Thu, 12 Jun 2014 13:06:54 +0000 (13:06 +0000)]
Add #128: Add a config directive to control the stack limit.

9 years agoMake it more obvious that +external-filter{} mostly behaves like +filter{}
Fabian Keil [Tue, 3 Jun 2014 10:33:59 +0000 (10:33 +0000)]
Make it more obvious that +external-filter{} mostly behaves like +filter{}

9 years agoLet +external-filter{} only filter "text" by default
Fabian Keil [Tue, 3 Jun 2014 10:33:17 +0000 (10:33 +0000)]
Let +external-filter{} only filter "text" by default

Given that this is what +filter{} does, it's probably
the expected behaviour.

9 years agoLet a couple of format strings use %u for unsigned integers
Fabian Keil [Tue, 3 Jun 2014 10:31:27 +0000 (10:31 +0000)]
Let a couple of format strings use %u for unsigned integers

Fixes cppcheck warnings.

9 years agoAdd another redirect{} example to stress that redirect loops can and should be avoided
Fabian Keil [Tue, 3 Jun 2014 10:30:20 +0000 (10:30 +0000)]
Add another redirect{} example to stress that redirect loops can and should be avoided

9 years agoFix white space
Fabian Keil [Tue, 3 Jun 2014 10:29:40 +0000 (10:29 +0000)]
Fix white space

9 years agoReduce indirection in get_content_type()
Fabian Keil [Tue, 3 Jun 2014 10:29:23 +0000 (10:29 +0000)]
Reduce indirection in get_content_type()

9 years agoUse strdup_or_die() where it makes sense
Fabian Keil [Tue, 3 Jun 2014 10:28:39 +0000 (10:28 +0000)]
Use strdup_or_die() where it makes sense

9 years agoReplace malloc() with malloc_or_die() when the size is puny
Fabian Keil [Tue, 3 Jun 2014 10:27:56 +0000 (10:27 +0000)]
Replace malloc() with malloc_or_die() when the size is puny

9 years agoAccept multi-digit HTTP major and minor versions in highlight_request_line()
Fabian Keil [Tue, 3 Jun 2014 10:26:21 +0000 (10:26 +0000)]
Accept multi-digit HTTP major and minor versions in highlight_request_line()

9 years agoReduce code duplication by setting http->ocmd in parse_http_request()
Fabian Keil [Tue, 3 Jun 2014 10:25:57 +0000 (10:25 +0000)]
Reduce code duplication by setting http->ocmd in parse_http_request()

9 years agoFix a cppcheck complaint in init_error_log()
Fabian Keil [Tue, 3 Jun 2014 10:24:00 +0000 (10:24 +0000)]
Fix a cppcheck complaint in init_error_log()

Superfluous write to 'this_thread'.

9 years agoAdd #127: Add "real" CGI support
Fabian Keil [Mon, 2 Jun 2014 07:23:14 +0000 (07:23 +0000)]
Add #127: Add "real" CGI support

9 years agoRemove #57 as it's done
Fabian Keil [Mon, 2 Jun 2014 07:22:40 +0000 (07:22 +0000)]
Remove #57 as it's done

9 years agoRebuild HTML docs for external filters
Fabian Keil [Mon, 2 Jun 2014 06:24:51 +0000 (06:24 +0000)]
Rebuild HTML docs for external filters

9 years agoRebuild config
Fabian Keil [Mon, 2 Jun 2014 06:23:23 +0000 (06:23 +0000)]
Rebuild config

9 years agoBump copyright
Fabian Keil [Mon, 2 Jun 2014 06:22:22 +0000 (06:22 +0000)]
Bump copyright

9 years agoAdd documentation for external filters
Fabian Keil [Mon, 2 Jun 2014 06:20:51 +0000 (06:20 +0000)]
Add documentation for external filters

9 years agoAdd support for external filters
Fabian Keil [Mon, 2 Jun 2014 06:19:06 +0000 (06:19 +0000)]
Add support for external filters

... which allow to process the response body with a script
or program written in any language the platform supports.

External filters are enabled with +external-filter{} after
they have been defined in one of the filter files with
a header line starting with "EXTERNAL-FILTER:".

For this to work, a temporary directory has to be specified
using the newly-added temporary-directory directive.

External filters are experimental and not expected to
work on all platforms (yet).

9 years agoRemove a duplicated check for localtime_r()
Fabian Keil [Mon, 2 Jun 2014 05:46:53 +0000 (05:46 +0000)]
Remove a duplicated check for localtime_r()

9 years agoAlso disable HTML filters for responses tagged with application/x-javascript
Fabian Keil [Mon, 2 Jun 2014 05:45:44 +0000 (05:45 +0000)]
Also disable HTML filters for responses tagged with application/x-javascript

9 years agoRebuild HTML docs for 3.0.22 UNSTABLE
Fabian Keil [Mon, 26 May 2014 10:49:19 +0000 (10:49 +0000)]
Rebuild HTML docs for 3.0.22 UNSTABLE

9 years agoBump entities for 3.0.22 UNRELEASED
Fabian Keil [Mon, 26 May 2014 10:48:39 +0000 (10:48 +0000)]
Bump entities for 3.0.22 UNRELEASED

9 years agoResize an array in parse_http_request() to the appropriate size
Fabian Keil [Mon, 26 May 2014 10:48:07 +0000 (10:48 +0000)]
Resize an array in parse_http_request() to the appropriate size

9 years agoDelete #56 as the Co-Advisor accout has been upgraded and update #126
Fabian Keil [Mon, 26 May 2014 10:47:21 +0000 (10:47 +0000)]
Delete #56 as the Co-Advisor accout has been upgraded and update #126

9 years agoDisable HTML filters for responses tagged with text/javascript as well
Fabian Keil [Mon, 26 May 2014 10:47:04 +0000 (10:47 +0000)]
Disable HTML filters for responses tagged with text/javascript as well

9 years agoShorten a comment with duplicated and incomplete information
Fabian Keil [Mon, 26 May 2014 10:46:45 +0000 (10:46 +0000)]
Shorten a comment with duplicated and incomplete information

9 years agoRename STATIC_PCRE to FEATURE_DYNAMIC_PCRE
Fabian Keil [Tue, 20 May 2014 15:02:09 +0000 (15:02 +0000)]
Rename STATIC_PCRE to FEATURE_DYNAMIC_PCRE

... to be more consistent with other feature names.

This change belongs to a previous commit but got lost
after the git export due to human error.

9 years agoActually show the FORCE_PREFIX value on the show-status page
Fabian Keil [Tue, 20 May 2014 11:58:36 +0000 (11:58 +0000)]
Actually show the FORCE_PREFIX value on the show-status page

Unless I miss something, this never worked before.

9 years agoConsistency-cosmetic for cgi_show_status()
Fabian Keil [Tue, 20 May 2014 11:56:08 +0000 (11:56 +0000)]
Consistency-cosmetic for cgi_show_status()

9 years agoBump copyright date
Fabian Keil [Tue, 20 May 2014 11:55:24 +0000 (11:55 +0000)]
Bump copyright date

9 years agoRename STATIC_PCRE to FEATURE_DYNAMIC_PCRE
Fabian Keil [Tue, 20 May 2014 11:55:10 +0000 (11:55 +0000)]
Rename STATIC_PCRE to FEATURE_DYNAMIC_PCRE

... to be more consistent with other feature names.

STATIC_PCRE is still defined as it's expected by the internal
pcre to statically link on Windows.

9 years agoDijkstraize show_defines(): two or more, use a for
Fabian Keil [Tue, 20 May 2014 11:54:24 +0000 (11:54 +0000)]
Dijkstraize show_defines(): two or more, use a for

9 years agoUpdate #56 and add #126: Dealing with the compliance test results
Fabian Keil [Tue, 20 May 2014 11:52:46 +0000 (11:52 +0000)]
Update #56 and add #126: Dealing with the compliance test results

9 years agoFix spelling
Fabian Keil [Tue, 13 May 2014 11:42:20 +0000 (11:42 +0000)]
Fix spelling

9 years agoAdd the hosting wish list relevant for #53
Fabian Keil [Tue, 13 May 2014 11:16:12 +0000 (11:16 +0000)]
Add the hosting wish list relevant for #53

Originally proposed in:
http://sourceforge.net/p/ijbswa/mailman/message/32306540/
Slightly modified to fix spelling errors etc.

9 years agoNote that #56 is work in progress
Fabian Keil [Tue, 13 May 2014 11:15:28 +0000 (11:15 +0000)]
Note that #56 is work in progress

9 years agoTone down #123 a bit
Fabian Keil [Mon, 12 May 2014 10:38:54 +0000 (10:38 +0000)]
Tone down #123 a bit

On second thought it probably makes no sense.

9 years agoClarify which Capsicum #124 is referring to
Fabian Keil [Mon, 12 May 2014 10:37:15 +0000 (10:37 +0000)]
Clarify which Capsicum #124 is referring to

9 years agoFix spelling
Fabian Keil [Sun, 11 May 2014 13:17:49 +0000 (13:17 +0000)]
Fix spelling

9 years agoAdd #125: Allow clients to HTTPS-encrypt the proxy connection.
Fabian Keil [Sun, 11 May 2014 13:17:08 +0000 (13:17 +0000)]
Add #125: Allow clients to HTTPS-encrypt the proxy connection.

9 years agoAdd #124: Add Capsicum support
Fabian Keil [Sun, 11 May 2014 13:16:58 +0000 (13:16 +0000)]
Add #124: Add Capsicum support

9 years agoAdd #123: Allow to decrypt encrypted traffic using Firefox' session keys
Fabian Keil [Sun, 11 May 2014 13:15:53 +0000 (13:15 +0000)]
Add #123: Allow to decrypt encrypted traffic using Firefox' session keys

9 years agoFix a typo and try to clarify two sentences
Fabian Keil [Mon, 5 May 2014 10:08:43 +0000 (10:08 +0000)]
Fix a typo and try to clarify two sentences

9 years agoAdd a missing word
Fabian Keil [Mon, 5 May 2014 10:04:19 +0000 (10:04 +0000)]
Add a missing word

9 years agoLet the msn filter take care of a couple of CSS width restrictions again
Fabian Keil [Mon, 5 May 2014 09:59:51 +0000 (09:59 +0000)]
Let the msn filter take care of a couple of CSS width restrictions again

While at it, let it hide one of the two "related search" boxes.

9 years agoRecommend forward-socks5t when using Tor
Fabian Keil [Mon, 5 May 2014 09:59:30 +0000 (09:59 +0000)]
Recommend forward-socks5t when using Tor

It seems to work fine and modifying the Tor configuration
to profit from it hasn't been necessary for a while now.

9 years agoDynamically linking to PCRS hasn't been supported for years - stop pretending
Fabian Keil [Mon, 5 May 2014 09:55:51 +0000 (09:55 +0000)]
Dynamically linking to PCRS hasn't been supported for years - stop pretending

9 years agoDisable HTML filters if the response was tagged ^application/javascript$
Fabian Keil [Mon, 5 May 2014 09:55:25 +0000 (09:55 +0000)]
Disable HTML filters if the response was tagged ^application/javascript$

Filtering JavaScript code with filters intended to deal with HTML
is usually a waste of time and, more importantly, may break stuff.

9 years agoLet log_error() use its own buffer size #define
Fabian Keil [Mon, 5 May 2014 09:51:19 +0000 (09:51 +0000)]
Let log_error() use its own buffer size #define

.. to make changing the log buffer size slightly less inconvenient.

9 years agoRemove #117, now that dynamic variables are mentioned in the user manual
Fabian Keil [Mon, 5 May 2014 09:49:16 +0000 (09:49 +0000)]
Remove #117, now that dynamic variables are mentioned in the user manual

9 years agoReplace redundant contact information with a license summary
Fabian Keil [Mon, 5 May 2014 09:48:55 +0000 (09:48 +0000)]
Replace redundant contact information with a license summary

9 years agoMention the PCRS option letters T and D in the filter section
Fabian Keil [Mon, 5 May 2014 09:48:36 +0000 (09:48 +0000)]
Mention the PCRS option letters T and D in the filter section

9 years agoBlock requests for .adcash.com/script/
Fabian Keil [Mon, 5 May 2014 09:48:15 +0000 (09:48 +0000)]
Block requests for .adcash.com/script/

Reported by Tyrexionibus in #3615289.

9 years agoAdd an example for a host pattern that matches an IP address
Fabian Keil [Mon, 5 May 2014 09:47:41 +0000 (09:47 +0000)]
Add an example for a host pattern that matches an IP address

9 years agoRename the 'domain pattern' to 'host pattern' as it may contain IP addresses as well
Fabian Keil [Mon, 5 May 2014 09:47:20 +0000 (09:47 +0000)]
Rename the 'domain pattern' to 'host pattern' as it may contain IP addresses as well

9 years agoLet the msn filter hide 'related' ads again
Fabian Keil [Sat, 3 May 2014 17:18:38 +0000 (17:18 +0000)]
Let the msn filter hide 'related' ads again

9 years agoDecrease the chances that js-annoyances creates invalid JavaScript
Fabian Keil [Fri, 25 Apr 2014 11:49:12 +0000 (11:49 +0000)]
Decrease the chances that js-annoyances creates invalid JavaScript

Adding double quotes can cause problems if the filtered text
is part of an already double-quoted string.

Submitted by John McGowan on ijbswa-users@.

10 years agoAdd #122: Allow customized log messages
Fabian Keil [Mon, 21 Apr 2014 12:04:58 +0000 (12:04 +0000)]
Add #122: Allow customized log messages

10 years agoAdd #121: Add HTTP/2 support
Fabian Keil [Mon, 21 Apr 2014 12:04:40 +0000 (12:04 +0000)]
Add #121: Add HTTP/2 support

10 years agoAdd an example hostname to the --pre-chroot-nslookup description
Fabian Keil [Mon, 21 Apr 2014 12:04:23 +0000 (12:04 +0000)]
Add an example hostname to the --pre-chroot-nslookup description

10 years agoFix clang warnings
Fabian Keil [Mon, 21 Apr 2014 12:04:01 +0000 (12:04 +0000)]
Fix clang warnings

10 years agoUnblock .stopwatchingus.info/ whose banners aren't commercial ads
Fabian Keil [Sat, 8 Mar 2014 20:08:09 +0000 (20:08 +0000)]
Unblock .stopwatchingus.info/ whose banners aren't commercial ads

Full disclosure: As a member of Arbeitskreis Vorratsdatenspeicherung
(German Working Group on Data Retention) I'm also involved with
Stop Watching Us Cologne.

10 years agoMake 'demoronizer' FAQ entries more generic
Fabian Keil [Mon, 10 Feb 2014 14:43:46 +0000 (14:43 +0000)]
Make 'demoronizer' FAQ entries more generic

10 years agoAdd tests for invalid Keep-Alive headers that should be removed
Fabian Keil [Mon, 10 Feb 2014 14:43:22 +0000 (14:43 +0000)]
Add tests for invalid Keep-Alive headers that should be removed

10 years agoAdd a couple of Keep-Alive header tests
Fabian Keil [Mon, 10 Feb 2014 14:43:03 +0000 (14:43 +0000)]
Add a couple of Keep-Alive header tests

10 years agoDo not pass rejected keep-alive timeouts to the server
Fabian Keil [Mon, 10 Feb 2014 14:42:42 +0000 (14:42 +0000)]
Do not pass rejected keep-alive timeouts to the server

It might not have caused any problems (we know of),
but doing the right thing shouldn't hurt either.

10 years agoProperly deal with Keep-Alive headers with timeout= parameters
Fabian Keil [Mon, 10 Feb 2014 14:42:18 +0000 (14:42 +0000)]
Properly deal with Keep-Alive headers with timeout= parameters

If the timeout still can't be parsed, use the configured
timeout instead of preventing the client from keeping the
connection alive.

Should fix #3615312/#870 reported by Bernard Guillot.

10 years agoFix comment typo
Fabian Keil [Mon, 10 Feb 2014 14:39:43 +0000 (14:39 +0000)]
Fix comment typo

10 years agoBe more explicit about accept-intercepted-requests's lack of MITM support
Fabian Keil [Mon, 10 Feb 2014 14:39:13 +0000 (14:39 +0000)]
Be more explicit about accept-intercepted-requests's lack of MITM support

10 years agoFix spelling
Fabian Keil [Mon, 10 Feb 2014 14:38:45 +0000 (14:38 +0000)]
Fix spelling

10 years agoAdd #120: Add an option to limit pcre's recursion limit below the default
Fabian Keil [Sun, 2 Feb 2014 12:03:50 +0000 (12:03 +0000)]
Add #120: Add an option to limit pcre's recursion limit below the default

10 years agoAdd #119: Evaluate using pcre's jit mode.
Fabian Keil [Sun, 2 Feb 2014 12:03:36 +0000 (12:03 +0000)]
Add #119: Evaluate using pcre's jit mode.

10 years agoAdd #118: There should be 'escaped' dynamic variables
Fabian Keil [Fri, 31 Jan 2014 12:47:43 +0000 (12:47 +0000)]
Add #118: There should be 'escaped' dynamic variables

10 years agoAdd #117: Dynamic variables are documented poorly.
Fabian Keil [Fri, 31 Jan 2014 12:47:31 +0000 (12:47 +0000)]
Add #117: Dynamic variables are documented poorly.

10 years agoAdd #116: Privoxy will fail to parse large chunks
Fabian Keil [Fri, 31 Jan 2014 12:47:15 +0000 (12:47 +0000)]
Add #116: Privoxy will fail to parse large chunks

10 years agoDowngrade mark_matching_tests_for_skipping()'s log message
Fabian Keil [Tue, 24 Dec 2013 13:36:58 +0000 (13:36 +0000)]
Downgrade mark_matching_tests_for_skipping()'s log message

... to LL_FILE_LOADING.

10 years agoUpdate #96 as things have been slightly improved by the introduction of get_filter()
Fabian Keil [Tue, 24 Dec 2013 13:36:01 +0000 (13:36 +0000)]
Update #96 as things have been slightly improved by the introduction of get_filter()

10 years agoRemove #90 now that negative tag patterns are implemented
Fabian Keil [Tue, 24 Dec 2013 13:35:41 +0000 (13:35 +0000)]
Remove #90 now that negative tag patterns are implemented