Radovan Semancik resolved DIRAPI-154.
    Resolution: Fixed

It should work. Although the schema is not read from cn=config suffix. That 
would be troublesome as the cn=config is not usually accessible. However 
OpenLDAP correctly publishes schema DN in the root DN entry and the API is 
using that to locate the schema definition (which is cn=subschema if I remember 
correctly). I have tested with several OpenLDAP versions and the schema seems 
to work fine.

Sorry, I completely forgot to resolve this issue. It was fixed few months ago 

> Implement "online" OpenLDAP schema parsing in DefaultSchemaLoader
> -----------------------------------------------------------------
>                 Key: DIRAPI-154
>                 URL: https://issues.apache.org/jira/browse/DIRAPI-154
>             Project: Directory Client API
>          Issue Type: Improvement
>    Affects Versions: 1.0.0-M20
>            Reporter: Gerald Turner
>            Assignee: Emmanuel Lecharny
>             Fix For: 1.0.0-RC2
>         Attachments: loadSchema.log, openldap-schema.ldif
> The constructor in DefaultSchemaLoader has the following comment:
> {code}
>   // TODO Handle schema loading on other LDAP servers
> {code}
> For OpenLDAP this would require searching subtree under cn=schema,cn=config 
> and handling attributes like:
> {code}
>   olcAttributeTypes: {1}( NAME ( 'sn' 'surname' ) DESC 'RFC2256: last 
> (family) name(s) for which the entity is known by' SUP name )
>   olcObjectClasses: {4}( NAME 'person' DESC 'RFC2256: a person' SUP 
> top STRUCTURAL MUST ( sn $ cn ) MAY ( userPassword $ telephoneNumber $ 
> seeAlso $ description ) )
> {code}
> 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:
> {code}
>   olcObjectIdentifier: OLcfg
>   olcObjectIdentifier: OLcfgAt OLcfg:3
>   olcObjectIdentifier: OLcfgOvAt OLcfgAt:3
>   olcObjectIdentifier: OMsyn
>   olcObjectIdentifier: OMsBoolean OMsyn:7
>   olcAttributeTypes: ( OLcfgOvAt:10.4 NAME 'olcUniqueStrict' DESC 'Enforce 
> uniqueness of null values' EQUALITY booleanMatch SYNTAX OMsBoolean 
> {code}
> 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

This message was sent by Atlassian JIRA

Reply via email to