X-Git-Url: http://www.privoxy.org/gitweb/?a=blobdiff_plain;ds=sidebyside;f=doc%2Fwebserver%2Fuser-manual%2Fwhatsnew.html;h=2da4ebec49396bea7356f90aa0f3ee6f2b0a6ef5;hb=2581e3426612050c42c64152c176cbeff77fdc83;hp=fc2176896a9aafa1ef1fa7676d9450ff7d55ef7e;hpb=e4446b36c844acb82cc754737b739fd0cdc402ed;p=privoxy.git diff --git a/doc/webserver/user-manual/whatsnew.html b/doc/webserver/user-manual/whatsnew.html index fc217689..2da4ebec 100644 --- a/doc/webserver/user-manual/whatsnew.html +++ b/doc/webserver/user-manual/whatsnew.html @@ -7,7 +7,7 @@ NAME="GENERATOR" CONTENT="Modular DocBook HTML Stylesheet Version 1.79">
There are many improvements and new features since Privoxy 3.0.8, the last stable release:
Privoxy 3.0.16 is a stable release. + The changes since 3.0.15 beta are:
Added SOCKS5 support (with address resolution done by - the SOCKS5 server). Patch provided by Eric M. Hopper. +> Added the config file option handle-as-empty-doc-returns-ok to + work around Firefox bug #492459, which causes Firefox to hang + if JavaScripts are blocked in certain situations. The option is + enabled in the default config file.
The "blocked" CGI pages include a block reason that was - provided as argument to the last-applying block action. +> Added the config option default-server-timeout to control the + assumed default server timeout. Since Privoxy no longer returns + an error message for connection resets on reused client connections, + assuming larger server timeout values appears to actually work + pretty well as long as connections aren't shared.
If enable-edit-actions is disabled (the default since 3.0.7 beta) - the show-status page hides the edit buttons and explains why. - Previously the user would get the "this feature has been disabled" - message after using the edit button. +> Added optional support for FreeBSD's accf_http(9). Use the + configure option --enable-accept-filter to enable it.
Forbidden CONNECT requests are treated like blocks by default. - The now-pointless treat-forbidden-connects-like-blocks action - has been removed. +> Added fancier Privoxy icons for win32. Contributed by Jeff H.
Not enabling limit-connect now allows CONNECT requests to all ports. - In previous versions it would only allow CONNECT requests to port 443. - Use +limit-connect{443} if you think you need the old default behaviour. +> In daemon mode, fd 0, 1 and 2 are bound to /dev/null.
The CGI editor gets turned off after three edit requests with invalid - file modification timestamps. This makes life harder for attackers - who can leverage browser bugs to send fake Referers and intend to - brute-force edit URLs. +> Resolve localhost using whatever address family the operating + system feels like. Previous betas would try to use IPv4 as this + is what most users expect, but this didn't work reliable on + GNU/Linux systems.
Action settings for multiple patterns in the same section are - shared in memory. As a result these sections take up less space - (and are loaded slightly faster). Problem reported by Franz Schwartau. +> In the action lists on CGI pages, actions and their parameters are + no longer separated with a space. The action file parser doesn't + actually allow this and will throw an invalid syntax error if actions + and parameters in the action files are separated. Not adding the + spaces means copy and pasting CGI output into the action files works.
Linear white space in HTTP headers will be normalized to single - spaces before parsing the header's content, headers split across - multiple lines get merged first. +> The default keep-alive timeout has been reduced to 5 seconds to work + around hangs in clients that treat the proxy like any other host and + stop allowing any new connections if the "maximum number of + connections per host" is reached.
Host information is gathered outside the main thread so it's less - likely to delay other incoming connections if the host is misconfigured. +> Several webbug URLs that look like they are leading to images are now + blocked as image instead of empty documents. Doing the latter causes + WebKit-based clients to show a "missing image" icon which may mess up + the layout.
New config option "hostname" to use a hostname other than - the one returned by the operating system. Useful to speed-up responses - for CGI requests on misconfigured systems. Requested by Max Khon. +> Accepts quoted expiration dates even though RFC 2109 10.1.2 + doesn't seem to allow them. Reported anonymously.
The CGI editor supports the "disable all filters of this type" - directives "-client-header-filter", "-server-header-filter", - "-client-header-tagger" and "-server-header-tagger". +> Don't try to forget connections if connection sharing is disabled. + This wasn't a real problem but caused an unnecessary log message.
Fixed false-positives with the link-by-url filter and URLs that - contain the pattern "/jump/". +> The still undocumented --enable-extended-host-patterns configure + option has a better description.
The less-download-windows filter no longer messes - "Content-Type: application/x-shockwave-flash" headers up. +> Fixed an error message that would claim a write to the server + failed when actually writing to the client failed.
In the show-url-info page's "Final results" section active and - inactive actions are listed separately. Patch provided by Lee. +> Log the crunch reason before trying to write to the client. + The log is easier to read that way.
The GNUmakefile supports the DESTDIR variable. Patch for - the install target submitted by Radoslaw Zielinski. +> Several log messages about client connections also mention + the socket number.
Embedding the content of configuration files in the show-status - page is significantly faster now. For a largish action file (1 MB) - a speedup of about 2450 times has been measured. This is mostly - interesting if you are using large action files or regularly use - Privoxy-Regression-Test while running Privoxy through Valgrind, - for stock configuration files it doesn't really matter. +> handle-as-empty-document no longer depends on the image blocking + code being enabled.
If zlib support is unavailable and there are content - filters active but the prevent-compression action is disabled, - the show-url-info page includes a warning that compression - might prevent filtering. +> Privoxy-Log-Parser is roughly 40% faster in highlighting mode.
The show-url-info page provides an OpenSearch Description that - allows to access the page through browser search plugins. +> uagen, a Firefox User-Agent generator for Privoxy and Mozilla + browsers has been imported and is available in the tarballs + tools directory.
The obsolete kill-popups action has been removed as the - PCRS-based popup filters can do the same and are slightly - less unreliable. +> The scripts in the tools directory treat unknown parameters + as fatal errors.
If you missed the previous two beta versions, you may also be + interested in the additional changes since 3.0.12, the + last stable release:
The inspect-jpegs action has been removed. +> Added IPv6 support. Thanks to Petr Pisar who not only provided + the initial patch but also helped a lot with the integration.
The send-wafer and send-vanilla-wafer actions have been removed. - They weren't particular useful and their behaviour could be emulated - with add-header anyway. +> Added client-side keep-alive support.
Privoxy-Regression-Test has been significantly improved. +> The connection sharing code is only used if the connection-sharing + option is enabled.
Most sections in the default.action file contain tests for - Privoxy-Regression-Test to verify that they are working as intended. +> The latency is taken into account when evaluating whether or not to + reuse a connection. This should significantly reduce the number of + connections problems several users reported.
Parts of Privoxy have been refactored to increase maintainability. +> The max-client-connections option has been added to restrict + the number of client connections below a value enforced by + the operating system.
Building with zlib (if available) is done by default. +> If the server doesn't specify how long the connection stays alive, + Privoxy errs on the safe side of caution and assumes it's only a second.
Ordinary configuration file changes no longer cause program - termination on OS/2 if the name of the logfile hasn't been - changed as well. This regression probably crept in with the - logging improvements in 3.0.7. Reported by Maynard. +> Setting keep-alive-timeout to 0 disables keep-alive support. Previously + Privoxy would claim to allow persistence but not reuse the connection.
The img-reorder filter is less likely to mess up JavaScript code in - img tags. Problem and solution reported by Glenn Washburn in #2014552. +> Pipelined requests are less likely to be mistaken for the request + body of the previous request. Note that Privoxy still has no real + pipeline support and will either serialize pipelined requests or + drop them in which case the client has to resent them.
The source tar ball now includes Privoxy-Log-Parser, - a syntax-highlighter for Privoxy logs. Documentation is available - through perldoc(1), for fancy screenshots see: - http://www.fabiankeil.de/sourcecode/privoxy-log-parser/. +> Fixed a crash on some Windows versions when header randomization + is enabled and the date couldn't be parsed. +
Privoxy's keep-alive timeout for the current connection is reduced + to the one specified in the client's Keep-Alive header. +
For HTTP/1.1 requests, Privoxy implies keep-alive support by not + setting any Connection header instead of using 'Connection: keep-alive'. +
If the socket isn't reusable, Privoxy doesn't temporarily waste + a socket slot to remember the connection. +
If keep-alive support is disabled but compiled in, the client's + Keep-Alive header is removed. +
Fixed a bug on mingw32 where downloading large files failed if + keep-alive support was enabled. +
Fixed a bug that (at least theoretically) could cause log + timestamps to be occasionally off by about a second. +
The configure script respects the $PATH variable when searching + for groups and id. +
Compressed content with extra fields couldn't be decompressed + and would get passed to the client unfiltered. This problem + has only be detected through statical analysis with clang as + nobody seems to be using extra fields anyway. +
If the server resets the Connection after sending only the headers + Privoxy forwards what it got to the client. Previously Privoxy + would deliver an error message instead. +
Error messages in case of connection timeouts use the right + HTTP status code. +
If spawning a child to handle a request fails, the client + gets an error message and Privoxy continues to listen for + new requests right away. +
The error messages in case of server-connection timeouts or + prematurely closed server connections are now template-based. +
If zlib support isn't compiled in, Privoxy no longer tries to + filter compressed content unless explicitly asked to do so. +
In case of connections that are denied based on ACL directives, + the memory used for the client IP is no longer leaked. +
Fixed another small memory leak if the client request times out + while waiting for client headers other than the request line. +
The client socket is kept open until the server socket has + been marked as unused. This should increase the chances that + the still-open connection will be reused for the client's next + request to the same destination. Note that this only matters + if connection-sharing is enabled. +
A TODO list has been added to the source tarballs to give potential + volunteers a better idea of what the current goals are. Donations + are still welcome too: http://www.privoxy.org/faq/general.html#DONATE +
In case of missing server data, no error message is send to the + client if the request arrived on a reused connection. The client + is then supposed to silently retry the request without bothering + the user. This should significantly reduce the frequency of the + "No server or forwarder data received" error message many users + reported. +
More reliable detection of prematurely closed client sockets + with keep-alive enabled. +
FEATURE_CONNECTION_KEEP_ALIVE is decoupled from + FEATURE_CONNECTION_SHARING and now available on + all platforms. +
Improved handling of POST requests on reused connections. + Should fix problems with stalled connections after submitting + form data with some browser configurations. +
Fixed various latency calculation issues. +
Allows the client to pass NTLM authentication requests to a + forwarding proxy. This was already assumed and hinted to work + in 3.0.13 beta but actually didn't. Now it's confirmed to work + with IE, Firefox and Chrome. + Thanks to Francois Botha and Wan-Teh Chang +
Fixed a calculation problem if receiving the server headers + takes more than two reads, that could cause Privoxy to terminate + the connection prematurely. Reported by Oliver. +
Compiles again on platforms such as OpenBSD and systems + using earlier glibc version that don't support AI_ADDRCONFIG. + Anonymously submitted in #2872591. +
A bunch of MS VC project files and Suse and Redhat RPM spec + files have been removed as they were no longer maintained for + quite some time. +
Overly long action lines are properly rejected with a proper + error message. Previously they would be either rejected as + invalid or cause a core dump through abort(). +
Already timed-out connections are no longer temporarily remembered. + They weren't reused anyway, but wasted a socket slot. +
len refers to the number of bytes actually read which might + differ from the ones received. Adjust log messages accordingly. +
The optional JavaScript on the CGI page uses encodeURIComponent() + instead of escape() which doesn't encode all characters that matter. + Anonymously reported in #2832722. +
Fix gcc45 warnings in decompress_iob(). +
Various log message improvements. +
Privoxy-Regression-Test supports redirect tests. +
Privoxy-Log-Parser can gather some connection statistics.
For a more detailed list of changes please have a look at the ChangeLog.
The "filter-client-headers" and - "filter-server-headers" actions that were introduced with - Privoxy 3.0.5 to apply content filters to - the headers have been removed and replaced with new actions. - See the What's New section above. -