8174985: NTLM authentication doesn't work with IIS if NTLM cache is disabled
Reviewed-by: aefimov, chegar, rhalade
--- a/jdk/src/java.base/share/classes/sun/net/www/http/HttpClient.java Wed Feb 22 15:23:09 2017 +0530
+++ b/jdk/src/java.base/share/classes/sun/net/www/http/HttpClient.java Thu Feb 23 12:08:44 2017 +0000
@@ -963,7 +963,11 @@
pi.setContentType(responses.findValue("content-type"));
}
- if (isKeepingAlive()) {
+ // If disableKeepAlive == true, the client will not be returned
+ // to the cache. But we still need to use a keepalive stream to
+ // allow the multi-message authentication exchange on the connection
+ boolean useKeepAliveStream = isKeepingAlive() || disableKeepAlive;
+ if (useKeepAliveStream) {
// Wrap KeepAliveStream if keep alive is enabled.
logFinest("KeepAlive stream used: " + url);
serverInput = new KeepAliveStream(serverInput, pi, cl, this);