Fabian Keil [Sun, 20 Nov 2011 12:42:43 +0000 (12:42 +0000)]
Fix spelling
Fabian Keil [Sun, 20 Nov 2011 12:41:22 +0000 (12:41 +0000)]
Document the +fast-redirects{} HTTP response splitting fix
Fabian Keil [Sat, 19 Nov 2011 15:20:45 +0000 (15:20 +0000)]
Rebuild for 3.0.18
Fabian Keil [Sat, 19 Nov 2011 15:18:48 +0000 (15:18 +0000)]
Rebuild with recent changes
Fabian Keil [Sat, 19 Nov 2011 15:18:02 +0000 (15:18 +0000)]
Update ChangeLog
Fabian Keil [Sat, 19 Nov 2011 15:16:37 +0000 (15:16 +0000)]
Updated contributor list
Fabian Keil [Sat, 19 Nov 2011 15:12:54 +0000 (15:12 +0000)]
Promote a couple of general changes to bug fixes. Various cosmetical changes.
Fabian Keil [Sat, 19 Nov 2011 15:08:00 +0000 (15:08 +0000)]
Import new contributors with real names from the ChangeLog
Fabian Keil [Sat, 19 Nov 2011 14:44:01 +0000 (14:44 +0000)]
Revert the previous commit as it was a duplicate.
Fabian Keil [Fri, 18 Nov 2011 23:53:26 +0000 (23:53 +0000)]
Remove an incorrect string termination attempt
It could cause segmentations faults when Privoxy was compiled
without RFC2553 support as *port[NI_MAXSERV - 1] isn't actually
the last position in the allocated memory region.
Given that snprintf() already produces a proper string
the attempt can simply be discarded. The bug was introduced
in 1.105 and is thus not relevant for the ChangeLog.
Fabian Keil [Fri, 18 Nov 2011 16:49:29 +0000 (16:49 +0000)]
Update ChangeLog
Fabian Keil [Fri, 18 Nov 2011 16:49:05 +0000 (16:49 +0000)]
Replace 'service' with the less ambiguous 'Privoxy installation'
Fabian Keil [Fri, 18 Nov 2011 16:48:29 +0000 (16:48 +0000)]
Refer to the ChangeLog without going into details and don't mention a specific release
The file should now be "timeless".
While at it, downgrade the 'Important Changes' section to 'Changes'.
Fabian Keil [Fri, 18 Nov 2011 16:47:08 +0000 (16:47 +0000)]
Ditch the unused map_copy_parameter_url()
Fabian Keil [Mon, 14 Nov 2011 16:51:24 +0000 (16:51 +0000)]
Formatting changes and minor fixes
Fabian Keil [Mon, 14 Nov 2011 16:51:01 +0000 (16:51 +0000)]
Fix an uagen change. The generated Firefox version is 8.0 not 9.0
Fabian Keil [Sun, 13 Nov 2011 17:06:49 +0000 (17:06 +0000)]
First rebuild for 3.0.18 stable
The diff is yet again a bit bloated because apparently
the trailing white-space cleanup wasn't finished.
Fabian Keil [Sun, 13 Nov 2011 17:03:54 +0000 (17:03 +0000)]
Bump entities for 3.0.18 stable
Fabian Keil [Sun, 13 Nov 2011 17:02:59 +0000 (17:02 +0000)]
Import the first ChangeLog draft for 3.0.18 stable
Fabian Keil [Sun, 13 Nov 2011 17:00:54 +0000 (17:00 +0000)]
Add another closing listitem tag in create_listitem_markup()
It's a mystery why nobody missed it earlier.
Fabian Keil [Sun, 13 Nov 2011 16:58:20 +0000 (16:58 +0000)]
First ChangeLog draft for 3.0.18
It's unfinished but can already be used for doc building experiments.
And the fact that this took hours is another sign that the
release is long overdue.
Fabian Keil [Sun, 13 Nov 2011 16:55:32 +0000 (16:55 +0000)]
Bump generated Firefox version to 8.0
Fabian Keil [Sun, 13 Nov 2011 16:54:10 +0000 (16:54 +0000)]
Highlight: No server or forwarder response received on socket 8. Closing client socket 10 without sending data.
Fabian Keil [Sun, 13 Nov 2011 16:53:45 +0000 (16:53 +0000)]
Change CODE_STATUS to stable
Fabian Keil [Sun, 13 Nov 2011 16:53:24 +0000 (16:53 +0000)]
Rephrase the donations section some more
Mention that the domain is now sponsored by Mythic Beasts Ltd
and make it clear that asking questions about donations is
possible, too.
Fabian Keil [Sun, 13 Nov 2011 16:50:34 +0000 (16:50 +0000)]
Note that donations for Privoxy are currently only tax-deductible in the US
As it turns out tax-deductible donations in a few other western
countries are theoretically possible through partner organizations
but aren't available out of the box.
Fabian Keil [Sat, 12 Nov 2011 12:56:42 +0000 (12:56 +0000)]
Accept and highlight: Percent-encoding redirect URL: example.org/\x02
Fabian Keil [Sat, 12 Nov 2011 12:56:21 +0000 (12:56 +0000)]
In get_last_url(), do not claim to look for unencoded redirects when we aren't
Fabian Keil [Sat, 12 Nov 2011 12:55:46 +0000 (12:55 +0000)]
Highlight: Didn't receive data in time: a.fsdn.com:443
Fabian Keil [Sat, 12 Nov 2011 12:55:20 +0000 (12:55 +0000)]
Sync config.guess and config.sub with upstream 2011-11-11/
386c7218162c145f5f9e1ff7f558a3fbb66c37c5
Fabian Keil [Sun, 6 Nov 2011 11:58:51 +0000 (11:58 +0000)]
Fix a subtle race condition between prepare_csp_for_next_request() and sweep()
A thread preparing itself for the next client request
could briefly appear to be inactive.
If all other threads were already using more recent files,
the thread could get its files swept away under its feet,
later on causing an 'invalid read of size 1' when the file
name was logged in any_loaded_file_changed().
I've only seen it while stress testing in valgrind while
touching action files in a loop. It's unlikely to have
caused any actual problems in the real world.
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