Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Migrated to Confluence 5.3
Note
titleWork in progress

This site is in the process of being reviewed and updated.

Table of Contents
indent20px
typelist

...

Those are following the following grammar (from RFC 4512 ) :

Code Blocknoformat
<SyntaxDescription> ::=
    <LPAREN> <WSP>
         <numericoid>
         ( <SP> "DESC" <SP> <qdstring> )?
         <extensions> <WSP>
    <RPAREN>

34 of them are defined in  RFC 4517. For instance, here the definition of Boolean syntax :

Code Blocknoformat
3.3.3.  Boolean

   A value of the Boolean syntax is one of the Boolean values, true or
   false.  The LDAP-specific encoding of a value of this syntax is
   defined by the following ABNF:

      Boolean = "TRUE" / "FALSE"

   The LDAP definition for the Boolean syntax is:

      ( 1.3.6.1.4.1.1466.115.121.1.7 DESC 'Boolean' )

   This syntax corresponds to the BOOLEAN ASN.1 type from [ASN.1].

...

Desc

OID

Extensions

rules

objectClassType

1.3.6.1.4.1.18060.0.4.0.0.1

-

Should be one of those 3 strings :

  • ABSTRACT
  • STRUCTURAL
  • AUXILIARY

numericOid

1.3.6.1.4.1.18060.0.4.0.0.2

-

Must be a valid numeric OID

attributeTypeUsage

1.3.6.1.4.1.18060.0.4.0.0.3

-

Should be one of those 4 strings :

  • userApplications
  • directoryOperation
  • distributedOperation
  • dSAOperation

number

1.3.6.1.4.1.18060.0.4.0.0.4

-

Must be a number

oidLen

1.3.6.1.4.1.18060.0.4.0.0.5

-

Must be a valid numeric oid followed
by a length constraint

objectName

1.3.6.1.4.1.18060.0.4.0.0.6

-

Must be a numbervalid name a-zA-Z(a-zA-Z0-9-;)*

MatchingRules

The Matching rules are deifned defined in RFC 4512 :

Code Blocknoformat
<MatchingRuleDescription> ::= <LPAREN> <WSP>
         <numericoid> <MRParameters>
         <SP> "SYNTAX" <SP> <numericoid>
         <extensions> <WSP> <RPAREN>

<MRParameters> ::=
    ( <SP> "NAME" <SP> <qdstrings> |
    <SP> "DESC" <SP> <qdstring> |
    <SP> "OBSOLETE" )+

...

The ObjectClass element is described in RFC 4512 :

Code Blocknoformat
<ObjectClassDescription> ::=
          <LPAREN> <SP> <numericoid> <ocparameters> <extensions> <WSP> <RPAREN>

// Each parameters should not be seen more than once
<ocparameters>  ::=
    ( <SP> "NAME" <SP> <qdescrs>
    | <SP> "DESC" <SP> <qdstring>
    | <SP> "OBSOLETE"
    | <SP> "SUP" <SP> <oids>
    | <SP> ( "ABSTRACT" | "STRUCTURAL" | "AUXILIARY" )
    | <SP> "MUST" <SP> <oids>
    | <SP> "MAY" <SP> <oids> )+

Here we have some elements which are already in the schema :

Code Blocknoformat
attributetype ( 2.5.4.0
	NAME 'objectClass'
	DESC 'RFC2256: object classes of the entity'
	EQUALITY objectIdentifierMatch
	SYNTAX 1.3.6.1.4.1.1466.115.121.1.38
 )
Code Blocknoformat
attributetype ( 2.5.4.13
	NAME 'description'
	DESC 'RFC2256: descriptive information'
	EQUALITY caseIgnoreMatch
	SUBSTR caseIgnoreSubstringsMatch
	SYNTAX 1.3.6.1.4.1.1466.115.121.1.15{1024}
 )
Code Blocknoformat
attributetype ( 2.5.4.41
	NAME 'name'
	DESC 'RFC2256: common supertype of name attributes'
	EQUALITY caseIgnoreMatch
	SUBSTR caseIgnoreSubstringsMatch
	SYNTAX 1.3.6.1.4.1.1466.115.121.1.15{32768}
 )

...

Name

OID

Desc

Sup

Equality

Ordering

Substr

Syntax

SingleValue

Collective

m-oid

1.3.6.1.4.1.18060.0.4.0.2.1

The Object Identifier

-

OidMatch

-

-

OID

yes

-

m-name

1.3.6.1.4.1.18060.0.4.0.2.2

The Object name

-

caseIgnoreMatch

-

caseIgnoreSubstringsMatch

1.3.6.1.4.1.1466.115.121.1.15objectName {32768}

no

-

m-description

1.3.6.1.4.1.18060.0.4.0.2.3

The object description

-

caseIgnoreMatch

-

caseIgnoreSubstringsMatch

1.3.6.1.4.1.1466.115.121.1.15{1024}

yes

-

m-obsolete

1.3.6.1.4.1.18060.0.4.0.2.4

The type is obsolete

-

BooleanMatch

-

-

Boolean

yes

-

m-supObjectClass

1.3.6.1.4.1.18060.0.4.0.2.5

The list of superiors

-

NameOrOidMatch

-

-

NameOrOid

no

-

m-must

1.3.6.1.4.1.18060.0.4.0.2.6

The list of mandatory ATs

-

NameOrOidMatch

-

-

NameOrOid

no

-

m-may

1.3.6.1.4.1.18060.0.4.0.2.7

The list of authorized ATs

-

NameOrOidMatch

-

-

NameOrOid

no

-

m-typeObjectClass

1.3.6.1.4.1.18060.0.4.0.2.8

The ObjectClass type

-

TypeObjectClassMatch

-

-

TypeObjectClass

yes

-

m-extensionObjectClass

1.3.6.1.4.1.18060.0.4.0.2.9

An objectclass
extension

-

caseIgnoreMatch

-

-

1.3.6.1.4.1.1466.115.121.1.15{32768}

no

-

...

The AttributeType element is described in RFC 4512 :

Code Blocknoformat
<AttributeTypeDescription> = <LPAREN> <WSP> <numericoid> <atparameters> <extensions> <WSP> <RPAREN>

// Each parameters should not be seen more than once
<atparameters>  ::=
    (<SP> "NAME" <SP> <qdescrs>
    | <SP> "DESC" <SP> qdstring
    | <SP> "OBSOLETE"
    | <SP> "SUP" <SP> <oid>
    | <SP> "EQUALITY" <SP> <oid>
    | <SP> "ORDERING" <SP> <oid>
    | <SP> "SUBSTR" <SP> <oid>
    | <SP> "SYNTAX" <SP> <noidlen>
    | <SP> "SINGLE-VALUE"
    | <SP> "COLLECTIVE"
    | <SP> "NO-USER-MODIFICATION"
    | <SP> "USAGE" <SP> <usage>)+

Here we have some elements which are already in the schema :

Code Blocknoformat
attributetype ( 2.5.4.13
	NAME 'description'
	DESC 'RFC2256: descriptive information'
	EQUALITY caseIgnoreMatch
	SUBSTR caseIgnoreSubstringsMatch
	SYNTAX 1.3.6.1.4.1.1466.115.121.1.15{1024}
 )
Code Blocknoformat
attributetype ( 2.5.4.41
	NAME 'name'
	DESC 'RFC2256: common supertype of name attributes'
	EQUALITY caseIgnoreMatch
	SUBSTR caseIgnoreSubstringsMatch
	SYNTAX 1.3.6.1.4.1.1466.115.121.1.15{32768}
 )

...

The DITStructureRule element is described in RFC 4512 :

Code Blocknoformat
<DITStructureRule> = <LPAREN> <WSP> <ruleid> <dsrparameters> <extensions> <WSP> <RPAREN>

// Each parameters should not be seen more than once
<dsrparameters>  ::=
    ( <SP> "NAME" <SP> <qdescrs>
    | <SP> "DESC" <SP> qdstring
    | <SP> "OBSOLETE"
    | <SP> "FORM" <SP> <oid>
    | <SP> "SUP" <SP> <ruleids>) +

...

The NameForm element is described in RFC 4512 :

Code Blocknoformat
<NameForm> = <LPAREN> <WSP> <numericOid> <nfParameters> <extensions> <WSP> <RPAREN>

// Each parameters should not be seen more than once
<nfParameters>  ::=
    ( <SP> "NAME" <SP> <qdescrs>
    | <SP> "DESC" <SP> qdstring
    | <SP> "OBSOLETE"
    | <SP> "OC" <SP> <oid>
    | <SP> "MUST" <SP> <oids>
    | <SP> "MAY" <SP> <oids> ) +

...

The DITContentRule element is described in RFC 4512 :

Code Blocknoformat
<DITContentRule> = <LPAREN> <WSP> <numericOid> <dcrParameters> <extensions> <WSP> <RPAREN>

// Each parameters should not be seen more than once
<dcrParameters>  ::=
    ( <SP> "NAME" <SP> <qdescrs>
    | <SP> "DESC" <SP> qdstring
    | <SP> "OBSOLETE"
    | <SP> "AUX" <SP> <oids>
    | <SP> "MUST" <SP> <oids>
    | <SP> "MAY" <SP> <oids>
    | <SP> "NOT" <SP> <oids> ) +

...

The MatchingRuleUse element is described in RFC 4512 :

Code Blocknoformat
<MatchingRuleUse> = <LPAREN> <WSP> <numericOid> <mruParameters> <extensions> <WSP> <RPAREN>

// Each parameters should not be seen more than once
<mruParameters>  ::=
    ( <SP> "NAME" <SP> <qdescrs>
    | <SP> "DESC" <SP> qdstring
    | <SP> "OBSOLETE"
    | <SP> "APPLIES" <SP> <oids> ) +

...