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

matthew_swift
26.21.2007 5ceb2e9601d2501d021d0c61188ec913076555a0
opends/src/server/org/opends/server/extensions/PlainSASLMechanismHandler.java
@@ -86,11 +86,8 @@
   */
  private static final DebugTracer TRACER = getTracer();
  // The DN of the configuration entry for this SASL mechanism handler.
  private DN configEntryDN;
  // The identity mapper that will be used to map ID strings to user entries.
  private IdentityMapper identityMapper;
  private IdentityMapper<?> identityMapper;
  // The current configuration for this SASL mechanism handler.
  private PlainSASLMechanismHandlerCfg currentConfig;
@@ -118,20 +115,12 @@
         throws ConfigException, InitializationException
  {
    configuration.addPlainChangeListener(this);
    currentConfig = configuration;
    configEntryDN = configuration.dn();
    // Get the identity mapper that should be used to find users.
    DN identityMapperDN = configuration.getIdentityMapperDN();
    identityMapper = DirectoryServer.getIdentityMapper(identityMapperDN);
    if (identityMapper == null)
    {
      Message message = ERR_SASLPLAIN_NO_SUCH_IDENTITY_MAPPER.get(
          String.valueOf(identityMapperDN), String.valueOf(configEntryDN));
      throw new ConfigException(message);
    }
    DirectoryServer.registerSASLMechanismHandler(SASL_MECHANISM_PLAIN, this);
@@ -158,7 +147,7 @@
  @Override()
  public void processSASLBind(BindOperation bindOperation)
  {
    IdentityMapper identityMapper = this.identityMapper;
    IdentityMapper<?> identityMapper = this.identityMapper;
    // Get the SASL credentials provided by the user and decode them.
    String authzID  = null;
@@ -606,23 +595,7 @@
                      PlainSASLMechanismHandlerCfg configuration,
                      List<Message> unacceptableReasons)
  {
    boolean configAcceptable = true;
    DN cfgEntryDN = configuration.dn();
    // Get the identity mapper that should be used to find users.
    DN identityMapperDN = configuration.getIdentityMapperDN();
    IdentityMapper newIdentityMapper =
         DirectoryServer.getIdentityMapper(identityMapperDN);
    if (newIdentityMapper == null)
    {
      unacceptableReasons.add(ERR_SASLPLAIN_NO_SUCH_IDENTITY_MAPPER.get(
              String.valueOf(identityMapperDN),
              String.valueOf(cfgEntryDN)));
      configAcceptable = false;
    }
    return configAcceptable;
    return true;
  }
@@ -640,29 +613,11 @@
    // Get the identity mapper that should be used to find users.
    DN identityMapperDN = configuration.getIdentityMapperDN();
    IdentityMapper newIdentityMapper =
         DirectoryServer.getIdentityMapper(identityMapperDN);
    if (newIdentityMapper == null)
    {
      if (resultCode == ResultCode.SUCCESS)
      {
        resultCode = ResultCode.CONSTRAINT_VIOLATION;
      }
      messages.add(ERR_SASLPLAIN_NO_SUCH_IDENTITY_MAPPER.get(
              String.valueOf(identityMapperDN),
              String.valueOf(configEntryDN)));
    }
    identityMapper = DirectoryServer.getIdentityMapper(identityMapperDN);
    currentConfig  = configuration;
    if (resultCode == ResultCode.SUCCESS)
    {
      identityMapper = newIdentityMapper;
      currentConfig  = configuration;
    }
   return new ConfigChangeResult(resultCode, adminActionRequired, messages);
    return new ConfigChangeResult(resultCode, adminActionRequired, messages);
  }
}