mbecke 2003/11/13 18:28:49
Modified: httpclient/src/test/org/apache/commons/httpclient
TestAuthenticator.java
httpclient/src/java/org/apache/commons/httpclient/auth
BasicScheme.java
Log:
Fixes basic authentication to work with ISO-8859-1 user names and passwords.
PR: 24671
Submitted by: Michael Becke
Reviewed by: Oleg Kalnichevski
Revision Changes Path
1.33 +16 -6
jakarta-commons/httpclient/src/test/org/apache/commons/httpclient/TestAuthenticator.java
Index: TestAuthenticator.java
===================================================================
RCS file:
/home/cvs/jakarta-commons/httpclient/src/test/org/apache/commons/httpclient/TestAuthenticator.java,v
retrieving revision 1.32
retrieving revision 1.33
diff -u -r1.32 -r1.33
--- TestAuthenticator.java 3 Oct 2003 20:57:36 -0000 1.32
+++ TestAuthenticator.java 14 Nov 2003 02:28:49 -0000 1.33
@@ -195,8 +195,18 @@
String expected = "Basic " +
HttpConstants.getString(Base64.encode(HttpConstants.getBytes("username:password")));
assertEquals(expected,method.getRequestHeader("Authorization").getValue());
}
-
-
+
+ public void testBasicAuthenticationWith88591Chars() throws Exception {
+ int[] germanChars = { 0xE4, 0x2D, 0xF6, 0x2D, 0xFc };
+ StringBuffer buffer = new StringBuffer();
+ for (int i = 0; i < germanChars.length; i++) {
+ buffer.append((char)germanChars[i]);
+ }
+
+ UsernamePasswordCredentials credentials = new
UsernamePasswordCredentials("dh", buffer.toString());
+ assertEquals("Basic ZGg65C32Lfw=", BasicScheme.authenticate(credentials));
+ }
+
public void testBasicAuthenticationWithMutlipleRealms() throws Exception {
String challenge1 = "Basic realm=\"realm1\"";
String challenge2 = "Basic realm=\"realm2\"";
1.7 +4 -4
jakarta-commons/httpclient/src/java/org/apache/commons/httpclient/auth/BasicScheme.java
Index: BasicScheme.java
===================================================================
RCS file:
/home/cvs/jakarta-commons/httpclient/src/java/org/apache/commons/httpclient/auth/BasicScheme.java,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -r1.6 -r1.7
--- BasicScheme.java 13 Aug 2003 19:57:10 -0000 1.6
+++ BasicScheme.java 14 Nov 2003 02:28:49 -0000 1.7
@@ -163,6 +163,6 @@
buffer.append(credentials.getPassword());
return "Basic " + HttpConstants.getAsciiString(
- Base64.encode(HttpConstants.getBytes(buffer.toString())));
+ Base64.encode(HttpConstants.getContentBytes(buffer.toString())));
}
}
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]