remm01/09/10 10:52:45
Modified:catalina/src/share/org/apache/catalina/realm
MemoryRealm.java
Log:
- Fix for bug 3524 (NPE in memory realm).
Revision ChangesPath
1.10 +15 -10
jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/realm/MemoryRealm.java
Index: MemoryRealm.java
===
RCS file:
/home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/realm/MemoryRealm.java,v
retrieving revision 1.9
retrieving revision 1.10
diff -u -r1.9 -r1.10
--- MemoryRealm.java 2001/09/07 20:45:12 1.9
+++ MemoryRealm.java 2001/09/10 17:52:45 1.10
@@ -1,7 +1,7 @@
/*
- * $Header:
/home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/realm/MemoryRealm.java,v
1.9 2001/09/07 20:45:12 ccain Exp $
- * $Revision: 1.9 $
- * $Date: 2001/09/07 20:45:12 $
+ * $Header:
/home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/realm/MemoryRealm.java,v
1.10 2001/09/10 17:52:45 remm Exp $
+ * $Revision: 1.10 $
+ * $Date: 2001/09/10 17:52:45 $
*
*
*
@@ -95,7 +95,7 @@
* synchronization is performed around accesses to the principals collection.
*
* @author Craig R. McClanahan
- * @version $Revision: 1.9 $ $Date: 2001/09/07 20:45:12 $
+ * @version $Revision: 1.10 $ $Date: 2001/09/10 17:52:45 $
*/
public final class MemoryRealm
@@ -206,13 +206,18 @@
(GenericPrincipal) principals.get(username);
boolean validated = false;
-if (hasMessageDigest()) {
-// Hex hashes should be compared care-insensitive
-validated =
(digest(credentials).equalsIgnoreCase(principal.getPassword()));
-} else
-validated = (digest(credentials).equals(principal.getPassword()));
+if (principal != null) {
+if (hasMessageDigest()) {
+// Hex hashes should be compared care-insensitive
+validated = (digest(credentials)
+ .equalsIgnoreCase(principal.getPassword()));
+} else {
+validated =
+(digest(credentials).equals(principal.getPassword()));
+}
+}
-if ((principal != null) validated) {
+if (validated) {
if (debug = 2)
log(sm.getString(memoryRealm.authenticateSuccess, username));
return (principal);