Comment 12 for bug 1009436

Revision history for this message
Graham Inggs (ginggs) wrote :

I believe this is revision 306:

Rev 306, 2012-04-07 02:54:51
Author: dave
Log message:
* Properly handle non-HTTP/1.1 keep-alive (many proxies respond with 1.1 even when client is 1.0)
and they happily add keep-alive connection, which we held open and 1.0 clients hanged. Now, HTTP
version is detected based purely on the client's original request and explicit keep-alive/close
headers are added to the replies based on its version. When "close" header is present, Cntlm
actually closes the connection to satisfy truly 0.9/1.0 clients (even though parent proxy
returned keep-alive) and now both 1.1 and 1.0 clients get what they expect. May need more testing,
but seems to work OK in both the DIRECT and PROXY handlers.
* Added more detailed debug logging of HTTP header versions from clients and servers/proxyies alike.
* Some additional write() return value checks (some dummy) to keep new GCC from spewing the
return-value-not-used warnings, even though we sometimes really don't care about the result.
Adding this specific warning suppression flag in the Makefile broke compilation with older GCC
versions.

Attaching output of:
$ svn di --old=http://svn.awk.cz/cntlm/trunk@305 --new=http://svn.awk.cz/cntlm/trunk@306 >r306.patch