Uploaded image for project: 'PicketLink'
  1. PicketLink
  2. PLINK-88

IDM 3 doesn't work with OpenDS 2.0

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Done
    • Icon: Major Major
    • PLINK_2.5.0.Final
    • PLINK_2.5.0.Final
    • IDM
    • None

      To simulate the issue:

      • Setup OpenDS 2.0 on localhost (or other server) - LDAP attributes are took from idm/impl/src/test/resources/config/opends2-local-ldap-config.xml, so it's assuming that OpenDS 2.0 is running on localhost:1389 with adminDN="cn=Directory Manager" and AdminPW="password"
      • Import LDIF file idm/impl/src/test/resources/ldap/opends2-users.ldif via CMD command:
        ldapadd -h localhost -p 1389 -x -D "cn=Directory Manager" -f idm/impl/src/test/resources/ldap/opends2-users.ldif -w password

      (NOTE: I will need to find a way how to import LDIF file programmaticaly. One possibility is to use CMD, but it doesn't look like proper solution and it failed for me due to space in AdminDN. Another possibility is to use ApacheDS library, but I did not find easy way how to import LDIF into existing (not-embedded) LDAP server. In IDM 1.x we used OpenDS embedded library, see method "populateLDIF" in class https://github.com/picketlink/picketlink-idm/blob/1.4/picketlink-idm-ldap/src/test/java/org/picketlink/idm/test/support/ldap/LDAPTestPOJO.java)

      • Run LDAPIdentityStoreTestsuite with option "-Dplidm.xml.configuration=config/opends2-local-ldap-config.xml" which will instruct testsuite to use OpenDS 2.0 instead of default ApacheDS

      Result: All tests are failing with

      Caused by: javax.naming.OperationNotSupportedException: [LDAP: error code 53 - Entry cn=someRole,ou=Roles,o=plidmtest,dc=example,dc=com cannot be added because it includes attribute createTimeStamp which is defined as NO-USER-MODIFICATION in the server schema]; remaining name 'cn=someRole,ou=Roles,o=plidmtest,dc=example,dc=com'
      	at com.sun.jndi.ldap.LdapCtx.mapErrorCode(LdapCtx.java:3140)
      	at com.sun.jndi.ldap.LdapCtx.processReturnCode(LdapCtx.java:3013)
      	at com.sun.jndi.ldap.LdapCtx.processReturnCode(LdapCtx.java:2820)
      	at com.sun.jndi.ldap.LdapCtx.c_createSubcontext(LdapCtx.java:791)
      	at com.sun.jndi.toolkit.ctx.ComponentDirContext.p_createSubcontext(ComponentDirContext.java:319)
      	at com.sun.jndi.toolkit.ctx.PartialCompositeDirContext.createSubcontext(PartialCompositeDirContext.java:248)
      	at com.sun.jndi.toolkit.ctx.PartialCompositeDirContext.createSubcontext(PartialCompositeDirContext.java:236)
      	at javax.naming.directory.InitialDirContext.createSubcontext(InitialDirContext.java:178)
      	at org.picketlink.idm.ldap.internal.LDAPOperationManager.createSubContext(LDAPOperationManager.java:491)
      

              psilva@redhat.com Pedro Igor Craveiro
              mposolda@redhat.com Marek Posolda
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

                Created:
                Updated:
                Resolved: