- Add support for chunk-encoded client request bodies. Previously
- chunk-encoded request bodies weren't guaranteed to be forwarded correctly,
- so this can also be considered a bug fix although chunk-encoded request
- bodies aren't commonly used in the real world.
- </para>
- </listitem>
- <listitem>
- <para>
- Add support for Tor's optimistic-data SOCKS extension, which can reduce the
- latency for requests on newly created connections. Currently only the
- headers are sent optimistically and only if the client request has already
- been read completely which rules out requests with large bodies.
- </para>
- </listitem>
- <listitem>
- <para>
- After preventing the client from pipelining, don't signal keep-alive
- intentions. When looking at the response headers alone, it previously
- wasn't obvious from the client's perspective that no additional responses
- should be expected.
- </para>
- </listitem>
- <listitem>
- <para>
- Stop considering client sockets tainted after receiving a request with body.
- It hasn't been necessary for a while now and unnecessarily causes test
- failures when using curl's test suite.
- </para>
- </listitem>
- <listitem>
- <para>
- Allow HTTP/1.0 clients to signal interest in keep-alive through the
- Proxy-Connection header. While such client are rare in the real world, it
- doesn't hurt and couple of curl tests rely on it.
- </para>
- </listitem>
- <listitem>
- <para>
- Only remove duplicated Content-Type headers when filters are enabled.
- If they are not it doesn't cause ill effects and the user might not want it.
- Downgrade the removal message to LOG_LEVEL_HEADER to clarify that it's not
- an error in Privoxy and is unlikely to cause any problems in general.
- Anonymously reported in #3599335.
- </para>
- </listitem>
- <listitem>
- <para>
- Set the socket option SO_LINGER for the client socket.
- </para>
- </listitem>
- <listitem>
- <para>
- Move several variable declarations to the beginning of their code block.
- It's required when compiling with gcc 2.95 which is still used on some
- platforms. Initial patch submitted by Simon South in #3564815.
- </para>
- </listitem>
- <listitem>
- <para>
- Optionally try to sanity-check strptime() results before trusting them.
- Broken strptime() implementations have caused problems in the past and
- the most recent offender seems to be FreeBSD's libc (standards/173421).
- </para>
- </listitem>
- <listitem>
- <para>
- When filtering is enabled, let Range headers pass if the range starts at
- the beginning. This should work around (or at least reduce) the video
- playback issues with various Apple clients as reported by Duc in #3426305.
- </para>
- </listitem>
- <listitem>
- <para>
- Do not confuse a client hanging up with a connection time out. If a client
- closes its side of the connection without sending a request line, do not
- send the CLIENT_CONNECTION_TIMEOUT_RESPONSE, but report the condition
- properly.
- </para>
- </listitem>
- <listitem>
- <para>
- Allow closing curly braces as part of action values as long as they are
- escaped.
- </para>
- </listitem>
- <listitem>
- <para>
- On Windows, the logfile is now written before showing the GUI error
- message which blocks until the user acknowledges it.
- Reported by Adriaan in #3593603.
- </para>
- </listitem>
- <listitem>
- <para>
- Remove an unreasonable parameter limit in the CGI interface. The new
- parameter limit depends on the memory available and is currently unlikely
- to be reachable, due to other limits in both Privoxy and common clients.
- Reported by Andrew on ijbswa-users@.
- </para>
- </listitem>
- <listitem>
- <para>
- Decrease the chances of parse failures after requests with unsupported
- methods were sent to the CGI interface.