mirror of https://github.com/OpenIdentityPlatform/OpenDJ.git

pvarga88
27.09.2020 0978e9432705dab87a95db6829174e9ed7a02ea8
Fix NullPointerException(s) in PasswordPolicyState.java when existing password hash uses an unknown storage scheme. (#126)

Co-authored-by: Peter Varga <peter.varga@gmail.com>
1 files modified
6 ■■■■ changed files
opendj-server-legacy/src/main/java/org/opends/server/core/PasswordPolicyState.java 6 ●●●● patch | view | raw | blame | history
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;