Fabian Keil [Mon, 26 Dec 2011 18:43:50 +0000 (18:43 +0000)]
Rebuild with the updated list of developers
Fabian Keil [Mon, 26 Dec 2011 18:41:54 +0000 (18:41 +0000)]
Move Mark and Gerry to the list of former team members
Fabian Keil [Mon, 26 Dec 2011 18:30:22 +0000 (18:30 +0000)]
Update for 3.0.19, keeping the changes from 3.0.18
Fabian Keil [Mon, 26 Dec 2011 17:07:01 +0000 (17:07 +0000)]
Rebuild for 3.0.19 stable
Fabian Keil [Mon, 26 Dec 2011 17:05:40 +0000 (17:05 +0000)]
Bump entities for 3.0.19
Fabian Keil [Mon, 26 Dec 2011 17:04:50 +0000 (17:04 +0000)]
Bump included version to 3.0.19
Fabian Keil [Mon, 26 Dec 2011 17:04:19 +0000 (17:04 +0000)]
Import ChangeLog entries for 3.0.19, keeping the ones for 3.0.18 for now
Fabian Keil [Mon, 26 Dec 2011 17:03:58 +0000 (17:03 +0000)]
Add changes for 3.0.19
Fabian Keil [Mon, 26 Dec 2011 17:03:31 +0000 (17:03 +0000)]
Change CODE_STATUS to stable
Fabian Keil [Mon, 26 Dec 2011 17:03:08 +0000 (17:03 +0000)]
Bump copyright range
Fabian Keil [Mon, 26 Dec 2011 17:02:54 +0000 (17:02 +0000)]
Clarify an error message in remove_chunked_transfer_coding()
Fabian Keil [Mon, 26 Dec 2011 17:02:24 +0000 (17:02 +0000)]
Prevent an integer overflow in remove_chunked_transfer_coding() that would cause a segfault
It could be triggered by malicious web servers if Privoxy was
configured to filter the response and running on a platform
where SIZE_T_MAX isn't larger than UINT_MAX, which probably
includes most 32-bit systems.
On those platforms, all Privoxy versions before 3.0.19 appear
to be affected. Releases before 2.9.14 don't really count, though,
as they don't even try to sanity check the chunk size and thus
have bigger issues.
To be on the safe side, this bug should be presumed to allow
code execution as proving that it doesn't seems unrealistic.
Fabian Keil [Mon, 26 Dec 2011 17:01:29 +0000 (17:01 +0000)]
Try to be less misleading in the downgrade-http-version description
Fabian Keil [Sat, 24 Dec 2011 15:28:45 +0000 (15:28 +0000)]
Do not expect a response from the SOCKS4/4A server until it got something to respond to
Hohoho.
Fixes #
3459781 reported by qqqqqw and tracked down by Lee.
Regression introduced in 3.0.18 by the usual suspect.
Fabian Keil [Sat, 10 Dec 2011 17:26:30 +0000 (17:26 +0000)]
Fix an off-by-one in an error message about connect failures
Fabian Keil [Sat, 10 Dec 2011 17:26:11 +0000 (17:26 +0000)]
Remove an obsolete part of the receive_client_request() description
If the client connects and doesn't say anything,
the connection will timeout.
Fabian Keil [Sat, 10 Dec 2011 17:25:37 +0000 (17:25 +0000)]
Update CODE_STATUS description
Setting the version to 0.0.0 between releases makes no
sense to me, and we haven't done that for a while now.
Fabian Keil [Sat, 10 Dec 2011 17:19:55 +0000 (17:19 +0000)]
Bump version to 3.0.19 UNRELEASED
Fabian Keil [Sun, 20 Nov 2011 17:17:56 +0000 (17:17 +0000)]
Use a variable for the webserver root directory and update the path
Sourceforge changed it which broke various web-related targets.
Fabian Keil [Sun, 20 Nov 2011 17:17:17 +0000 (17:17 +0000)]
Last minute ChangeLog changes that didn't make it into the tarball
Fabian Keil [Sun, 20 Nov 2011 12:50:48 +0000 (12:50 +0000)]
Update for the 3.0.18 release
Fabian Keil [Sun, 20 Nov 2011 12:43:38 +0000 (12:43 +0000)]
Update ChangeLog. Once more, with feeling.
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