You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@hc.apache.org by bu...@apache.org on 2003/02/07 00:08:21 UTC
DO NOT REPLY [Bug 16861] New: -
Digest Authentication fails with Microsoft ISA, appears hung to user
DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG
RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT
<http://nagoya.apache.org/bugzilla/show_bug.cgi?id=16861>.
ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND
INSERTED IN THE BUG DATABASE.
http://nagoya.apache.org/bugzilla/show_bug.cgi?id=16861
Digest Authentication fails with Microsoft ISA, appears hung to user
Summary: Digest Authentication fails with Microsoft ISA, appears
hung to user
Product: Commons
Version: 2.0 Alpha 2
Platform: PC
OS/Version: Windows NT/2K
Status: NEW
Severity: Major
Priority: Other
Component: HttpClient
AssignedTo: commons-httpclient-dev@jakarta.apache.org
ReportedBy: ncoleman@leanlogistics.com
Basic and NTLM (Integrated) authentication works with Microsoft ISA Server.
When using Digest, it appears that the Realm is not parsed correctly.
Also, the code repeats in a loop inside the HttpMethodBase.execute(HttpState,
HttpConn) method up to 100 times retrying the bad password before exiting which
has the result of looking like a locked up piece of software to the user.
The digest string returned is as follows:
Proxy-Authenticate: Digest qop="auth", realm="TESTBED.leanlogistics.com",
nonce="3fdf45e4dadcf0aa871040200000e79800002c4eadc7f06b3e4b9f2326e1"
Debug tracing logs shows the following:
18:03:21,295 TRACE [HttpState] enter HttpState.setProxyCredentials(String,
credentials)
18:03:21,305 TRACE [GetMethod] enter GetMethod(String)
18:03:21,305 TRACE [PostMethod] enter PostMethod.getRequestBody(InputStream)
18:03:21,305 TRACE [HttpMethod] HttpMethodBase.addRequestHeader(Header)
18:03:21,305 TRACE [HttpMethod] HttpMethodBase.addRequestHeader(Header)
18:03:21,305 TRACE [HttpMethod] HttpMethodBase.addRequestHeader(Header)
18:03:21,305 TRACE [HttpClient] enter HttpClient.executeMethod(HttpMethod)
18:03:21,305 TRACE [HttpClient] enter HttpClient.executeMethod
(HostConfiguration,HttpMethod)
18:03:21,305 TRACE [MultiThreadedHttpConnectionManager] enter
HttpConnectionManager.getConnection(HostConfiguration, long)
18:03:21,305 DEBUG [MultiThreadedHttpConnectionManager]
HttpConnectionManager.getConnection: config =
org.apache.commons.httpclient.HostConfiguration@2cb842ad, timeout = 0
18:03:21,305 TRACE [MultiThreadedHttpConnectionManager] enter
HttpConnectionManager.getConnections(String)
18:03:21,305 DEBUG [HttpConnection] HttpConnectionManager.getConnection:
creating connection for 172.16.1.111:8080 via testbed:8080 using protocol:
http:80
18:03:21,305 DEBUG [HttpConnection] HttpConnection.setSoTimeout(0)
18:03:21,305 TRACE [HttpConnection] enter HttpConnection.open()
18:03:21,315 TRACE [HttpMethod] enter HttpMethodBase.execute(HttpState,
HttpConnection)
18:03:21,315 TRACE [Authenticator] enter Authenticator.authenticate(HttpMethod,
HttpState)
18:03:21,315 TRACE [Authenticator] enter Authenticator.authenticate(HttpMethod,
HttpState, Header, String)
18:03:21,315 TRACE [Authenticator] enter Authenticator.authenticateProxy
(HttpMethod, HttpState)
18:03:21,315 TRACE [Authenticator] enter Authenticator.authenticate(HttpMethod,
HttpState, Header, String)
18:03:21,706 DEBUG [HttpMethod] Execute loop try 1
18:03:21,706 TRACE [HttpMethod] enter HttpMethodBase.processRequest(HttpState,
HttpConnection)
18:03:21,706 TRACE [HttpMethod] Attempt number 1 to write request
18:03:21,706 TRACE [HttpMethod] enter HttpMethodBase.writeRequest(HttpState,
HttpConnection)
18:03:21,706 TRACE [HttpMethod] enter HttpMethodBase.writeRequestLine
(HttpState, HttpConnection)
18:03:21,706 TRACE [HttpMethod] enter HttpMethodBase.generateRequestLine
(HttpConnection, String, String, String, String)
18:03:21,706 TRACE [HttpConnection] enter HttpConnection.print(String)
18:03:21,706 TRACE [HttpConnection] enter HttpConnection.write(byte[])
18:03:21,706 TRACE [HttpConnection] enter HttpConnection.write(byte[], int, int)
18:03:21,706 TRACE [HttpMethod] enter HttpMethodBase.writeRequestHeaders
(HttpState,HttpConnection)
18:03:21,706 TRACE [HttpMethod] enter HttpMethodBase.addRequestHeaders
(HttpState, HttpConnection)
18:03:21,706 TRACE [HttpMethod] enter HttpMethodBase.addUserAgentRequestHeaders
(HttpState, HttpConnection)
18:03:21,706 TRACE [HttpMethod] enter HttpMethodBase.addHostRequestHeader
(HttpState, HttpConnection)
18:03:21,706 DEBUG [HttpMethod] Adding Host request header
18:03:21,706 TRACE [HttpMethod] enter HttpMethodBase.addCookieRequestHeader
(HttpState, HttpConnection)
18:03:21,706 TRACE [HttpState] enter HttpState.getCookies()
18:03:21,706 TRACE [CookieSpec] enter CookieSpecBase.match(String, int, String,
boolean, Cookie[])
18:03:21,706 TRACE [HttpMethod] enter
HttpMethodBase.addAuthorizationRequestHeader(HttpState, HttpConnection)
18:03:21,706 TRACE [HttpMethod] enter
HttpMethodBase.addProxyAuthorizationRequestHeader(HttpState, HttpConnection)
18:03:21,706 TRACE [HttpMethod] enter
HttpMethodBase.addContentLengthRequestHeader(HttpState, HttpConnection)
18:03:21,706 TRACE [PostMethod] enter PostMethod.getRequestContentLength()
18:03:21,706 TRACE [PostMethod] enter PostMethod.bufferContent()
18:03:21,706 TRACE [HttpConnection] enter HttpConnection.print(String)
18:03:21,706 TRACE [HttpConnection] enter HttpConnection.write(byte[])
18:03:21,706 TRACE [HttpConnection] enter HttpConnection.write(byte[], int, int)
18:03:21,706 TRACE [HttpConnection] enter HttpConnection.print(String)
18:03:21,706 TRACE [HttpConnection] enter HttpConnection.write(byte[])
18:03:21,706 TRACE [HttpConnection] enter HttpConnection.write(byte[], int, int)
18:03:21,716 TRACE [HttpConnection] enter HttpConnection.print(String)
18:03:21,716 TRACE [HttpConnection] enter HttpConnection.write(byte[])
18:03:21,716 TRACE [HttpConnection] enter HttpConnection.write(byte[], int, int)
18:03:21,716 TRACE [HttpConnection] enter HttpConnection.print(String)
18:03:21,716 TRACE [HttpConnection] enter HttpConnection.write(byte[])
18:03:21,716 TRACE [HttpConnection] enter HttpConnection.write(byte[], int, int)
18:03:21,716 TRACE [HttpConnection] enter HttpConnection.print(String)
18:03:21,716 TRACE [HttpConnection] enter HttpConnection.write(byte[])
18:03:21,716 TRACE [HttpConnection] enter HttpConnection.write(byte[], int, int)
18:03:21,716 TRACE [HttpConnection] enter HttpConnection.print(String)
18:03:21,716 TRACE [HttpConnection] enter HttpConnection.write(byte[])
18:03:21,716 TRACE [HttpConnection] enter HttpConnection.write(byte[], int, int)
18:03:21,716 TRACE [HttpConnection] enter HttpConnection.writeLine()
18:03:21,716 TRACE [PostMethod] enter PostMethod.writeRequestBody(HttpState,
HttpConnection)
18:03:21,716 TRACE [HttpConnection] enter HttpConnection.getRequestOutputStream
()
18:03:21,716 TRACE [HttpMethod] enter HttpMethodBase.readResponse(HttpState,
HttpConnection)
18:03:21,716 TRACE [HttpMethod] enter HttpMethodBase.readStatusLine(HttpState,
HttpConnection)
18:03:21,716 TRACE [HttpConnection] enter HttpConnection.readLine()
18:03:21,716 TRACE [HttpMethod] enter HttpMethodBase.readResponseHeaders
(HttpState,HttpConnection)
18:03:21,716 TRACE [HttpConnection] enter HttpConnection.readLine()
18:03:21,716 TRACE [HttpConnection] enter HttpConnection.readLine()
18:03:21,716 TRACE [HttpConnection] enter HttpConnection.readLine()
18:03:21,716 TRACE [HttpConnection] enter HttpConnection.readLine()
18:03:21,716 TRACE [HttpConnection] enter HttpConnection.readLine()
18:03:21,716 TRACE [HttpConnection] enter HttpConnection.readLine()
18:03:21,716 TRACE [HttpConnection] enter HttpConnection.readLine()
18:03:21,716 TRACE [HttpMethod] enter HttpMethodBase.processResponseHeaders
(HttpState, HttpConnection)
18:03:21,726 TRACE [GetMethod] enter GetMethod.readResponseBody(HttpState,
HttpConnection)
18:03:21,726 TRACE [HttpMethod] enter HttpMethodBase.readResponseBody
(HttpState, HttpConnection)
18:03:21,726 TRACE [HttpMethod] enter HttpMethodBase.readResponseBody
(HttpState, HttpConnection)
18:03:21,726 TRACE [HttpConnection] enter HttpConnection.getResponseInputStream
()
18:03:21,726 TRACE [HeaderElement] enter HeaderElement.parse(String)
18:03:21,726 TRACE [HeaderElement] enter HeaderElement.parsePair(char[], int,
int)
18:03:21,726 TRACE [HttpMethod] enter writeRemainingRequestBody(HttpState,
HttpConnection)
18:03:21,726 DEBUG [HttpMethod] Authorization required
18:03:21,726 TRACE [HttpMethod] enter
HttpMethodBase.processAuthenticationResponse(HttpState, HttpConnection)
18:03:21,726 TRACE [Authenticator] enter Authenticator.authenticateProxy
(HttpMethod, HttpState)
18:03:21,726 TRACE [Authenticator] enter Authenticator.authenticate(HttpMethod,
HttpState, Header, String)
18:03:21,726 TRACE [Authenticator] enter parseAuthenticateHeader(Header)
18:03:21,726 DEBUG [Authenticator] Attempting to parse authenticate
header: 'Proxy-Authenticate: Digest qop="auth",
realm="TESTBED.leanlogistics.com",
nonce="7218660df06906d608104020000074058de675986b9ab384da3fda2d09c4"
'
18:03:21,726 DEBUG [Authenticator] atStart =0, atQuote1 =11, atQuote2=16,
atComma =17
18:03:21,726 DEBUG [Authenticator] digest=>Digest qop="auth"
18:03:21,726 DEBUG [Authenticator] atStart =18, atQuote1 =25, atQuote2=51,
atComma =52
18:03:21,726 DEBUG [Authenticator]
realm="testbed.leanlogistics.com"=>realm="TESTBED.leanlogistics.com"
18:03:21,726 DEBUG [Authenticator] atStart =53, atQuote1 =60, atQuote2=121,
atComma =122
18:03:21,726 DEBUG [Authenticator]
nonce="7218660df06906d608104020000074058de675986b9ab384da3fda2d09c4"=>nonce="721
8660df06906d608104020000074058de675986b9ab384da3fda2d09c4"
18:03:21,726 DEBUG [Authenticator] Parsed realm 'auth' from challenge 'Digest
qop="auth"'
18:03:21,726 TRACE [Authenticator] enter Authenticator.digest(String,
HttpMethod, HttpState, String)
18:03:21,726 TRACE [HttpState] enter HttpState.getProxyCredentials(String)
18:03:21,726 TRACE [Authenticator] enter Authenticator.getHTTPDigestCredentials
(HttpMethod, boolean)
18:03:21,726 TRACE [Authenticator] enter Authenticator.processDigestToken
(String, Map)
18:03:21,726 TRACE [Authenticator] enter Authenticator.processDigestToken
(String, Map)
18:03:21,726 TRACE [Authenticator] enter Authenticator.processDigestToken
(String, Map)
18:03:21,726 TRACE [Authenticator] enter Authenticator.createCnonce()
18:03:21,726 TRACE [Authenticator] enter Authenticator.encode(byte[])
18:03:21,726 TRACE [Authenticator] enter Authenticator.digest
(UsernamePasswordCredentials, Map)
18:03:21,726 TRACE [Authenticator] enter Authenticator.createDigest(String,
String, Map)
18:03:21,726 TRACE [Authenticator] enter Authenticator.removeQuotes(String)
18:03:21,726 TRACE [Authenticator] enter Authenticator.removeQuotes(String)
18:03:21,726 TRACE [Authenticator] enter Authenticator.removeQuotes(String)
18:03:21,726 TRACE [Authenticator] enter Authenticator.removeQuotes(String)
18:03:21,726 TRACE [Authenticator] enter Authenticator.removeQuotes(String)
18:03:21,726 TRACE [Authenticator] enter Authenticator.removeQuotes(String)
18:03:21,736 TRACE [Authenticator] enter Authenticator.encode(byte[])
18:03:21,736 TRACE [Authenticator] enter Authenticator.encode(byte[])
18:03:21,736 TRACE [Authenticator] enter Authenticator.encode(byte[])
18:03:21,736 TRACE [Authenticator] enter Authenticator.createDigestHeader
(String, Map, String)
18:03:21,736 TRACE [Authenticator] enter Authenticator.removeQuotes(String)
18:03:21,736 TRACE [Authenticator] enter Authenticator.removeQuotes(String)
18:03:21,736 TRACE [Authenticator] enter Authenticator.removeQuotes(String)
18:03:21,736 TRACE [Authenticator] enter Authenticator.removeQuotes(String)
18:03:21,736 TRACE [Authenticator] enter Authenticator.removeQuotes(String)
18:03:21,736 TRACE [Authenticator] enter Authenticator.removeQuotes(String)
18:03:21,736 TRACE [Authenticator] enter Authenticator.removeQuotes(String)
18:03:21,736 TRACE [HttpMethod] HttpMethodBase.addRequestHeader(Header)
18:03:21,736 DEBUG [HttpMethod] HttpMethodBase.execute(): Server demanded
authentication credentials, will try again.
18:03:21,736 DEBUG [HttpMethod] Execute loop try 2
18:03:21,736 TRACE [HttpMethod] enter HttpMethodBase.processRequest(HttpState,
HttpConnection)
18:03:21,736 TRACE [HttpMethod] Attempt number 1 to write request
18:03:21,736 TRACE [HttpMethod] enter HttpMethodBase.writeRequest(HttpState,
HttpConnection)
18:03:21,736 TRACE [HttpMethod] enter HttpMethodBase.writeRequestLine
(HttpState, HttpConnection)
18:03:21,736 TRACE [HttpMethod] enter HttpMethodBase.generateRequestLine
(HttpConnection, String, String, String, String)
18:03:21,736 TRACE [HttpConnection] enter HttpConnection.print(String)
18:03:21,736 TRACE [HttpConnection] enter HttpConnection.write(byte[])
18:03:21,736 TRACE [HttpConnection] enter HttpConnection.write(byte[], int, int)
18:03:21,736 TRACE [HttpMethod] enter HttpMethodBase.writeRequestHeaders
(HttpState,HttpConnection)
18:03:21,736 TRACE [HttpMethod] enter HttpMethodBase.addRequestHeaders
(HttpState, HttpConnection)
18:03:21,736 TRACE [HttpMethod] enter HttpMethodBase.addUserAgentRequestHeaders
(HttpState, HttpConnection)
18:03:21,736 TRACE [HttpMethod] enter HttpMethodBase.addHostRequestHeader
(HttpState, HttpConnection)
18:03:21,736 DEBUG [HttpMethod] Request to add Host header ignored: header
already added
18:03:21,736 TRACE [HttpMethod] enter HttpMethodBase.addCookieRequestHeader
(HttpState, HttpConnection)
18:03:21,736 TRACE [HttpState] enter HttpState.getCookies()
18:03:21,736 TRACE [CookieSpec] enter CookieSpecBase.match(String, int, String,
boolean, Cookie[])
18:03:21,736 TRACE [HttpMethod] enter
HttpMethodBase.addAuthorizationRequestHeader(HttpState, HttpConnection)
18:03:21,736 TRACE [HttpMethod] enter
HttpMethodBase.addProxyAuthorizationRequestHeader(HttpState, HttpConnection)
18:03:21,736 TRACE [HttpMethod] enter
HttpMethodBase.addContentLengthRequestHeader(HttpState, HttpConnection)
18:03:21,736 TRACE [PostMethod] enter PostMethod.getRequestContentLength()
18:03:21,736 TRACE [HttpConnection] enter HttpConnection.print(String)
18:03:21,736 TRACE [HttpConnection] enter HttpConnection.write(byte[])
18:03:21,736 TRACE [HttpConnection] enter HttpConnection.write(byte[], int, int)
18:03:21,736 TRACE [HttpConnection] enter HttpConnection.print(String)
18:03:21,736 TRACE [HttpConnection] enter HttpConnection.write(byte[])
18:03:21,736 TRACE [HttpConnection] enter HttpConnection.write(byte[], int, int)
18:03:21,736 TRACE [HttpConnection] enter HttpConnection.print(String)
18:03:21,736 TRACE [HttpConnection] enter HttpConnection.write(byte[])
18:03:21,736 TRACE [HttpConnection] enter HttpConnection.write(byte[], int, int)
18:03:21,736 TRACE [HttpConnection] enter HttpConnection.print(String)
18:03:21,736 TRACE [HttpConnection] enter HttpConnection.write(byte[])
18:03:21,736 TRACE [HttpConnection] enter HttpConnection.write(byte[], int, int)
18:03:21,736 TRACE [HttpConnection] enter HttpConnection.print(String)
18:03:21,736 TRACE [HttpConnection] enter HttpConnection.write(byte[])
18:03:21,736 TRACE [HttpConnection] enter HttpConnection.write(byte[], int, int)
18:03:21,736 TRACE [HttpConnection] enter HttpConnection.print(String)
18:03:21,736 TRACE [HttpConnection] enter HttpConnection.write(byte[])
18:03:21,736 TRACE [HttpConnection] enter HttpConnection.write(byte[], int, int)
18:03:21,736 TRACE [HttpConnection] enter HttpConnection.print(String)
18:03:21,736 TRACE [HttpConnection] enter HttpConnection.write(byte[])
18:03:21,736 TRACE [HttpConnection] enter HttpConnection.write(byte[], int, int)
18:03:21,736 TRACE [HttpConnection] enter HttpConnection.writeLine()
18:03:21,736 TRACE [PostMethod] enter PostMethod.writeRequestBody(HttpState,
HttpConnection)
18:03:21,736 TRACE [HttpConnection] enter HttpConnection.getRequestOutputStream
()
18:03:21,736 TRACE [HttpMethod] enter HttpMethodBase.readResponse(HttpState,
HttpConnection)
18:03:21,736 TRACE [HttpMethod] enter HttpMethodBase.readStatusLine(HttpState,
HttpConnection)
18:03:21,746 TRACE [HttpConnection] enter HttpConnection.readLine()
18:03:21,876 TRACE [HttpMethod] enter HttpMethodBase.readResponseHeaders
(HttpState,HttpConnection)
18:03:21,876 TRACE [HttpConnection] enter HttpConnection.readLine()
18:03:21,876 TRACE [HttpConnection] enter HttpConnection.readLine()
18:03:21,886 TRACE [HttpConnection] enter HttpConnection.readLine()
18:03:21,916 TRACE [HttpConnection] enter HttpConnection.readLine()
18:03:21,916 TRACE [HttpConnection] enter HttpConnection.readLine()
18:03:22,097 TRACE [HttpConnection] enter HttpConnection.readLine()
18:03:22,097 TRACE [HttpConnection] enter HttpConnection.readLine()
18:03:22,097 TRACE [HttpConnection] enter HttpConnection.readLine()
18:03:22,097 TRACE [HttpConnection] enter HttpConnection.readLine()
18:03:22,097 TRACE [HttpMethod] enter HttpMethodBase.processResponseHeaders
(HttpState, HttpConnection)
18:03:22,097 TRACE [GetMethod] enter GetMethod.readResponseBody(HttpState,
HttpConnection)
18:03:22,097 TRACE [HttpMethod] enter HttpMethodBase.readResponseBody
(HttpState, HttpConnection)
18:03:22,097 TRACE [HttpMethod] enter HttpMethodBase.readResponseBody
(HttpState, HttpConnection)
18:03:22,097 TRACE [HttpConnection] enter HttpConnection.getResponseInputStream
()
18:03:22,097 TRACE [HeaderElement] enter HeaderElement.parse(String)
18:03:22,097 TRACE [HeaderElement] enter HeaderElement.parsePair(char[], int,
int)
18:03:22,097 TRACE [HttpMethod] enter writeRemainingRequestBody(HttpState,
HttpConnection)
18:03:22,097 DEBUG [HttpMethod] Authorization required
18:03:22,097 TRACE [HttpMethod] enter
HttpMethodBase.processAuthenticationResponse(HttpState, HttpConnection)
18:03:22,097 TRACE [Authenticator] enter Authenticator.authenticateProxy
(HttpMethod, HttpState)
18:03:22,097 TRACE [Authenticator] enter Authenticator.authenticate(HttpMethod,
HttpState, Header, String)
18:03:22,097 TRACE [Authenticator] enter parseAuthenticateHeader(Header)
18:03:22,097 DEBUG [Authenticator] Attempting to parse authenticate
header: 'Proxy-Authenticate: Digest qop="auth",
realm="TESTBED.leanlogistics.com",
nonce="87b13488013e2dbb0810402000000e6cdabe7855dcf67ed430fe4988eedc"
'
18:03:22,097 DEBUG [Authenticator] atStart =0, atQuote1 =11, atQuote2=16,
atComma =17
18:03:22,097 DEBUG [Authenticator] digest=>Digest qop="auth"
18:03:22,097 DEBUG [Authenticator] atStart =18, atQuote1 =25, atQuote2=51,
atComma =52
18:03:22,097 DEBUG [Authenticator]
realm="testbed.leanlogistics.com"=>realm="TESTBED.leanlogistics.com"
18:03:22,097 DEBUG [Authenticator] atStart =53, atQuote1 =60, atQuote2=121,
atComma =122
18:03:22,097 DEBUG [Authenticator]
nonce="87b13488013e2dbb0810402000000e6cdabe7855dcf67ed430fe4988eedc"=>nonce="87b
13488013e2dbb0810402000000e6cdabe7855dcf67ed430fe4988eedc"
18:03:22,097 DEBUG [Authenticator] Parsed realm 'auth' from challenge 'Digest
qop="auth"'
18:03:22,097 TRACE [Authenticator] enter Authenticator.digest(String,
HttpMethod, HttpState, String)
18:03:22,097 TRACE [HttpState] enter HttpState.getProxyCredentials(String)
18:03:22,097 TRACE [Authenticator] enter Authenticator.getHTTPDigestCredentials
(HttpMethod, boolean)
18:03:22,097 TRACE [Authenticator] enter Authenticator.processDigestToken
(String, Map)
18:03:22,097 TRACE [Authenticator] enter Authenticator.processDigestToken
(String, Map)
18:03:22,097 TRACE [Authenticator] enter Authenticator.processDigestToken
(String, Map)
18:03:22,097 TRACE [Authenticator] enter Authenticator.createCnonce()
18:03:22,097 TRACE [Authenticator] enter Authenticator.encode(byte[])
18:03:22,097 TRACE [Authenticator] enter Authenticator.digest
(UsernamePasswordCredentials, Map)
18:03:22,097 TRACE [Authenticator] enter Authenticator.createDigest(String,
String, Map)
18:03:22,107 TRACE [Authenticator] enter Authenticator.removeQuotes(String)
18:03:22,107 TRACE [Authenticator] enter Authenticator.removeQuotes(String)
18:03:22,107 TRACE [Authenticator] enter Authenticator.removeQuotes(String)
18:03:22,107 TRACE [Authenticator] enter Authenticator.removeQuotes(String)
18:03:22,107 TRACE [Authenticator] enter Authenticator.removeQuotes(String)
18:03:22,107 TRACE [Authenticator] enter Authenticator.removeQuotes(String)
18:03:22,107 TRACE [Authenticator] enter Authenticator.encode(byte[])
18:03:22,107 TRACE [Authenticator] enter Authenticator.encode(byte[])
18:03:22,107 TRACE [Authenticator] enter Authenticator.encode(byte[])
18:03:22,107 TRACE [Authenticator] enter Authenticator.createDigestHeader
(String, Map, String)
18:03:22,107 TRACE [Authenticator] enter Authenticator.removeQuotes(String)
18:03:22,107 TRACE [Authenticator] enter Authenticator.removeQuotes(String)
18:03:22,107 TRACE [Authenticator] enter Authenticator.removeQuotes(String)
18:03:22,107 TRACE [Authenticator] enter Authenticator.removeQuotes(String)
18:03:22,107 TRACE [Authenticator] enter Authenticator.removeQuotes(String)
18:03:22,107 TRACE [Authenticator] enter Authenticator.removeQuotes(String)
18:03:22,107 TRACE [Authenticator] enter Authenticator.removeQuotes(String)
18:03:22,107 TRACE [HttpMethod] HttpMethodBase.addRequestHeader(Header)
18:03:22,107 DEBUG [HttpMethod] HttpMethodBase.execute(): Server demanded
authentication credentials, will try again.