Author: markt
Date: Thu Jun 27 20:02:46 2013
New Revision: 1497545
URL: http://svn.apache.org/r1497545
Log:
Fix regression in r1459346
Thanks to Brian Burch for spotting this and kkolinko for the fix.
Modified:
tomcat/tc7.0.x/trunk/ (props changed)
tomcat/tc7.0.x/trunk/java/org/apache/catalina/realm/JNDIRealm.java
tomcat/tc7.0.x/trunk/webapps/docs/changelog.xml
Propchange: tomcat/tc7.0.x/trunk/
------------------------------------------------------------------------------
Merged /tomcat/trunk:r1497538
Modified: tomcat/tc7.0.x/trunk/java/org/apache/catalina/realm/JNDIRealm.java
URL:
http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/java/org/apache/catalina/realm/JNDIRealm.java?rev=1497545&r1=1497544&r2=1497545&view=diff
==============================================================================
--- tomcat/tc7.0.x/trunk/java/org/apache/catalina/realm/JNDIRealm.java
(original)
+++ tomcat/tc7.0.x/trunk/java/org/apache/catalina/realm/JNDIRealm.java Thu Jun
27 20:02:46 2013
@@ -1573,9 +1573,9 @@ public class JNDIRealm extends RealmBase
password = password.substring(5);
md.reset();
md.update(credentials.getBytes(Charset.defaultCharset()));
- byte[] decoded = Base64.decodeBase64(md.digest());
+ byte[] encoded = Base64.encodeBase64(md.digest());
String digestedPassword =
- new String(decoded, B2CConverter.ISO_8859_1);
+ new String(encoded, B2CConverter.ISO_8859_1);
validated = password.equals(digestedPassword);
}
} else if (password.startsWith("{SSHA}")) {
Modified: tomcat/tc7.0.x/trunk/webapps/docs/changelog.xml
URL:
http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/webapps/docs/changelog.xml?rev=1497545&r1=1497544&r2=1497545&view=diff
==============================================================================
--- tomcat/tc7.0.x/trunk/webapps/docs/changelog.xml (original)
+++ tomcat/tc7.0.x/trunk/webapps/docs/changelog.xml Thu Jun 27 20:02:46 2013
@@ -110,6 +110,12 @@
where ServletRequest/ServletResponse are custom implementations.
(violetagg)
</fix>
+ <fix>
+ Correct a regression introduced in 7.0.39 (refactoring of base 64
+ encoding and decoding) that broke the JNDI Realm when
+ <code>userPassword</code> was set and passwords were hashed with MD5 or
+ SHA1. (markt/kkolinko)
+ </fix>
</changelog>
</subsection>
<subsection name="Cluster">
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]