You are viewing an old version of this page. View the current version.
Compare with Current
View Page History
« Previous
Version 21
Next »
This page is used to describe the MetaSchema using OpenLdap schema syntx, so that it can be loaded into the ou=schema special partition
This part expose the elements we have to declare to be able to store the schema using a standard schema
This Meta object is used as the top-level class which will be the mother of all MetaObjects
ObjectClass ( 1.3.6.1.4.1.18060.1.1.0.0.1
NAME MetaTop
DESC 'Top level ObjectClass of all Meta objects'
SUP top
ABSTRACT
MUST ( m-oid $ m-desc )
)
We also need to describe all the meta attributeTypes we will use :
name |
ldif form |
m-oid |
dn: m-name=m-oid,ou=meta,ou=schema
objectclass: meta-attributeType
objectclass: meta-top
objectclass: top
m-oid: 1.3.6.1.4.1.18060.1.1.0.3.1
m-name: m-oid
m-description: The Object Identifier
m-equality: OidMatch
m-syntax: Oid
m-single-value: true
m-no-user-modification: true
m-usage: dSAOperation |
m-name |
dn: m-name=m-name,ou=meta,ou=schema
objectclass: meta-attributeType
objectclass: meta-top
objectclass: top
m-oid: 1.3.6.1.4.1.18060.1.1.0.3.2
m-name: m-name
m-description: The Object name
m-equality: caseIgnoreMatch
m-syntax: 1.3.6.1.4.1.1466.115.121.1.15{32768}
m-no-user-modification: true
m-usage: dSAOperation |
m-description |
dn: m-name=m-description,ou=meta,ou=schema
objectclass: meta-attributeType
objectclass: meta-top
objectclass: top
m-oid: 1.3.6.1.4.1.18060.1.1.0.3.3
m-name: m-description
m-description: Meta descriptive information
m-equality: caseIgnoreMatch
m-syntax: 1.3.6.1.4.1.1466.115.121.1.15{1024}
m-no-user-modification: true
m-single-value: true
m-usage: dSAOperation |
m-obsolete |
dn: m-name=m-obsolete,ou=meta,ou=schema
objectclass: meta-attributeType
objectclass: meta-top
objectclass: top
m-oid: 1.3.6.1.4.1.18060.1.1.0.3.4
m-name: m-obsolete
m-description: The type is obsolete
m-equality: BooleanMatch
m-syntax: Boolean
m-no-user-modification: true
m-single-value: true
m-usage: dSAOperation |
m-sup-objectclass |
dn: m-name=m-sup-objectclass,ou=meta,ou=schema
objectclass: meta-attributeType
objectclass: meta-top
objectclass: top
m-oid: 1.3.6.1.4.1.18060.1.1.0.3.5
m-name: m-sup-objectclass
m-description: The list of superiors
m-equality: NameOrOidMatch
m-syntax: NameOrOid
m-no-user-modification: true
m-usage: dSAOperation |
m-must |
dn: m-name=m-must,ou=meta,ou=schema
objectclass: meta-attributeType
objectclass: meta-top
objectclass: top
m-oid: 1.3.6.1.4.1.18060.1.1.0.3.6
m-name: m-must
m-description: The list of mandatory ATs
m-equality: NameOrOidMatch
m-syntax: NameOrOid
m-no-user-modification: true
m-usage: dSAOperation |
m-may |
dn: m-name=m-may,ou=meta,ou=schema
objectclass: meta-attributeType
objectclass: meta-top
objectclass: top
m-oid: 1.3.6.1.4.1.18060.1.1.0.3.7
m-name: m-may
m-description: The list of authorized ATs
m-equality: NameOrOidMatch
m-syntax: NameOrOid
m-no-user-modification: true
m-usage: dSAOperation |
m-type-object-class |
dn: m-name=m-type-object-class,ou=meta,ou=schema
objectclass: meta-attributeType
objectclass: meta-top
objectclass: top
m-oid: 1.3.6.1.4.1.18060.1.1.0.3.8
m-name: m-type-object-class
m-description: The ObjectClass type
m-equality: TypeObjectClassMatch
m-syntax: TypeObjectClass
m-no-user-modification: true
m-single-value: true
m-usage: dSAOperation |
m-extension-object-class |
dn: m-name=m-extension-object-class,ou=meta,ou=schema
objectclass: meta-attributeType
objectclass: meta-top
objectclass: top
m-oid: 1.3.6.1.4.1.18060.1.1.0.3.9
m-name: m-extension-object-class
m-description: An objectclass extension
m-equality: caseIgnoreMatch
m-syntax: 1.3.6.1.4.1.1466.115.121.1.15{32768}
m-no-user-modification: true
m-usage: dSAOperation |
m-sup-attribute-type |
dn: m-name=m-sup-attribute-type,ou=meta,ou=schema
objectclass: meta-attributeType
objectclass: meta-top
objectclass: top
m-oid: 1.3.6.1.4.1.18060.1.1.0.3.10
m-name: m-sup-attribute-type
m-description: The list of superior
m-equality: nameOrOidMatch
m-syntax: NameOrOid
m-no-user-modification: true
m-single-value: true
m-usage: dSAOperation |
m-equality |
dn: m-name=m-equality,ou=meta,ou=schema
objectclass: meta-attributeType
objectclass: meta-top
objectclass: top
m-oid: 1.3.6.1.4.1.18060.1.1.0.3.11
m-name: m-equality
m-description: Equality matching rule
m-equality: nameOrOidMatch
m-syntax: NameOrOid
m-no-user-modification: true
m-single-value: true
m-usage: dSAOperation |
m-ordering |
dn: m-name=m-ordering,ou=meta,ou=schema
objectclass: meta-attributeType
objectclass: meta-top
objectclass: top
m-oid: 1.3.6.1.4.1.18060.1.1.0.3.12
m-name: m-ordering
m-description: Ordering matching rule
m-equality: nameOrOidMatch
m-syntax: NameOrOid
m-no-user-modification: true
m-single-value: true
m-usage: dSAOperation |
m-substr |
dn: m-name=m-substr,ou=meta,ou=schema
objectclass: meta-attributeType
objectclass: meta-top
objectclass: top
m-oid: 1.3.6.1.4.1.18060.1.1.0.3.13
m-name: m-substr
m-description: Substring matching rule
m-equality: nameOrOidMatch
m-syntax: NameOrOid
m-no-user-modification: true
m-single-value: true
m-usage: dSAOperation |
m-syntax |
dn: m-name=m-syntax,ou=meta,ou=schema
objectclass: meta-attributeType
objectclass: meta-top
objectclass: top
m-oid: 1.3.6.1.4.1.18060.1.1.0.3.14
m-name: m-syntax
m-description: The attribute syntax
m-equality: nameOrOidMatch
m-syntax: NameOrOid
m-no-user-modification: true
m-single-value: true
m-usage: dSAOperation |
m-single-value |
dn: m-name=m-single-value,ou=meta,ou=schema
objectclass: meta-attributeType
objectclass: meta-top
objectclass: top
m-oid: 1.3.6.1.4.1.18060.1.1.0.3.15
m-name: m-single-value
m-description: The attribute is single valued
m-equality: BooleanMatch
m-syntax: Boolean
m-no-user-modification: true
m-single-value: true
m-usage: dSAOperation |
m-collective |
dn: m-name=m-collective,ou=meta,ou=schema
objectclass: meta-attributeType
objectclass: meta-top
objectclass: top
m-oid: 1.3.6.1.4.1.18060.1.1.0.3.16
m-name: m-collective
m-description: The attribute is collective
m-equality: BooleanMatch
m-syntax: Boolean
m-no-user-modification: true
m-single-value: true
m-usage: dSAOperation |
m-no-user-modification |
dn: m-name=m-no-user-modification,ou=meta,ou=schema
objectclass: meta-attributeType
objectclass: meta-top
objectclass: top
m-oid: 1.3.6.1.4.1.18060.1.1.0.3.17
m-name: m-no-user-modification
m-description: The attribute is protected
m-equality: BooleanMatch
m-syntax: Boolean
m-no-user-modification: true
m-single-value: true
m-usage: dSAOperation |
m-usage |
dn: m-name=m-usage,ou=meta,ou=schema
objectclass: meta-attributeType
objectclass: meta-top
objectclass: top
m-oid: 1.3.6.1.4.1.18060.1.1.0.3.18
m-name: m-usage
m-description: Type of operation
m-equality: UsageMatch
m-syntax: Usage
m-no-user-modification: true
m-single-value: true
m-usage: dSAOperation |
m-type-attribute-type |
dn: m-name=m-type-attribute-type,ou=meta,ou=schema
objectclass: meta-attributeType
objectclass: meta-top
objectclass: top
m-oid: 1.3.6.1.4.1.18060.1.1.0.3.19
m-name: m-type-attribute-type
m-description: Type of attributeType
m-equality: TypeAttributeTypeMatch
m-syntax: TypeAttributeType
m-no-user-modification: true
m-single-value: true
m-usage: dSAOperation |
m-extension-attribute-type |
dn: name=m-extension-attribute-type,ou=meta,ou=schema
objectclass: meta-attributeType
objectclass: meta-top
objectclass: top
m-oid: 1.3.6.1.4.1.18060.1.1.0.3.20
m-name: m-extension-attribute-type
m-description: Extension for attributeType
m-equality: caseIgnoreMatch
m-syntax: 1.3.6.1.4.1.1466.115.121.1.15{32768}
m-no-user-modification: true
m-usage: dSAOperation |
The following text is the description of the MetaObjectClass :
ObjectClass ( 1.3.6.1.4.1.18060.1.1.0.0.2
NAME MetaObjectClass
DESC 'Meta definition of the ObjectClass object'
SUP MetaTop
STRUCTURAL
MUST m-name
MAY ( m-sup-objectclass $ m-must $ m-may $ m-type-objectclass $ m-obsolete $ m-extension )
)
The following text is the description of the MetaAttributeType :
ObjectClass ( 1.3.6.1.4.1.18060.1.1.0.0.3
NAME MetaAttributeType
DESC 'Meta definition of the AttributeType object'
SUP MetaTop
STRUCTURAL
MUST ( m-name $ m-syntax )
MAY ( m-sup-attribute-type $ m-type-attribute-type $ m-obsolete $ m-equality $ m-ordering $ m-substr $ m-single-value $ m-collective $ m-no-user-modification $ m-usage $ m-extension )
)
The following text is the description of the MetaSyntax :
ObjectClass ( 1.3.6.1.4.1.18060.1.1.0.0.4
NAME MetaSyntax
DESC 'Meta definition of the Syntax object'
SUP MetaTop
STRUCTURAL
)
The following text is the description of the MatchingRule :
ObjectClass ( 1.3.6.1.4.1.18060.1.1.0.0.5
NAME MetaMatchingRule
DESC 'Meta definition of the MatchingRule object'
SUP MetaTop
STRUCTURAL
MUST m-syntax
MAY ( m-obsolete $ m-extensions )
)
We will express the Core schema using the previously defined Ldap objects :
The country ObjectClass in OpenLdap format :
objectclass ( 2.5.6.2 NAME 'country'
DESC 'RFC2256: a country'
SUP top
STRUCTURAL
MUST c
MAY ( searchGuide $ description )
)
The Country ObjectClass using the MetaObjectClass definition will be inserted as an entry into the ou=schema partition. As it is declared in core, we use a DN which describe this relationship with the original filer :
dn: name=country, dc=core, ou=schema
objectclass: MetaObjectClass
objectclass: MetaTop
objectClass: top
m-oid: 2.5.6.2
m-name: country
m-desc: RFC2256: a country
m-sup-objectClass: top
m-type-objectClass: STRUCTURAL
m-must: c
m-may: searchGuide
m-may: description