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.
Fabian Keil [Wed, 17 Aug 2011 10:37:48 +0000 (10:37 +0000)]
Rebuild user-manual, developer-manual and faq.
Looks like the code status UNRELEASED isn't properly dealt with everywhere,
but as this build is not going to get released, I think we can live with
it for now.
Also ampersands in URLs weren't properly escaped, but hopefully
none of the broken links slipped into this commit. This needs to
be addressed before the next release anyway.
Fabian Keil [Wed, 17 Aug 2011 10:32:44 +0000 (10:32 +0000)]
Formattting fixes missed in the previous commit and forgotten to squash
Fabian Keil [Wed, 17 Aug 2011 10:31:40 +0000 (10:31 +0000)]
Rebuild config with the recently added compression directives
Fabian Keil [Wed, 17 Aug 2011 10:30:36 +0000 (10:30 +0000)]
Bumpy copyright year
Fabian Keil [Wed, 17 Aug 2011 10:30:11 +0000 (10:30 +0000)]
Revert the previous commit for now.
Turns out that it broke a the dok targets. Ooops.
Fabian Keil [Wed, 17 Aug 2011 10:26:47 +0000 (10:26 +0000)]
In compress_buffer(), let zlib figure out the proper length for the new buffer
Simply adding 30 bytes is somewhat "suboptimal".
Fabian Keil [Wed, 17 Aug 2011 10:25:43 +0000 (10:25 +0000)]
Fix a compiler warning on GNU/Linux i386
Fabian Keil [Wed, 17 Aug 2011 10:24:55 +0000 (10:24 +0000)]
When loading action sections, verify that the referenced filters exist
Currently missing filters only result in an error message,
but eventually the severity should be upgraded to fatal.
Fabian Keil [Wed, 17 Aug 2011 10:23:42 +0000 (10:23 +0000)]
Add #96: Enabled filters should be easier to look up
Fabian Keil [Wed, 17 Aug 2011 10:23:23 +0000 (10:23 +0000)]
Get the language for #42 right.
While at it, remove the bible reference as it arrived a while ago.
Fabian Keil [Tue, 2 Aug 2011 18:21:21 +0000 (18:21 +0000)]
Fabian Keil [Sat, 30 Jul 2011 15:22:39 +0000 (15:22 +0000)]
Add tests for missing socks4 and socks4a forwarders
The code paths are different than for socks5 and the recent
memory leak in socks5_connect() was only detected due to the
already existing test.
Currently no such leaks exist in socks4_connect() but I may
add some in the future and would prefer to know about it.
Fabian Keil [Sat, 30 Jul 2011 15:17:35 +0000 (15:17 +0000)]
Deduplicate the INADDR_NONE definition for Solaris by moving it to jbsockets.h
While at it, add a comment about whether or not the workaround is still needed.
Fabian Keil [Sat, 30 Jul 2011 15:15:25 +0000 (15:15 +0000)]
In block_url(), ditch the obsolete workaround for ancient Netscape versions that supposedly couldn't properly deal with status code 403.
Fabian Keil [Sat, 30 Jul 2011 15:13:32 +0000 (15:13 +0000)]
White-space fixes for add_loader() and run_loader()
Fabian Keil [Sat, 30 Jul 2011 15:12:55 +0000 (15:12 +0000)]
Remove a useless NULL pointer check in load_trustfile()
Fabian Keil [Sat, 30 Jul 2011 15:12:42 +0000 (15:12 +0000)]
Remove two useless NULL pointer checks in load_one_re_filterfile().
csp has already been dereferenced earlier and there's
no reason why it should be NULL anyway.
Fabian Keil [Sat, 30 Jul 2011 15:12:02 +0000 (15:12 +0000)]
Set socket_error to errno if connecting fails in rfc2553_connect_to()
Previously rejected direct connections could be incorrectly reported as DNS issues.
Fabian Keil [Sat, 30 Jul 2011 15:05:49 +0000 (15:05 +0000)]
Slightly restructure the error handling in socks5_connect().
No (intended) change of behaviour.
Fabian Keil [Sat, 30 Jul 2011 15:05:23 +0000 (15:05 +0000)]
Add the filter-file loaders before the action-file loaders
This way all filters are loaded by the time the action files
are parsed and filter{} actions specifying non-existent filters
can be detected and rejected (with code not yet committed).
Fabian Keil [Sat, 30 Jul 2011 15:02:57 +0000 (15:02 +0000)]
Disable banners-by-size filters for '.thinkgeek.com/'
The filter only seems to catch pictures of the inventory.
Fabian Keil [Sat, 30 Jul 2011 15:00:20 +0000 (15:00 +0000)]
Block requests for 'go.idmnet.bbelements.com/please/showit/'
Reported by kacperdominik in #
3372959.
Fabian Keil [Tue, 19 Jul 2011 11:01:14 +0000 (11:01 +0000)]
Add #95: Support a non-standard client header in CONNECT requests that contains the URL of the requested ressource
Fabian Keil [Tue, 19 Jul 2011 11:00:38 +0000 (11:00 +0000)]
Remove #71 as it has been implemented a few days ago
Fabian Keil [Tue, 19 Jul 2011 11:00:20 +0000 (11:00 +0000)]
Minor style fix for load_config()
Fabian Keil [Sun, 17 Jul 2011 13:52:11 +0000 (13:52 +0000)]
Make sure --privoxy-address works with IPv6 addresses containing brackets, too
Fabian Keil [Sun, 17 Jul 2011 13:38:05 +0000 (13:38 +0000)]
Minor style fixes for bind_port_helper()
Fabian Keil [Sun, 17 Jul 2011 13:37:32 +0000 (13:37 +0000)]
Reduce code duplication in bind_port_helper()