Index: java/org/apache/commons/httpclient/HttpMethodBase.java =================================================================== RCS file: /home/cvspublic/jakarta-commons/httpclient/src/java/org/apache/commons/httpclient/HttpMethodBase.java,v retrieving revision 1.159.2.18 diff -u -r1.159.2.18 HttpMethodBase.java --- java/org/apache/commons/httpclient/HttpMethodBase.java 3 Nov 2003 23:21:08 -0000 1.159.2.18 +++ java/org/apache/commons/httpclient/HttpMethodBase.java 16 Nov 2003 21:37:47 -0000 @@ -1,5 +1,5 @@ /* - * $Header: /home/cvspublic/jakarta-commons/httpclient/src/java/org/apache/commons/httpclient/HttpMethodBase.java,v 1.159.2.18 2003/11/03 23:21:08 olegk Exp $ + * $Header: /home/cvs/jakarta-commons/httpclient/src/java/org/apache/commons/httpclient/HttpMethodBase.java,v 1.159.2.18 2003/11/03 23:21:08 olegk Exp $ * $Revision: 1.159.2.18 $ * $Date: 2003/11/03 23:21:08 $ * @@ -2535,10 +2535,15 @@ realmsUsed.add(realm); } - removeRequestHeader(HttpAuthenticator.WWW_AUTH_RESP); - removeRequestHeader(HttpAuthenticator.PROXY_AUTH_RESP); + if ("NTLM".equalsIgnoreCase(authscheme.getSchemeName())) { + //NTLM is a connection oriented authentication scheme + // unlike Basic & Digest that are request oriented schemes + // Make sure that 'old' authentication request headers + // are not in the way + removeRequestHeader(HttpAuthenticator.WWW_AUTH_RESP); + removeRequestHeader(HttpAuthenticator.PROXY_AUTH_RESP); + } try { - //remove preemptive header and reauthenticate switch (statusCode) { case HttpStatus.SC_UNAUTHORIZED: authenticated = HttpAuthenticator.authenticate(