- Accepts quoted expiration dates even though RFC 2109 10.1.2
- doesn't seem to allow them. Reported anonymously.
- </para>
- </listitem>
- <listitem>
- <para>
- Don't try to forget connections if connection sharing is disabled.
- This wasn't a real problem but caused an unnecessary log message.
- </para>
- </listitem>
- <listitem>
- <para>
- The still undocumented --enable-extended-host-patterns configure
- option has a better description.
- </para>
- </listitem>
- <listitem>
- <para>
- Fixed an error message that would claim a write to the server
- failed when actually writing to the client failed.
- </para>
- </listitem>
- <listitem>
- <para>
- Log the crunch reason before trying to write to the client.
- The log is easier to read that way.
- </para>
- </listitem>
- <listitem>
- <para>
- Several log messages about client connections also mention
- the socket number.
- </para>
- </listitem>
- <listitem>
- <para>
- handle-as-empty-document no longer depends on the image blocking
- code being enabled.
- </para>
- </listitem>
- <listitem>
- <para>
- Privoxy-Log-Parser is roughly 40% faster in highlighting mode.
- </para>
- </listitem>
- <listitem>
- <para>
- uagen, a Firefox User-Agent generator for Privoxy and Mozilla
- browsers has been imported and is available in the tarball's
- tools directory.
- </para>
- </listitem>
- <listitem>
- <para>
- The scripts in the tools directory treat unknown parameters
- as fatal errors.
- </para>
- </listitem>
- </itemizedlist>
-</para>
-
-<para>
- If you missed the previous three beta versions, you may also be
- interested in the additional changes since 3.0.12, the
- last stable release:
-</para>
-
-<para>
- <itemizedlist>
- <listitem>
- <para>
- Added IPv6 support. Thanks to Petr Pisar who not only provided
- the initial patch but also helped a lot with the integration.
- </para>
- </listitem>
- <listitem>
- <para>
- Added client-side keep-alive support.
- </para>
- </listitem>
- <listitem>
- <para>
- The connection sharing code is only used if the connection-sharing
- option is enabled.
- </para>
- </listitem>
- <listitem>
- <para>
- 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.
- </para>
- </listitem>
- <listitem>
- <para>
- The max-client-connections option has been added to restrict
- the number of client connections below a value enforced by
- the operating system.
- </para>
- </listitem>
- <listitem>
- <para>
- 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.
- </para>
- </listitem>
- <listitem>
- <para>
- Setting keep-alive-timeout to 0 disables keep-alive support. Previously
- Privoxy would claim to allow persistence but not reuse the connection.
- </para>
- </listitem>
- <listitem>
- <para>
- 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.
- </para>
- </listitem>
- <listitem>
- <para>
- Fixed a crash on some Windows versions when header randomization
- is enabled and the date couldn't be parsed.
- </para>
- </listitem>
- <listitem>
- <para>
- Privoxy's keep-alive timeout for the current connection is reduced
- to the one specified in the client's Keep-Alive header.
- </para>
- </listitem>
- <listitem>
- <para>
- For HTTP/1.1 requests, Privoxy implies keep-alive support by not
- setting any Connection header instead of using 'Connection: keep-alive'.
- </para>
- </listitem>
- <listitem>
- <para>
- If the socket isn't reusable, Privoxy doesn't temporarily waste
- a socket slot to remember the connection.
- </para>
- </listitem>
- <listitem>
- <para>
- If keep-alive support is disabled but compiled in, the client's
- Keep-Alive header is removed.
- </para>
- </listitem>
- <listitem>
- <para>
- Fixed a bug on mingw32 where downloading large files failed if
- keep-alive support was enabled.
- </para>
- </listitem>
- <listitem>
- <para>
- Fixed a bug that (at least theoretically) could cause log
- timestamps to be occasionally off by about a second.
- </para>
- </listitem>
- <listitem>
- <para>
- The configure script respects the $PATH variable when searching
- for groups and id.
- </para>
- </listitem>
- <listitem>
- <para>
- 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.
- </para>
- </listitem>
- <listitem>
- <para>
- 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.
- </para>
- </listitem>
- <listitem>
- <para>
- Error messages in case of connection timeouts use the right
- HTTP status code.
- </para>
- </listitem>
- <listitem>
- <para>
- 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.
- </para>
- </listitem>
- <listitem>
- <para>
- The error messages in case of server-connection timeouts or
- prematurely closed server connections are now template-based.
- </para>
- </listitem>
- <listitem>
- <para>
- If zlib support isn't compiled in, Privoxy no longer tries to
- filter compressed content unless explicitly asked to do so.
- </para>
- </listitem>
- <listitem>
- <para>
- In case of connections that are denied based on ACL directives,
- the memory used for the client IP is no longer leaked.
- </para>
- </listitem>
- <listitem>
- <para>
- Fixed another small memory leak if the client request times out
- while waiting for client headers other than the request line.
- </para>
- </listitem>
- <listitem>
- <para>
- 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.
- </para>
- </listitem>
- <listitem>
- <para>
- A TODO list has been added to the source tarball 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
- </para>
- </listitem>
- <listitem>
- <para>
- 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.
- </para>
- </listitem>
- <listitem>
- <para>
- More reliable detection of prematurely closed client sockets
- with keep-alive enabled.
- </para>
- </listitem>
- <listitem>
- <para>
- FEATURE_CONNECTION_KEEP_ALIVE is decoupled from
- FEATURE_CONNECTION_SHARING and now available on
- all platforms.
- </para>
- </listitem>
- <listitem>
- <para>
- Improved handling of POST requests on reused connections.
- Should fix problems with stalled connections after submitting
- form data with some browser configurations.
- </para>
- </listitem>
- <listitem>
- <para>
- Fixed various latency calculation issues.
- </para>
- </listitem>
- <listitem>
- <para>
- 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
- </para>
- </listitem>
- <listitem>
- <para>
- 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.
- </para>
- </listitem>
- <listitem>
- <para>
- Compiles again on platforms such as OpenBSD and systems
- using earlier glibc version that don't support AI_ADDRCONFIG.
- Anonymously submitted in #2872591.
- </para>
- </listitem>
- <listitem>
- <para>
- 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.
- </para>
- </listitem>
- <listitem>
- <para>
- 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().
- </para>
- </listitem>
- <listitem>
- <para>
- Already timed-out connections are no longer temporarily remembered.
- They weren't reused anyway, but wasted a socket slot.
- </para>
- </listitem>
- <listitem>
- <para>
- len refers to the number of bytes actually read which might
- differ from the ones received. Adjust log messages accordingly.