aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorStefan Lay <stefan.lay@sap.com>2010-11-10 09:42:51 +0100
committerStefan Lay <stefan.lay@sap.com>2010-11-10 09:42:51 +0100
commit20a5a34444df017ba2232313a8137d220980883d (patch)
treeeed918cfffb017abf081ca6cfdf36e0d8ab77853
parent17b1003ff221a7ab7d8ef749e15e1a753efd6109 (diff)
downloadjgit-20a5a34444df017ba2232313a8137d220980883d.tar.gz
jgit-20a5a34444df017ba2232313a8137d220980883d.zip
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>
-rw-r--r--org.eclipse.jgit.http.test/tst/org/eclipse/jgit/http/test/HttpClientTests.java4
-rw-r--r--org.eclipse.jgit/src/org/eclipse/jgit/transport/HttpAuthMethod.java4
2 files changed, 4 insertions, 4 deletions
diff --git a/org.eclipse.jgit.http.test/tst/org/eclipse/jgit/http/test/HttpClientTests.java b/org.eclipse.jgit.http.test/tst/org/eclipse/jgit/http/test/HttpClientTests.java
index 06a4eb6a73..770294cace 100644
--- a/org.eclipse.jgit.http.test/tst/org/eclipse/jgit/http/test/HttpClientTests.java
+++ b/org.eclipse.jgit.http.test/tst/org/eclipse/jgit/http/test/HttpClientTests.java
@@ -282,7 +282,7 @@ public class HttpClientTests extends HttpTestCase {
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 class HttpClientTests extends HttpTestCase {
fail("connection opened even though service disabled");
} catch (TransportException err) {
String exp = smartAuthBasicURI + ": "
- + JGitText.get().authenticationNotSupported;
+ + JGitText.get().notAuthorized;
assertEquals(exp, err.getMessage());
}
} finally {
diff --git a/org.eclipse.jgit/src/org/eclipse/jgit/transport/HttpAuthMethod.java b/org.eclipse.jgit/src/org/eclipse/jgit/transport/HttpAuthMethod.java
index 5a559abf18..11178fc723 100644
--- a/org.eclipse.jgit/src/org/eclipse/jgit/transport/HttpAuthMethod.java
+++ b/org.eclipse.jgit/src/org/eclipse/jgit/transport/HttpAuthMethod.java
@@ -85,9 +85,9 @@ abstract class HttpAuthMethod {
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;