The unified diff between revisions [78dc1768..] and [3a12b1ae..] is displayed below. It can also be downloaded as a raw diff.

#
#
# patch "src/HttpHeader.c"
#  from [f130fccd6139140980f19965058577fb573780f7]
#    to [ad0e2fa0c182a0de43098501794c580de94bcd8d]
#
# patch "src/client_side.c"
#  from [ccf0d7a63d8a6f64a14503f413fbdc9aa28bee2c]
#    to [aeb1c49f1a704cceb4928f31ac6df0b91c200cad]
#
============================================================
--- src/HttpHeader.c	f130fccd6139140980f19965058577fb573780f7
+++ src/HttpHeader.c	ad0e2fa0c182a0de43098501794c580de94bcd8d
@@ -105,6 +105,7 @@ static const HttpHeaderFieldAttrs Header
     {"Proxy-Authentication-Info", HDR_PROXY_AUTHENTICATION_INFO, ftStr},
     {"Proxy-Authorization", HDR_PROXY_AUTHORIZATION, ftStr},
     {"Proxy-Connection", HDR_PROXY_CONNECTION, ftStr},
+    {"Proxy-support", HDR_PROXY_SUPPORT, ftStr},
     {"Public", HDR_PUBLIC, ftStr},
     {"Range", HDR_RANGE, ftPRange},
     {"Referer", HDR_REFERER, ftStr},
@@ -151,6 +152,7 @@ static http_hdr_type ListHeadersArr[] =
     HDR_IF_MATCH, HDR_IF_NONE_MATCH,
     HDR_LINK, HDR_PRAGMA,
     HDR_PROXY_CONNECTION,
+    HDR_PROXY_SUPPORT,
     HDR_TRANSFER_ENCODING,
     HDR_UPGRADE,
     HDR_VARY,
============================================================
--- src/client_side.c	ccf0d7a63d8a6f64a14503f413fbdc9aa28bee2c
+++ src/client_side.c	aeb1c49f1a704cceb4928f31ac6df0b91c200cad
@@ -1033,7 +1033,7 @@ clientInterpretRequestHeaders(clientHttp
 	if (request->range)
 	    request->flags.range = 1;
     }
-    if (httpHeaderHas(req_hdr, HDR_AUTHORIZATION))
+    if ((httpHeaderHas(req_hdr, HDR_AUTHORIZATION)) || (request->flags.pinned))
 	request->flags.auth = 1;
     if (request->login[0] != '\0')
 	request->flags.auth = 1;
@@ -1443,8 +1443,12 @@ clientBuildReplyHeader(clientHttpRequest
 			(value[4] == '\0' || value[4] == ' '))
 		    ||
 		    (strncasecmp(value, "Negotiate", 9) == 0 &&
-			(value[9] == '\0' || value[9] == ' ')))
+			(value[9] == '\0' || value[9] == ' '))) {
+		    httpHeaderPutStr(hdr, HDR_PROXY_SUPPORT, "Session-Based-Authentication");
+		    httpHeaderPutStr(hdr, HDR_CONNECTION, "Proxy-support");
 		    request->flags.pinned=1;
+		    break;
+		}
 	    }
 	}
     }