Uploaded image for project: 'Directory Client API'
  1. Directory Client API
  2. DIRAPI-154

Implement "online" OpenLDAP schema parsing in DefaultSchemaLoader

    Details

    • Type: Improvement
    • Status: Resolved
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: 1.0.0-M20
    • Fix Version/s: 1.0.0-RC2
    • Labels:
      None

      Description

      The constructor in DefaultSchemaLoader has the following comment:

        // TODO Handle schema loading on other LDAP servers
      

      For OpenLDAP this would require searching subtree under cn=schema,cn=config and handling attributes like:

        olcAttributeTypes: {1}( 2.5.4.4 NAME ( 'sn' 'surname' ) DESC 'RFC2256: last (family) name(s) for which the entity is known by' SUP name )
      
        olcObjectClasses: {4}( 2.5.6.6 NAME 'person' DESC 'RFC2256: a person' SUP top STRUCTURAL MUST ( sn $ cn ) MAY ( userPassword $ telephoneNumber $ seeAlso $ description ) )
      

      Note that there is also an 'olcObjectIdentifier' attribute type that seems to be used to create macros for interpolation in OID's used in other attributes:

        olcObjectIdentifier: OLcfg 1.3.6.1.4.1.4203.1.12.2
        olcObjectIdentifier: OLcfgAt OLcfg:3
        olcObjectIdentifier: OLcfgOvAt OLcfgAt:3
        olcObjectIdentifier: OMsyn 1.3.6.1.4.1.1466.115.121.1
        olcObjectIdentifier: OMsBoolean OMsyn:7
      
        olcAttributeTypes: ( OLcfgOvAt:10.4 NAME 'olcUniqueStrict' DESC 'Enforce uniqueness of null values' EQUALITY booleanMatch SYNTAX OMsBoolean SINGLE-VALUE )
      

      However this additional complexity seems to only be used for the internal/vendor-specific schema itself (not 'core', 'nis', etc.).

      Attached is LDIF output of from searching cn=schema,cn=config.

      Mailing List reference: https://mail-archives.apache.org/mod_mbox/directory-api/201308.mbox/%3CCABzFU-eOfmwiFpR1w0Fd-JhNFBVLO0NkHKa5w61ReFBEq%3DWkaw%40mail.gmail.com%3E

        Attachments

        1. loadSchema.log
          14 kB
          Gerald Turner
        2. openldap-schema.ldif
          89 kB
          Gerald Turner

          Activity

            People

            • Assignee:
              elecharny Emmanuel Lecharny
              Reporter:
              gturner Gerald Turner
            • Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: