privoxy.git
8 years agoBump copyright
Fabian Keil [Fri, 25 Jul 2014 11:55:27 +0000 (11:55 +0000)]
Bump copyright

8 years agoReject requests with unsupported Expect header values
Fabian Keil [Fri, 25 Jul 2014 11:55:11 +0000 (11:55 +0000)]
Reject requests with unsupported Expect header values

This changes the test status for the following Co-Advisor
tests from "Violation" to "Success":

rfc2616/unsuppExpect-0100-continue
rfc2616/unsuppExpect-100-continueing
rfc2616/unsuppExpect-expect=params
rfc2616/unsuppExpect-expect=quoted-100c

For RFC 2616 rejecting such requests was a MUST,
but RFC 7230 downgraded this to a MAY.

8 years agoAdd #134: Track the total number of bytes written to and received from a socket.
Fabian Keil [Fri, 25 Jul 2014 11:54:28 +0000 (11:54 +0000)]
Add #134: Track the total number of bytes written to and received from a socket.

8 years agoRegenerate docs
Fabian Keil [Fri, 18 Jul 2014 10:19:46 +0000 (10:19 +0000)]
Regenerate docs

8 years agoUpdate the forward-override{} example to be consistent with the tagging example
Fabian Keil [Fri, 18 Jul 2014 10:01:39 +0000 (10:01 +0000)]
Update the forward-override{} example to be consistent with the tagging example

8 years agoNote that invalid forward-override{} parameter syntax isn't detected until the parame...
Fabian Keil [Fri, 18 Jul 2014 10:01:20 +0000 (10:01 +0000)]
Note that invalid forward-override{} parameter syntax isn't detected until the parameter is used

8 years agoAdd another +redirect{} example: a shortcut for illumos bugs
Fabian Keil [Fri, 18 Jul 2014 10:00:11 +0000 (10:00 +0000)]
Add another +redirect{} example: a shortcut for illumos bugs

8 years agoMove a 'static' before the 'const'
Fabian Keil [Fri, 18 Jul 2014 09:59:51 +0000 (09:59 +0000)]
Move a 'static' before the 'const'

8 years agoClarify what Privoxy does if both +block{} and +redirect{} apply
Fabian Keil [Mon, 14 Jul 2014 13:37:08 +0000 (13:37 +0000)]
Clarify what Privoxy does if both +block{} and +redirect{} apply

8 years agoBlock '/.*DigiAd'
Fabian Keil [Mon, 14 Jul 2014 13:01:28 +0000 (13:01 +0000)]
Block '/.*DigiAd'

8 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

8 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.

8 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.

8 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.

8 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

8 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.

8 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.

8 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

8 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

8 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

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

8 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

8 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.

8 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

8 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

8 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

8 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.

8 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.

8 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)

8 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()

8 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

8 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.

8 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{}

8 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.

8 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.

8 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

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

8 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()

8 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

8 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

8 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()

8 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()

8 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'.

8 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

8 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

8 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

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

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

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

8 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).

8 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()

8 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

8 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

8 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

8 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

8 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

8 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

8 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

8 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.

8 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.

8 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()

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

8 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.

8 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

8 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

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

8 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.

8 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

8 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.

8 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

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

8 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.

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

8 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

8 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

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

8 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.

8 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.

8 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

8 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.

8 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.

8 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

8 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

8 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

8 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.

8 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

8 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

8 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

8 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@.

8 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

8 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

8 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

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

8 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.

8 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

8 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

8 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

8 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.

8 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.

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