changeset 12639:f988f6ddba16

8174985: NTLM authentication doesn't work with IIS if NTLM cache is disabled Reviewed-by: dfuchs
author aefimov
date Tue, 28 Feb 2017 14:44:01 +0300
parents a7f4fae6f24d
children 6202ca092cb4
files src/share/classes/sun/net/www/http/HttpClient.java
diffstat 1 files changed, 5 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/src/share/classes/sun/net/www/http/HttpClient.java	Mon Feb 27 17:43:34 2017 +0000
+++ b/src/share/classes/sun/net/www/http/HttpClient.java	Tue Feb 28 14:44:01 2017 +0300
@@ -952,7 +952,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);