You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 18 Next »

Introduction

This page is used to describe the MetaSchema using OpenLdap schema syntx, so that it can be loaded into the ou=schema special partition

The MetaSchema schema

This part expose the elements we have to declare to be able to store the schema using a standard schema

Meta top level elements

MetaTop OjectClass

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 )
)

MetaTop AttributeTypes

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:
m-equality:
m-syntax:
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:
m-equality:
m-syntax:
m-no-user-modification: true
m-usage: dSAOperation

m-desc

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-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.14
m-name: m-collective
m-description: The attribute is collective
m-equality: booleanmatch
m-syntax: 1.3.6.1.4.1.1466.115.121.1.7
m-no-user-modification: 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-desc: Equality matching rule
m-equality: nameOrOidMatch
m-syntax: NameOrOid
m-no-user-modification: true
m-usage: dSAOperation

m-extension-attributeType

m-extension-objectClass

m-may

m-must

m-no-user-modificatio

m-obsolete

m-ordering

m-single-value

m-substr

m-sup-attribute-type

m-sup-objectclass

m_syntax

m-type-attribute-type

m-type-objectclass

m-usage

MetaTop ObjectClasses instances

MetaObjectClass

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 )
)

MetaAttributeType

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 )
)

MetaSyntax

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
)

MetaMatchingRule

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 )
)

Application to Core Schema

We will express the Core schema using the previously defined Ldap objects :

Country

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
  • No labels