- <p>Fix a logic bug that could cause Privoxy to reuse a server
- socket after it got tainted by a server-header-tagger-induced
- block that was triggered before the whole server response had
- been read. If keep-alive was enabled and the request following
- the blocked one was to the same host and using the same
- forwarding settings, Privoxy would send it on the tainted server
- socket. While the server would simply treat it as a pipelined
- request, Privoxy would later on fail to properly parse the
- server's response as it would try to parse the unread data from
- the first response as server headers for the second one.
- Regression introduced in 3.0.17.</p>
+ <p>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.</p>