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

OpenDJ : ldapmodify fails to add like values with differing case, when caseExactIA5Match is used

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Resolved
    • Priority: Minor
    • Resolution: Fixed
    • Affects Version/s: 3.0.0, 2.8.0, 2.6.3, 2.6.2, 2.6.1, 2.6.0
    • Fix Version/s: 6.0.0
    • Component/s: tools
    • Labels:
    • Support Ticket IDs:
    • Story Points:
      0

      Description

      With caseExactIA5Match schema in place, ldapmodify drops all but one multivalued attribute value that contain the same mixed case value.

      The ldapmodify behavior is slightly different between 2.6.x and 3.0 version, whereas using OpenLDAP's ldapmodify and the Control-Panel has the correct behavior.

      User: The following user has 1+ myAttr values that all contain the word "something" with a variation on the case.

      dn: uid=luser,ou=People,dc=forgerock,dc=com
      objectClass: person
      objectClass: inetOrgPerson
      objectClass: organizationalPerson
      objectClass: top
      objectClass: myObjectclass
      givenName: Lou
      uid: luser
      cn: Lou User
      sn: User
      myAttr: Something
      myAttr: something
      myAttr: somethinG
      

      Schema

      attributeTypes: ( myAttr-oid NAME 'myAttr' EQUALITY caseExactIA5Match ORDERING caseExactOrderingMatch SUBSTR caseExactIA5SubstringsMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 USAGE userApplications )
      objectClasses: ( myobjectclass-oid NAME 'myObjectclass' DESC 'New J Test' SUP top AUXILIARY MAY myAttr )
      

      2.6.x behavior

      Note - 2.6.x ldapmodify drops the "last" two myAttr values.

      Verbose ldapmodify output:

      10:20:34.025 protocol verbose LDAPMessage(msgID=2, protocolOp=AddRequest(dn=uid=luser,ou=People,dc=forgerock,dc=com, attrs={LDAPAttribute(type=cn, values={Lou User}), LDAPAttribute(type=uid, values={luser}), LDAPAttribute(type=sn, values={User}), LDAPAttribute(type=objectClass, values={myObjectclass, inetOrgPerson, person, top, organizationalPerson}), LDAPAttribute(type=myAttr, values={Something}), LDAPAttribute(type=givenName, values={Lou})}))
      

      Audit log:

      # 06/Nov/2015:10:20:33 -0700; conn=53; op=1
      dn: uid=luser,ou=People,dc=forgerock,dc=com
      changetype: add
      objectClass: myObjectclass
      objectClass: person
      objectClass: organizationalPerson
      objectClass: inetOrgPerson
      objectClass: top
      givenName: Lou
      uid: luser
      cn: Lou User
      sn: User
      myAttr: Something
      entryUUID: 4fb76c88-a239-4d47-a992-c0a11f791180
      createTimestamp: 20151106172033Z
      creatorsName: cn=Directory Manager,cn=Root DNs,cn=config
      

      3.0.x behavior

      Note - 3.0.x ldapmodify drops the "first" two myAttr values.

      Verbose ldapmodify output:

      [06/11/2015:10:23:07 -0700] category=TOOLS seq=18 severity=FINEST msg=LDAPMessage(msgID=2, protocolOp=AddRequest(dn=uid=luser,ou=People,dc=forgerock,dc=com, attrs={LDAPAttribute(type=objectClass, values={myObjectclass, top, person, inetOrgPerson, organizationalPerson}), LDAPAttribute(type=uid, values={luser}), LDAPAttribute(type=cn, values={Lou User}), LDAPAttribute(type=sn, values={User}), LDAPAttribute(type=myAttr, values={somethinG}), LDAPAttribute(type=givenName, values={Lou})}))
      

      Audit log:

      # 06/Nov/2015:10:23:07 -0700; conn=54; op=1
      dn: uid=luser,ou=People,dc=forgerock,dc=com
      changetype: add
      objectClass: myObjectclass
      objectClass: person
      objectClass: organizationalPerson
      objectClass: inetOrgPerson
      objectClass: top
      givenName: Lou
      uid: luser
      cn: Lou User
      sn: User
      myAttr: somethinG
      entryUUID: daed3fe6-ab7b-4d70-8af9-4f0447110df2
      createTimestamp: 20151106172307Z
      creatorsName: cn=Directory Manager,cn=Root DNs,cn=config
      

      control-panel behavior: Using "New from LDIF"

      Note - No values are dropped.

      Audit log:

      # 06/Nov/2015:10:25:39 -0700; conn=49; op=58
      dn: uid=luser,ou=People,dc=forgerock,dc=com
      changetype: add
      objectClass: myObjectclass
      objectClass: person
      objectClass: inetOrgPerson
      objectClass: organizationalPerson
      objectClass: top
      givenName: Lou
      uid: luser
      cn: Lou User
      sn: User
      myAttr: Something
      myAttr: something
      myAttr: somethinG
      entryUUID: 84bdf240-2f50-4296-ba8b-ba31e0c77b16
      createTimestamp: 20151106172539Z
      creatorsName: cn=Directory Manager,cn=Root DNs,cn=config
      

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                matthew Matthew Swift
                Reporter:
                lee.trujillo Lee Trujillo
              • Votes:
                0 Vote for this issue
                Watchers:
                4 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: