directory-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Stefan Seelmann (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (DIRAPI-154) Implement "online" OpenLDAP schema parsing in DefaultSchemaLoader
Date Wed, 21 Aug 2013 19:45:51 GMT

    [ https://issues.apache.org/jira/browse/DIRAPI-154?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13746762#comment-13746762
] 

Stefan Seelmann commented on DIRAPI-154:
----------------------------------------

I don't think this is required. The same mechanism done for ApacheDS (which is defined in
http://tools.ietf.org/html/rfc4512#section-4.4) can also be done for most other LDAP servers,
supposed they only provide a single schema:
1. Get the 'subschemaSubentry' from RootDSE, this points to the schema entry. In case of OpenLDAP
that is 'cn=subschema'.
2. The schema entry contains all the schema attributes (objectClasses, attributesTypes, etc.)

So I think we can just remove the 'if ( isApacheDs( rootDse ) )' condition.

                
> 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
>         Attachments: openldap-schema.ldif
>
>
> 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

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Mime
View raw message