Fix WWW-Authenticate auth-scheme comparison

The auth-scheme token (like "Basic" or "Digest") is not specified in a
case sensitive way. RFC2617 (http://tools.ietf.org/html/rfc2617) specifies
in section 1.2 the use of a "case-insensitive token to identify the
authentication scheme". Jetty, for example, uses "basic" as token.

Change-Id: I635a94eb0a741abcb3e68195da6913753bdbd889
Signed-off-by: Stefan Lay <stefan.lay@sap.com>
This commit is contained in:
Stefan Lay 2010-11-10 09:42:51 +01:00
parent 17b1003ff2
commit 20a5a34444
2 changed files with 4 additions and 4 deletions

View File

@ -282,7 +282,7 @@ public void testListRemote_Dumb_NeedsAuth() throws Exception {
fail("connection opened even info/refs needs auth basic");
} catch (TransportException err) {
String exp = dumbAuthBasicURI + ": "
+ JGitText.get().authenticationNotSupported;
+ JGitText.get().notAuthorized;
assertEquals(exp, err.getMessage());
}
} finally {
@ -299,7 +299,7 @@ public void testListRemote_Smart_UploadPackNeedsAuth() throws Exception {
fail("connection opened even though service disabled");
} catch (TransportException err) {
String exp = smartAuthBasicURI + ": "
+ JGitText.get().authenticationNotSupported;
+ JGitText.get().notAuthorized;
assertEquals(exp, err.getMessage());
}
} finally {

View File

@ -85,9 +85,9 @@ static HttpAuthMethod scanResponse(HttpURLConnection conn) {
return NONE;
String type = hdr.substring(0, sp);
if (Basic.NAME.equals(type))
if (Basic.NAME.equalsIgnoreCase(type))
return new Basic();
else if (Digest.NAME.equals(type))
else if (Digest.NAME.equalsIgnoreCase(type))
return new Digest(hdr.substring(sp + 1));
else
return NONE;