Home | History | Annotate | Line # | Download | only in schema
openldap.ldif revision 1.1
      1  1.1  lukem # $OpenLDAP: pkg/ldap/servers/slapd/schema/openldap.ldif,v 1.2.2.4 2008/02/11 23:26:49 kurt Exp $
      2  1.1  lukem ## This work is part of OpenLDAP Software <http://www.openldap.org/>.
      3  1.1  lukem ##
      4  1.1  lukem ## Copyright 1998-2008 The OpenLDAP Foundation.
      5  1.1  lukem ## All rights reserved.
      6  1.1  lukem ##
      7  1.1  lukem ## Redistribution and use in source and binary forms, with or without
      8  1.1  lukem ## modification, are permitted only as authorized by the OpenLDAP
      9  1.1  lukem ## Public License.
     10  1.1  lukem ##
     11  1.1  lukem ## A copy of this license is available in the file LICENSE in the
     12  1.1  lukem ## top-level directory of the distribution or, alternatively, at
     13  1.1  lukem ## <http://www.OpenLDAP.org/license.html>.
     14  1.1  lukem #
     15  1.1  lukem #
     16  1.1  lukem # OpenLDAP Project's directory schema items
     17  1.1  lukem #
     18  1.1  lukem # depends upon:
     19  1.1  lukem #	core.schema
     20  1.1  lukem #	cosine.schema
     21  1.1  lukem #	inetorgperson.schema
     22  1.1  lukem #
     23  1.1  lukem # These are provided for informational purposes only.
     24  1.1  lukem #
     25  1.1  lukem # This openldap.ldif file is provided as a demonstration of how to
     26  1.1  lukem # convert a *.schema file into *.ldif format. The key points:
     27  1.1  lukem #   In LDIF, a blank line terminates an entry. Blank lines in a *.schema
     28  1.1  lukem #     file should be replaced with a single '#' to turn them into
     29  1.1  lukem #     comments, or they should just be removed.
     30  1.1  lukem #   In addition to the actual schema directives, the file needs a small
     31  1.1  lukem #     header to make it a valid LDAP entry. This header must provide the
     32  1.1  lukem #     dn of the entry, the objectClass, and the cn, as shown here:
     33  1.1  lukem #
     34  1.1  lukem dn: cn=openldap,cn=schema,cn=config
     35  1.1  lukem objectClass: olcSchemaConfig
     36  1.1  lukem cn: openldap
     37  1.1  lukem #
     38  1.1  lukem # The schema directives need to be changed to LDAP Attributes.
     39  1.1  lukem #   First a basic string substitution can be done on each of the keywords:
     40  1.1  lukem #     objectIdentifier -> olcObjectIdentifier:
     41  1.1  lukem #     objectClass -> olcObjectClasses:
     42  1.1  lukem #     attributeType -> olcAttributeTypes:
     43  1.1  lukem #   Then leading whitespace must be fixed. The slapd.conf format allows
     44  1.1  lukem #     tabs or spaces to denote line continuation, while LDIF only allows
     45  1.1  lukem #     the space character.
     46  1.1  lukem #   Also slapd.conf preserves the continuation character, while LDIF strips
     47  1.1  lukem #     it out. So a single TAB/SPACE in slapd.conf must be replaced with
     48  1.1  lukem #     two SPACEs in LDIF, otherwise the continued text may get joined as
     49  1.1  lukem #     a single word.
     50  1.1  lukem #   The directives must be listed in a proper sequence:
     51  1.1  lukem #     All olcObjectIdentifiers must be first, so they may be referenced by
     52  1.1  lukem #        any following definitions.
     53  1.1  lukem #     All olcAttributeTypes must be next, so they may be referenced by any
     54  1.1  lukem #        following objectClass definitions.
     55  1.1  lukem #     All olcObjectClasses must be after the olcAttributeTypes.
     56  1.1  lukem #   And of course, any superior must occur before anything that inherits
     57  1.1  lukem #     from it.
     58  1.1  lukem #
     59  1.1  lukem olcObjectIdentifier: OpenLDAProot 1.3.6.1.4.1.4203
     60  1.1  lukem #
     61  1.1  lukem olcObjectIdentifier: OpenLDAP OpenLDAProot:1
     62  1.1  lukem olcObjectIdentifier: OpenLDAPattributeType OpenLDAP:3
     63  1.1  lukem olcObjectIdentifier: OpenLDAPobjectClass OpenLDAP:4
     64  1.1  lukem #
     65  1.1  lukem olcObjectClasses: ( OpenLDAPobjectClass:3
     66  1.1  lukem   NAME 'OpenLDAPorg'
     67  1.1  lukem   DESC 'OpenLDAP Organizational Object'
     68  1.1  lukem   SUP organization
     69  1.1  lukem   MAY ( buildingName $ displayName $ labeledURI ) )
     70  1.1  lukem #
     71  1.1  lukem olcObjectClasses: ( OpenLDAPobjectClass:4
     72  1.1  lukem   NAME 'OpenLDAPou'
     73  1.1  lukem   DESC 'OpenLDAP Organizational Unit Object'
     74  1.1  lukem   SUP organizationalUnit
     75  1.1  lukem   MAY ( buildingName $ displayName $ labeledURI $ o ) )
     76  1.1  lukem #
     77  1.1  lukem olcObjectClasses: ( OpenLDAPobjectClass:5
     78  1.1  lukem   NAME 'OpenLDAPperson'
     79  1.1  lukem   DESC 'OpenLDAP Person'
     80  1.1  lukem   SUP ( pilotPerson $ inetOrgPerson )
     81  1.1  lukem   MUST ( uid $ cn )
     82  1.1  lukem   MAY ( givenName $ labeledURI $ o ) )
     83  1.1  lukem #
     84  1.1  lukem olcObjectClasses: ( OpenLDAPobjectClass:6
     85  1.1  lukem   NAME 'OpenLDAPdisplayableObject'
     86  1.1  lukem   DESC 'OpenLDAP Displayable Object'
     87  1.1  lukem   AUXILIARY
     88  1.1  lukem   MAY displayName )
     89