Fabian Keil [Sun, 6 Nov 2011 11:53:15 +0000 (11:53 +0000)]
Remove a noisy log message in any_loaded_file_changed()
Fabian Keil [Sun, 6 Nov 2011 11:52:36 +0000 (11:52 +0000)]
Assert that a percent-encoded URL no longer requires percent-encoding
Fabian Keil [Sun, 6 Nov 2011 11:51:57 +0000 (11:51 +0000)]
Change url_code_map[] from an array of pointers to an array of arrays
It removes an unnecessary layer of indirection and on
my 64bit system reduces the size of the binary by 2k.
At least in theory it should be more cache-efficient as well
but given that this is not a hot code path I couldn't be
bothered to run micro benchmarks.
Fabian Keil [Sun, 6 Nov 2011 11:50:15 +0000 (11:50 +0000)]
In get_last_url(), do not bother trying to decode URLs that do not contain at least one '%' sign
It reduces the log noise and a number of unnecessary memory allocations.
Fabian Keil [Sun, 6 Nov 2011 11:48:23 +0000 (11:48 +0000)]
Reimplement segment splitting in get_last_url() by using ssplit()
It's available on all platforms and doesn't require locking.
While at it, properly detect URLs that are concatenated together
without separator again. All the redirect regression tests should
work now.
Fabian Keil [Sun, 6 Nov 2011 11:46:58 +0000 (11:46 +0000)]
Add two redirect tests with incorrectly encoded URLs
Fabian Keil [Sun, 6 Nov 2011 11:46:36 +0000 (11:46 +0000)]
Add a couple of additional +fast-redirects{} tests
Some of them currently don't work due to a recent regression.
Fabian Keil [Sun, 6 Nov 2011 11:45:51 +0000 (11:45 +0000)]
Properly deal with FEATURE_TOGGLE being disabled
Fabian Keil [Sun, 6 Nov 2011 11:45:28 +0000 (11:45 +0000)]
If the redirect URL contains characters RFC 3986 doesn't permit, encode them
Fabian Keil [Sun, 6 Nov 2011 11:44:56 +0000 (11:44 +0000)]
Add percent_encode_url()
Percent-encodes characters in URLs RFC 3986 doesn't permit.
Fabian Keil [Sun, 6 Nov 2011 11:44:32 +0000 (11:44 +0000)]
Adjust url_code_map[] so spaces are replaced with %20 instead of '+'
While '+' can be used by client's submitting form data, this is not
actually what Privoxy is using the lookups for. This is more of a
cosmetic issue and doesn't fix any actual problems I'm aware of.
Fabian Keil [Sun, 6 Nov 2011 11:42:14 +0000 (11:42 +0000)]
Register a complaint about encode_url()'s name
Fabian Keil [Sun, 6 Nov 2011 11:41:34 +0000 (11:41 +0000)]
Bump copyright
Fabian Keil [Sun, 6 Nov 2011 11:41:05 +0000 (11:41 +0000)]
Add url_requires_percent_encoding()
Checks if an URL contains invalid characters according
to RFC 3986 that should be percent-encoded.
Fabian Keil [Sun, 6 Nov 2011 11:39:18 +0000 (11:39 +0000)]
When compiled without FEATURE_FAST_REDIRECTS, do not silently ignore +fast-redirect{} directives
Fabian Keil [Sun, 6 Nov 2011 11:36:42 +0000 (11:36 +0000)]
White-space fix for redirect_url()
Fabian Keil [Sun, 6 Nov 2011 11:36:27 +0000 (11:36 +0000)]
Remove the already-dead client_accept_encoding_adder()
Fabian Keil [Sun, 6 Nov 2011 11:36:01 +0000 (11:36 +0000)]
Remove a suggested +redirect{} that is now obsolete
Fabian Keil [Sun, 6 Nov 2011 11:35:26 +0000 (11:35 +0000)]
Add a link to Simon Tatham's 'How to Report Bugs Effectively'
Fabian Keil [Sun, 30 Oct 2011 16:23:22 +0000 (16:23 +0000)]
Bump for-privoxy-version to 3.0.18 due to the recently added +fast-redirects{} tests
Fabian Keil [Sun, 30 Oct 2011 16:22:46 +0000 (16:22 +0000)]
Rename a couple of variables in get_last_url()
Fabian Keil [Sun, 30 Oct 2011 16:22:29 +0000 (16:22 +0000)]
Bump version to 0.5
Fabian Keil [Sun, 30 Oct 2011 16:22:16 +0000 (16:22 +0000)]
Add --shuffle-tests option to increase the chances of detection race conditions
Due to the current data layout it only shuffles test sections and
the tests they contain and does not mix tests from different sections.
This is not a feature.
Fabian Keil [Sun, 30 Oct 2011 16:21:19 +0000 (16:21 +0000)]
Add a couple of +fast-redirect{} tests
Fabian Keil [Sun, 30 Oct 2011 16:21:01 +0000 (16:21 +0000)]
Add a --local-test-file option that allows to use Privoxy-Regression-Test without Privoxy
Fabian Keil [Sun, 30 Oct 2011 16:20:35 +0000 (16:20 +0000)]
Rename load_regressions_tests() to load_regression_tests()
Fabian Keil [Sun, 30 Oct 2011 16:20:12 +0000 (16:20 +0000)]
Add a configure check for strtok() and add locks around its use
If strtok() and locks aren't available, let get_last_url()
fall back to the old check-decoded-url code. Compiling with
the old cold will cause some not-yet-committed regression
tests to fail.
Fabian Keil [Sun, 30 Oct 2011 16:18:12 +0000 (16:18 +0000)]
Let get_last_url() log failed url_decode() operations again
Fabian Keil [Sun, 30 Oct 2011 16:17:57 +0000 (16:17 +0000)]
Plug a memory leak in get_last_url()
Fabian Keil [Sun, 30 Oct 2011 16:17:21 +0000 (16:17 +0000)]
Minor simplification for get_last_url()
Fabian Keil [Sun, 30 Oct 2011 16:17:07 +0000 (16:17 +0000)]
In get_last_url(), add a missing check for strdup()'s return code
Fabian Keil [Sun, 30 Oct 2011 16:16:07 +0000 (16:16 +0000)]
Remove a superfluos temporary variable in get_last_url()
'subject' is already strdup()'d so there's no need
to make another temporary copy for strtok().
Fabian Keil [Sun, 30 Oct 2011 16:15:43 +0000 (16:15 +0000)]
Style adjustments for the previous patch
Fabian Keil [Sun, 30 Oct 2011 16:15:29 +0000 (16:15 +0000)]
Let +fast-redirects{check-decoded-url} check URL segments separately
If there are other parameters behind the redirect URL,
this makes it unnecessary to cut them of by additionally
using a +redirect{} pcrs command.
Patch submitted by Jamie Zawinski in #
3429848.
Fabian Keil [Wed, 26 Oct 2011 19:00:21 +0000 (19:00 +0000)]
Add a (disabled) section to block various Facebook tracking URLs
Reported by Dan Stahlke in #
3421764.
The suggested section has been slightly adjusted and
regression tests added (also disabled).
Fabian Keil [Wed, 26 Oct 2011 19:00:11 +0000 (19:00 +0000)]
Add a (disabled) section to rewrite and redirect click-tracking URLs used on news.google.com
Reported by Dan Stahlke in #
3421755.
The suggested sections have been merged and slightly
adjusted and a regression test added (also disabled).
Fabian Keil [Wed, 26 Oct 2011 18:58:37 +0000 (18:58 +0000)]
Remove vi settings line so the user isn't tempted to stray away from the right path
Fabian Keil [Sun, 23 Oct 2011 11:24:33 +0000 (11:24 +0000)]
If only the server connection is kept alive, do not pretent to wait for a new client request.
Fabian Keil [Sun, 23 Oct 2011 11:23:55 +0000 (11:23 +0000)]
Remove a now-obsolete comment about the implied keep-alive not working
Fabian Keil [Sun, 23 Oct 2011 11:23:35 +0000 (11:23 +0000)]
Enable sharing of server connections again, even if the client doesn't support keep-alive
Fabian Keil [Sun, 23 Oct 2011 11:22:54 +0000 (11:22 +0000)]
Add a link to Simon Tatham's 'How to Report Bugs Effectively'
Fabian Keil [Sun, 23 Oct 2011 11:22:38 +0000 (11:22 +0000)]
White-space fix
Fabian Keil [Sun, 23 Oct 2011 11:22:16 +0000 (11:22 +0000)]
Simplify the signal setup in main()
Fabian Keil [Sun, 23 Oct 2011 11:21:28 +0000 (11:21 +0000)]
Streamline socks5_connect() slightly
Fabian Keil [Sun, 23 Oct 2011 11:21:09 +0000 (11:21 +0000)]
In case of SOCKS5 failures, dump the socks response
Fabian Keil [Sun, 23 Oct 2011 11:20:51 +0000 (11:20 +0000)]
In socks5_connect(), require a complete socks response from the server
Previously we didn't care how much data the server response
contained as long as the first two bytes contained the expected
values.
While at it, shrink the buffer size so we can't read more
than a whole socks response. This is required to support
Tor's optimistic data extension.
Fabian Keil [Sun, 23 Oct 2011 11:18:53 +0000 (11:18 +0000)]
In chat(), do not bother to generate a client request in case of direct CONNECT requests
Fabian Keil [Sat, 22 Oct 2011 13:43:20 +0000 (13:43 +0000)]
Correct the description of the last-chunk-detection fix in 3.0.17
ChangeLog entries are more useful if they make sense.
Fabian Keil [Sun, 16 Oct 2011 17:34:26 +0000 (17:34 +0000)]
Add #100: Create a cross-platform Privoxy control program
Fabian Keil [Sun, 16 Oct 2011 17:33:41 +0000 (17:33 +0000)]
Remove #84 which is a subset of #53
Fabian Keil [Sun, 16 Oct 2011 14:01:05 +0000 (14:01 +0000)]
Let the js-events filter additionally disarm setInterval()
Suggested by dg1727 in #
3423775.
While at it, adjust the filter description so it no
longer pretends to cover all JavaScript event bindings
which most likely isn't true.
Fabian Keil [Sun, 16 Oct 2011 13:53:17 +0000 (13:53 +0000)]
Add #99: Allow to easily enable site-specific action sections too aggressive to be enabled by default
Fabian Keil [Sun, 16 Oct 2011 13:13:50 +0000 (13:13 +0000)]
Unblock linuxcounter.net/
Reported by Dan Stahlke in #
3422612.
Fabian Keil [Sun, 16 Oct 2011 12:40:59 +0000 (12:40 +0000)]
Add #98: Escape line breaks in action sections shown on the CGI pages
Fabian Keil [Sun, 16 Oct 2011 12:40:34 +0000 (12:40 +0000)]
Fix a logic bug that could cause Privoxy to reuse a tainted server socket
It could happen for server sockets that got tainted by a
server-header-tagger-induced block, in which case Privoxy
doesn't necessarily read the whole server response.
If keep-alive was enabled and the request following the
blocked one was to the same host and using the same
forwarding settings, Privoxy would send it on the tainted
server socket.
While the server would simply treat it as a pipelined request,
Privoxy would later on fail to properly parse the server's
response as it would try to parse the unread data from the
first response as server headers for the second one.
Regression introduced in jcc.c,v 1.315.
Fabian Keil [Sun, 16 Oct 2011 12:39:14 +0000 (12:39 +0000)]
When implying keep-alive in client_connection(), remember that the client didn't
Fixes a regression introduced in jcc.c,v 1.265 that would
cause Privoxy to wait for additional client requests after
receiving a HTTP/1.1 request with "Connection: close" set
and connection sharing enabled.
With clients like curl which terminates the client connection
after detecting that the whole body has been received it doesn't
really matter, but with clients like FreeBSD's fetch the client
connection would be kept open until it timed out. Oops.
As it turns out the whole "upgrade server connection to
use keep-alive even when the client connection has to
be closed" currently doesn't work for other reasons,
so additionally add a XXX comment about it.
Fabian Keil [Sun, 16 Oct 2011 12:37:12 +0000 (12:37 +0000)]
Remove a superfluos log message in forget_connection()
As a bonus this simplifies the connection_reuse_mutex locking.
Fabian Keil [Fri, 14 Oct 2011 16:53:10 +0000 (16:53 +0000)]
Clarify the effect of compiling Privoxy with zlib support
Suggested by dg1727 in #
3423782.
zlib support has been available for years now,
so drop the reference to Privoxy 3.0.7
Fabian Keil [Sat, 8 Oct 2011 17:31:51 +0000 (17:31 +0000)]
Reduce server_last_modified()'s stack size
Fabian Keil [Sat, 8 Oct 2011 17:31:05 +0000 (17:31 +0000)]
Shorten get_http_time() by using strftime()
Fabian Keil [Sat, 8 Oct 2011 17:30:21 +0000 (17:30 +0000)]
In chat(), properly report missing server responses as such instead of calling them empty
Fabian Keil [Sun, 18 Sep 2011 14:43:07 +0000 (14:43 +0000)]
Let load_one_actions_file() properly complain about a missing '{' at the beginning of the file
Simply stating that a line is invalid isn't particularly helpful.
Fabian Keil [Sun, 18 Sep 2011 14:42:43 +0000 (14:42 +0000)]
In forwarded_connect(), fix a log message nobody should ever see
Fabian Keil [Sun, 18 Sep 2011 14:41:03 +0000 (14:41 +0000)]
Rephrase #12 as pipelined client requests aren't completely unsupported
Fabian Keil [Sun, 18 Sep 2011 14:40:43 +0000 (14:40 +0000)]
Add a link to the latest version
Fabian Keil [Sun, 18 Sep 2011 14:40:26 +0000 (14:40 +0000)]
Note that #97 is mostly done
Fabian Keil [Tue, 6 Sep 2011 18:46:17 +0000 (18:46 +0000)]
Fix a log message in socks5_connect(), a failed write operation was logged as failed read operation
Fabian Keil [Tue, 6 Sep 2011 18:45:46 +0000 (18:45 +0000)]
Ditch trailing whitespace
Fabian Keil [Tue, 6 Sep 2011 18:45:28 +0000 (18:45 +0000)]
Fix the dok-tidy target to actually suppress backup file creation
Fabian Keil [Sun, 4 Sep 2011 11:37:05 +0000 (11:37 +0000)]
Constify the known_http_methods pointers in unknown_method()
Fabian Keil [Sun, 4 Sep 2011 11:36:50 +0000 (11:36 +0000)]
Constify the time_formats pointers in parse_header_time()
Fabian Keil [Sun, 4 Sep 2011 11:36:33 +0000 (11:36 +0000)]
Constify the formerly_valid_actions pointers in action_used_to_be_valid()
Fabian Keil [Sun, 4 Sep 2011 11:35:49 +0000 (11:35 +0000)]
Fix spelling in a comment
Fabian Keil [Sun, 4 Sep 2011 11:35:38 +0000 (11:35 +0000)]
In html_code_map[], use a numeric character reference instead of ' which wasn't standardized before XHTML 1.0
Oops.
Fabian Keil [Sun, 4 Sep 2011 11:33:50 +0000 (11:33 +0000)]
In parse_header_time(), zero out gmt before each strptime() just to be sure
Fabian Keil [Sun, 4 Sep 2011 11:33:06 +0000 (11:33 +0000)]
Let parse_header_time() look for two-digit years first
Should work around GNU libc's strptime() reporting negative
years when parsing a two-digit year with %Y.
Reported by Väinö in #
3403560
Fabian Keil [Sun, 4 Sep 2011 11:32:20 +0000 (11:32 +0000)]
In parse_header_time(), add a sanity check for GNU libc's strptime() which apparently occasionally returns negative years.
Reported by Väinö in #
3403560
Fabian Keil [Sun, 4 Sep 2011 11:31:45 +0000 (11:31 +0000)]
Dijkstraize parse_header_time(): two or more, use a for
Fabian Keil [Sun, 4 Sep 2011 11:31:17 +0000 (11:31 +0000)]
Adjust a comment in parse_header_time(). Zeroing out gmt is documented to be required for GNU libc
Fabian Keil [Sun, 4 Sep 2011 11:11:17 +0000 (11:11 +0000)]
Ditch trailing whitespace
Fabian Keil [Sun, 4 Sep 2011 11:09:05 +0000 (11:09 +0000)]
Rename the tidy target to clean-editor-files so it can't be confused with the dok-tidy target
Fabian Keil [Sun, 4 Sep 2011 11:08:38 +0000 (11:08 +0000)]
Remove the obsolete browser support matrix. Minor cosmetics.
Fabian Keil [Wed, 31 Aug 2011 13:38:53 +0000 (13:38 +0000)]
The first result of the shiny-new dok-tidy target.
Fabian Keil [Wed, 31 Aug 2011 13:36:35 +0000 (13:36 +0000)]
Bump copyright.
Fabian Keil [Wed, 31 Aug 2011 13:36:15 +0000 (13:36 +0000)]
Add a dok-tidy target to clean up the messy HTML generated by the other dok targets
Not yet connected to any other target,
but probably should be after some testing.
Fabian Keil [Wed, 31 Aug 2011 13:35:21 +0000 (13:35 +0000)]
Ditch a duplicated dot in a comment
Fabian Keil [Sat, 27 Aug 2011 10:36:45 +0000 (10:36 +0000)]
Change the HTTP version in the snipplets to 1.1
The snipplets are compliant, so there's no reason not to.
Fabian Keil [Fri, 26 Aug 2011 16:15:11 +0000 (16:15 +0000)]
Rebuild with updated copyright
Fabian Keil [Fri, 26 Aug 2011 16:14:24 +0000 (16:14 +0000)]
Rebuild with updated copyright and minor changes
Fabian Keil [Fri, 26 Aug 2011 16:13:40 +0000 (16:13 +0000)]
Rebuild after ditching GNUisms in GNUMakefile.in
Fabian Keil [Fri, 26 Aug 2011 16:12:34 +0000 (16:12 +0000)]
Deduplicate a line in the dok-release target
Fabian Keil [Fri, 26 Aug 2011 16:12:14 +0000 (16:12 +0000)]
Add #97: Add support for Tor's 'optimistic data' socks extension.
Fabian Keil [Fri, 26 Aug 2011 16:11:59 +0000 (16:11 +0000)]
Once more, with feeling: GNUisms be gone
This time the dok target has actually been tested on
a GNU/Linux system using GNU make.
Fabian Keil [Mon, 22 Aug 2011 18:58:29 +0000 (18:58 +0000)]
When sending out the "no-server-data" response, do not log two LOG_LEVEL_CLF messages
send_crunch_response() already takes care of emitting the
message, so there's no need for chat() to emit another one.
Noticed while looking into #
3394462 reported by Andy.
Fabian Keil [Thu, 18 Aug 2011 11:45:02 +0000 (11:45 +0000)]
Don't use unspecified MSN sites as examples for User-Agent-based descrimination
Without knowing the URLs, nobody can easily verify it and it could
be mistaken as FUD. I also assume that it's no longer an issue anyway.
Fabian Keil [Thu, 18 Aug 2011 11:42:50 +0000 (11:42 +0000)]
Bump some more documentation copyright ranges.
Fabian Keil [Thu, 18 Aug 2011 11:41:18 +0000 (11:41 +0000)]
Also highlight the compression level, now that it is logged, too
Fabian Keil [Wed, 17 Aug 2011 10:41:21 +0000 (10:41 +0000)]
Rebuild README
Fabian Keil [Wed, 17 Aug 2011 10:41:03 +0000 (10:41 +0000)]
Index updates.
Fabian Keil [Wed, 17 Aug 2011 10:40:07 +0000 (10:40 +0000)]
Update the entities.
This commit is chronological out of order.