You're right ... d'oh! I assumed that a method called "digest" returned
a digest. I guess I should not assume so often =)
My bad ... but in some slight manor of defense, that method call is
poorly named :)
I'll repair this immediately.
- Christopher
Ignacio J. Ortega wrote:
> Hola Christopher:
>
> I think this change is not good, as it does *all* passwords case
> insensitive, regardles of the use of digest or not.., i think plain
> passwords need to be case sensitive ..
>
>
> Saludos ,
> Ignacio J. Ortega
>
>
>
>>-----Mensaje original-----
>>De: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]]
>>Enviado el: viernes 7 de septiembre de 2001 20:52
>>Para: [EMAIL PROTECTED]
>>Asunto: cvs commit:
>>jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/realm
>>JDBCRealm.java JNDIRealm.java MemoryRealm.java
>>
>>
>>ccain 01/09/07 11:51:36
>>
>> Modified: catalina/src/share/org/apache/catalina/realm
>>JDBCRealm.java
>> JNDIRealm.java MemoryRealm.java
>> Log:
>> Change comparison of hex digests (in authentication) to be
>> case-insensitive, as base16 values themselves are case-insensitive.
>>
>> Revision Changes Path
>> 1.18 +2 -2
>>jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/real
>>m/JDBCRealm.java
>>
>> Index: JDBCRealm.java
>> ===================================================================
>> RCS file:
>>/home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/cat
>>alina/realm/JDBCRealm.java,v
>> retrieving revision 1.17
>> retrieving revision 1.18
>> diff -u -r1.17 -r1.18
>> --- JDBCRealm.java 2001/09/06 03:43:11 1.17
>> +++ JDBCRealm.java 2001/09/07 18:51:36 1.18
>> @@ -95,7 +95,7 @@
>> * @author Craig R. McClanahan
>> * @author Carson McDonald
>> * @author Ignacio Ortega
>> -* @version $Revision: 1.17 $ $Date: 2001/09/06 03:43:11 $
>> +* @version $Revision: 1.18 $ $Date: 2001/09/07 18:51:36 $
>> */
>>
>> public class JDBCRealm
>> @@ -384,7 +384,7 @@
>> }
>>
>> // Validate the user's credentials
>> - if (digest(credentials).equals(dbCredentials)) {
>> + if (digest(credentials).equalsIgnoreCase(dbCredentials)) {
>> if (debug >= 2)
>> log(sm.getString("jdbcRealm.authenticateSuccess",
>> username));
>>
>>
>>
>> 1.4 +2 -2
>>jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/real
>>m/JNDIRealm.java
>>
>> Index: JNDIRealm.java
>> ===================================================================
>> RCS file:
>>/home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/cat
>>alina/realm/JNDIRealm.java,v
>> retrieving revision 1.3
>> retrieving revision 1.4
>> diff -u -r1.3 -r1.4
>> --- JNDIRealm.java 2001/09/06 03:43:11 1.3
>> +++ JNDIRealm.java 2001/09/07 18:51:36 1.4
>> @@ -144,7 +144,7 @@
>> *
>> * @author John Holman
>> * @author Craig R. McClanahan
>> - * @version $Revision: 1.3 $ $Date: 2001/09/06 03:43:11 $
>> + * @version $Revision: 1.4 $ $Date: 2001/09/07 18:51:36 $
>> */
>>
>> public class JNDIRealm extends RealmBase {
>> @@ -750,7 +750,7 @@
>> // Validate the credentials specified by the user
>> if (debug >= 3)
>> log(" validating credentials");
>> - if (digest(credentials).equals(valueString)) {
>> + if (digest(credentials).equalsIgnoreCase(valueString)) {
>> if (debug >= 2)
>> log(sm.getString("jndiRealm.authenticateSuccess",
>> username));
>>
>>
>>
>> 1.8 +5 -5
>>jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/real
>>m/MemoryRealm.java
>>
>> Index: MemoryRealm.java
>> ===================================================================
>> RCS file:
>>/home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/cat
>>alina/realm/MemoryRealm.java,v
>> retrieving revision 1.7
>> retrieving revision 1.8
>> diff -u -r1.7 -r1.8
>> --- MemoryRealm.java 2001/08/27 19:10:25 1.7
>> +++ MemoryRealm.java 2001/09/07 18:51:36 1.8
>> @@ -1,7 +1,7 @@
>> /*
>> - * $Header:
>>/home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/cat
>>alina/realm/MemoryRealm.java,v 1.7 2001/08/27 19:10:25 craigmcc Exp $
>> - * $Revision: 1.7 $
>> - * $Date: 2001/08/27 19:10:25 $
>> + * $Header:
>>/home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/cat
>>alina/realm/MemoryRealm.java,v 1.8 2001/09/07 18:51:36 ccain Exp $
>> + * $Revision: 1.8 $
>> + * $Date: 2001/09/07 18:51:36 $
>> *
>> *
>>====================================================================
>> *
>> @@ -95,7 +95,7 @@
>> * synchronization is performed around accesses to the
>>principals collection.
>> *
>> * @author Craig R. McClanahan
>> - * @version $Revision: 1.7 $ $Date: 2001/08/27 19:10:25 $
>> + * @version $Revision: 1.8 $ $Date: 2001/09/07 18:51:36 $
>> */
>>
>> public final class MemoryRealm
>> @@ -205,7 +205,7 @@
>> GenericPrincipal principal =
>> (GenericPrincipal) principals.get(username);
>> if ((principal != null) &&
>> -
>>(digest(credentials).equals(principal.getPassword()))) {
>> +
>>(digest(credentials).equalsIgnoreCase(principal.getPassword()))) {
>> if (debug >= 2)
>>
>>log(sm.getString("memoryRealm.authenticateSuccess", username));
>> return (principal);
>>
>>
>>
>>
>>
--
- Christopher
/**
* Pleurez, pleurez, mes yeux, et fondez vous en eau!
* La moitié de ma vie a mis l'autre au tombeau.
* ---Corneille
*/