From 0978e9432705dab87a95db6829174e9ed7a02ea8 Mon Sep 17 00:00:00 2001
From: pvarga88 <pvarga@opentext.com>
Date: Wed, 27 May 2020 10:09:01 +0000
Subject: [PATCH] Fix NullPointerException(s) in PasswordPolicyState.java when existing password hash uses an unknown storage scheme. (#126)

---
 opendj-server-legacy/src/main/java/org/opends/server/core/PasswordPolicyState.java |    6 +++---
 1 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/opendj-server-legacy/src/main/java/org/opends/server/core/PasswordPolicyState.java b/opendj-server-legacy/src/main/java/org/opends/server/core/PasswordPolicyState.java
index 5c52fca..250bc6f 100644
--- a/opendj-server-legacy/src/main/java/org/opends/server/core/PasswordPolicyState.java
+++ b/opendj-server-legacy/src/main/java/org/opends/server/core/PasswordPolicyState.java
@@ -2473,14 +2473,14 @@
   {
     String[] authPWComponents = AuthPasswordSyntax.decodeAuthPassword(encodedAuthPassword);
     PasswordStorageScheme<?> scheme = DirectoryServer.getAuthPasswordStorageScheme(authPWComponents[0]);
-    return scheme.authPasswordMatches(password, authPWComponents[1], authPWComponents[2]);
+    return scheme != null && scheme.authPasswordMatches(password, authPWComponents[1], authPWComponents[2]);
   }
 
   private boolean encodedUserPasswordMatches(ByteString password, String encodedUserPassword) throws DirectoryException
   {
     String[] userPWComponents = UserPasswordSyntax.decodeUserPassword(encodedUserPassword);
     PasswordStorageScheme<?> scheme = DirectoryServer.getPasswordStorageScheme(userPWComponents[0]);
-    return scheme.passwordMatches(password, ByteString.valueOfUtf8(userPWComponents[1]));
+    return scheme != null && scheme.passwordMatches(password, ByteString.valueOfUtf8(userPWComponents[1]));
   }
 
   private void logResult(String passwordType, boolean passwordMatches)
@@ -2511,7 +2511,7 @@
         {
           PasswordStorageScheme<?> scheme = getPasswordStorageScheme(v);
 
-          if (scheme.isStorageSchemeSecure())
+          if (scheme != null && scheme.isStorageSchemeSecure())
           {
             addPasswordToHistory(v.toString());
             insecurePassword = null;

--
Gitblit v1.10.0