- <p>Increase the hard-coded maximum number of actions and filter
- files from 10 to 30 (each). It doesn't significantly affect
- Privoxy's memory usage and recompiling wasn't an option for all
- Privoxy users that reached the limit.</p>
- </li>
-
- <li>
- <p>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.</p>
- </li>
-
- <li>
- <p>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.</p>
- </li>
-
- <li>
- <p>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.</p>
- </li>
-
- <li>
- <p>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.</p>
- </li>
-
- <li>
- <p>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.</p>
- </li>
-
- <li>
- <p>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.</p>
- </li>
-
- <li>
- <p>Set the socket option SO_LINGER for the client socket.</p>
- </li>
-
- <li>
- <p>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.</p>
- </li>
-
- <li>
- <p>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).</p>
- </li>
-
- <li>
- <p>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.</p>
- </li>
-
- <li>
- <p>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.</p>
- </li>
-
- <li>
- <p>Allow closing curly braces as part of action values as long as
- they are escaped.</p>
- </li>
-
- <li>
- <p>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.</p>
- </li>
-
- <li>
- <p>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