- - Fix --disable-ipv6-support compile option for the Windows platform.
- - Attempt to work around (or at least reduce the) video playback issues with
- various Apple clients as reported in #3426305. In client_range(), let
- headers pass if the range starts at the beginning.
- - In pcrs_get_delimiter(), do not use delimiters ouside the ASCII range.
- Fixes a clang complaint.
- - In socks5_connect(), do not try to print a negative number of socks
- response bytes if the read() for the socks5 negotiation failed
- completely. It's an API violation and can trigger an assert() in debug
- builds with "debug 2" enabled. Except for the assert(), log_error()
- already handled negative %N values gracefully so this commit only makes a
- difference for debug builds.
- - Fix a Windows-specific log viewer thread safety issue, as reported by Tim
- H. in #3525694.
- - 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.
- - Fix latency calculation for shared connections; broken since a regression
- in 2009. The calculated latency for most connections would be 0 due to
- remember_connection() always putting the timestamps in the first slot.
- - Let fatal_error() write to the logfile right away, before showing the
- Windows-specific error message which blocks until the user acknowledges it,
- thus complicating automatic error detection. Reported by Adriaan in
- #3593603.
- - Fix an error message in get_last_url() nobody is supposed to see. Reported
- by Matthew Fischer in #3507301.
- - Fix a typo in the no-zlib-support complaint. Patch submitted by Matthew
- Fischer in #3507304.
- - Update an error message that still tried to print directive_hash as long
- - Let server_set_cookie() stay silent when the cookie isn't modified. It
- previously would claim to have created a session cookie after letting a
- session cookie pass unmodified.
- - Make any_loaded_file_changed() more reliable. Using the timestamps from. If
- an action or filter file is reloaded the timestamps aren't updated so
- any_loaded_file_changed() continued to report file changes.
+ - Client sockets are now properly shutdown and drained before being
+ closed. This fixes page truncation issues with clients that aggressively
+ pipeline data on platforms that otherwise discard already written data.
+ The issue mainly affected Opera users and was initially reported
+ by Kevin in #3464439, szotsaki provided additional information to track
+ down the cause.
+ - Fix latency calculation for shared connections (disabled by default).
+ It was broken since their introduction in 2009. The calculated latency
+ for most connections would be 0 in which case the timeout detection
+ failed to account for the real latency.
+ - Reject URLs with invalid port. Previously they were parsed incorrectly and
+ characters between the port number and the first slash were silently
+ dropped as shown by curl test 187.
+ - The default-server-timeout and socket-timeout directives accept 0 as
+ valid value.
+ - Fix a race condition on Windows that could cause Privoxy to become
+ unresponsive after toggling it on or off through the taskbar icon.
+ Reported by Tim H. in #3525694.
+ - Fix the compilation on Windows when configured without IPv6 support.
+ - Fix an assertion that could cause debug builds to abort() in case of
+ socks5 connection failures with "debug 2" enabled.
+ - Fix an assertion that could cause debug builds to abort() if a filter
+ contained nul bytes in the replacement text.