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

Nicolas Capponi
24.43.2014 81d36161ce5367fa7aa9a5d99dc8b80eacfa7cdf
opendj3-server-dev/src/server/org/opends/server/api/AuthenticationPolicy.java
@@ -21,7 +21,7 @@
 * CDDL HEADER END
 *
 *
 *      Copyright 2011 ForgeRock AS.
 *      Portions Copyright 2011-2014 ForgeRock AS.
 *      Portions Copyright 2014 ForgeRock AS
 */
@@ -31,16 +31,13 @@
import static org.opends.messages.CoreMessages.*;
import static org.opends.server.config.ConfigConstants.*;
import static org.opends.server.loggers.ErrorLogger.logError;
import static org.opends.server.loggers.debug.DebugLogger.debugEnabled;
import static org.opends.server.util.StaticUtils.stackTraceToSingleLineString;
import java.util.List;
import org.opends.messages.Message;
import org.forgerock.i18n.LocalizableMessage;
import org.forgerock.i18n.slf4j.LocalizedLogger;
import org.opends.server.core.DirectoryServer;
import org.opends.server.loggers.debug.DebugLogger;
import org.opends.server.loggers.debug.DebugTracer;
import org.opends.server.types.*;
import org.opends.server.util.TimeThread;
@@ -54,9 +51,7 @@
  /**
   * The tracer object for the debug logger.
   */
  private static final DebugTracer TRACER = DebugLogger.getTracer();
  private static final LocalizedLogger logger = LocalizedLogger.getLocalizedLogger(AuthenticationPolicy.class);
  /**
   * Returns the authentication policy for the user provided user. The following
@@ -104,27 +99,25 @@
        }
        catch (Exception e)
        {
          if (debugEnabled())
          logger.trace(e.getMessage(), e);
          if (logger.isTraceEnabled())
          {
            TRACER.debugCaught(DebugLogLevel.ERROR, e);
            logger.trace("Could not parse password policy subentry "
                + "DN %s for user %s", v.getValue(),
                userDNString, e);
          }
          if (debugEnabled())
          {
            TRACER.debugError("Could not parse password policy subentry "
                + "DN %s for user %s: %s", v.getValue().toString(),
                userDNString, stackTraceToSingleLineString(e));
          }
          Message message = ERR_PWPSTATE_CANNOT_DECODE_SUBENTRY_VALUE_AS_DN
              .get(v.getValue().toString(), userDNString, e.getMessage());
          if (useDefaultOnError)
          {
            logError(message);
            logger.error(ERR_PWPSTATE_CANNOT_DECODE_SUBENTRY_VALUE_AS_DN,
                v.getValue().toString(), userDNString, e.getMessage());
            return DirectoryServer.getDefaultPasswordPolicy();
          }
          else
          {
            LocalizableMessage message = ERR_PWPSTATE_CANNOT_DECODE_SUBENTRY_VALUE_AS_DN
                .get(v.getValue().toString(), userDNString, e.getMessage());
            throw new DirectoryException(ResultCode.INVALID_DN_SYNTAX, message,
                e);
          }
@@ -134,18 +127,15 @@
            .getAuthenticationPolicy(subentryDN);
        if (policy == null)
        {
          if (debugEnabled())
          {
            TRACER.debugError("Password policy subentry %s for user %s "
          logger.trace("Password policy subentry %s for user %s "
                + "is not defined in the Directory Server.",
                String.valueOf(subentryDN), userDNString);
          }
                subentryDN, userDNString);
          Message message = ERR_PWPSTATE_NO_SUCH_POLICY.get(userDNString,
          LocalizableMessage message = ERR_PWPSTATE_NO_SUCH_POLICY.get(userDNString,
              String.valueOf(subentryDN));
          if (useDefaultOnError)
          {
            logError(message);
            //logger.error(message);
            return DirectoryServer.getDefaultPasswordPolicy();
          }
          else
@@ -155,11 +145,8 @@
          }
        }
        if (debugEnabled())
        {
          TRACER.debugInfo("Using password policy subentry %s for user %s.",
              String.valueOf(subentryDN), userDNString);
        }
        logger.trace("Using password policy subentry %s for user %s.",
              subentryDN, userDNString);
        return policy;
      }
@@ -183,12 +170,9 @@
            {
              // This shouldn't happen but if it does debug log
              // this problem and fall back to default policy.
              if (debugEnabled())
              {
                TRACER.debugError("Found unknown password policy subentry "
                    + "DN %s for user %s", subentry.getDN().toString(),
              logger.trace("Found unknown password policy subentry "
                    + "DN %s for user %s", subentry.getDN(),
                    userDNString);
              }
              break;
            }
            return policy;
@@ -196,10 +180,9 @@
        }
        catch (Exception e)
        {
          if (debugEnabled())
          {
            TRACER.debugError("Could not parse password policy subentry "
                + "DN %s for user %s: %s", subentry.getDN().toString(),
          if (logger.isTraceEnabled()) {
            logger.trace("Could not parse password policy subentry "
                + "DN %s for user %s: %s", subentry.getDN(),
                userDNString, stackTraceToSingleLineString(e));
          }
        }
@@ -207,11 +190,8 @@
    }
    // No authentication policy found, so use the global default.
    if (debugEnabled())
    {
      TRACER.debugInfo("Using the default password policy for user %s",
    logger.trace("Using the default password policy for user %s",
          userDNString);
    }
    return DirectoryServer.getDefaultPasswordPolicy();
  }