Uploaded image for project: 'OpenDJ'
  1. OpenDJ
  2. OPENDJ-820

dsconfig create-password-storage-scheme fails with '... not a valid value for the "java-class" property'

    Details

    • Type: Bug
    • Status: Done
    • Priority: Minor
    • Resolution: Not a defect
    • Affects Version/s: 2.6.0, 2.4.6
    • Fix Version/s: Not applicable
    • Component/s: tools
    • Labels:
    • Environment:

      Description

      I use OpenDJ 2.4.6, and I noticed the " dsconfig create-password-storage-scheme" sometimes fails, when I replay my OpenDJ automated installation, clearing ad stopping everything between each installation.

      The exact command I use comes from a dsconfig batch file (-F option).
      Even when running the command solely, it sometimes fails without any
      obvious error:

      ./dsconfig --bindPassword ..... --trustAll -h localhost
      create-password-storage-scheme --scheme-name 'ECE' --set enabled:true
      --type custom --set java-class:ch.rts.opendj.ECEPasswordStorageScheme --no-prompt

      The Password Storage Scheme could not be created because of the following
      reason:

      • [LDAP: error code 53 - The Directory Server is unwilling to add
        configuration entry cn=my_scheme,cn=Password Storage
        Schemes,cn=config because
        one of the add listeners registered with the parent entry cn=Password
        Storage Schemes,cn=config rejected this change with the message: The
        Password Storage Scheme could not be decoded due to the following
        reason: The string value "ch.rts.opendj.ECEPasswordStorageScheme" is
        not a valid value for the "java-class" property, which must have the
        following syntax: CLASS <= org.opends.server.api.PasswordStorageScheme]

      access or error logs don't give more details. The debug log shows the
      following stack:

      [19/Mar/2013:15:00:44 +0100] 0 caught error thread=

      {LDAP Request Handler 0 for connection handler Administration Connector 0.0.0.0 port 1444(353)}


      threadDetail=

      {parentThread=Restart Task Thread(343) isDaemon=false }


      method=

      {processLocalAdd(LocalBackendAddOperation.java:691)}


      caught=

      {org.opends.server.types.DirectoryException: The Directory Server is unwilling to add configuration entry cn=my_scheme,cn=Password Storage Schemes,cn=config because one of the add listeners registered with the parent entry cn=Password Storage Schemes,cn=config rejected this change with the message: The Password Storage Scheme could not be decoded due to the following reason: The string value "ch.rts.opendj.ECEPasswordStorageScheme" is not a valid value for the "java-class" property, which must have the following syntax: CLASS <= org.opends.server.api.PasswordStorageScheme}

      Stack Trace:
      at
      org.opends.server.extensions.ConfigFileHandler.addEntry(ConfigFileHandler.java:1400)
      at
      org.opends.server.workflowelement.localbackend.LocalBackendAddOperation.processLocalAdd(LocalBackendAddOperation.java:676)
      at
      org.opends.server.workflowelement.localbackend.LocalBackendWorkflowElement.execute(LocalBackendWorkflowElement.java:553)
      at org.opends.server.core.WorkflowImpl.execute(WorkflowImpl.java:197)
      at
      org.opends.server.core.WorkflowTopologyNode.execute(WorkflowTopologyNode.java:100)
      at org.opends.server.core.AddOperationBasis.run(AddOperationBasis.java:764)
      at
      org.opends.server.core.SynchronousStrategy.enqueueRequest(SynchronousStrategy.java:48)
      at
      org.opends.server.protocols.ldap.LDAPClientConnection.addOperationInProgress(LDAPClientConnection.java:1227)
      at
      org.opends.server.protocols.ldap.LDAPClientConnection.processAddRequest(LDAPClientConnection.java:1810)
      at
      org.opends.server.protocols.ldap.LDAPClientConnection.processLDAPMessage(LDAPClientConnection.java:1639)
      at
      org.opends.server.protocols.ldap.LDAPRequestHandler.run(LDAPRequestHandler.java:194)

      I also reproduced the exact same error with OpenDJ 2.5 ((build 2.5.0-20130319, revision 8605).

      Our password storage scheme Java class extends the PasswordStorageScheme, as required, according to its signature:

      public class ECEPasswordStorageScheme extends PasswordStorageScheme<PasswordStorageSchemeCfg>

        Attachments

          Activity

            People

            • Assignee:
              violette Violette Roche Montane
              Reporter:
              cgrosjean Cyril Grosjean
              Dev Assignee:
              Violette Roche Montane
            • Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: