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;
+ }
}
}
}