Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Note

The new AttributesType will use the OIDs 1.3.6.1.4.1.18060.1.1.0.3.N
The new ObjectClasses will use the OIDs 1.3.6.1.4.1.18060.1.1.0.4.N

Here, the prefix 1.3.6.1.4.1.18060 is the one declared to IANA to represent the Apache Foundation and the next 1.1 values are used specifically for Apache Directory.

Syntaxes

We must define the minimum set of syntaxes.

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

Code Block

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

Only one is already defined: in http://www.rfc-archive.org/getrfc.php?rfc=4517

Code Block

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].

They are the new one described in the following table :

Desc

OID

Extensions

rules

NameOrOid

1.3.6.1.4.1.18060.1.1.0.1.1

-

Must be a valid Name or a valid OID

NameOrOid

1.3.6.1.4.1.18060.1.1.0.1.2

-

Must be a list of valid Names or a valid OIDs

Type

1.3.6.1.4.1.18060.1.1.0.1.3

-

Should be one of those 3 strings :

  • ABSTRACT
  • STRUCTURAL
  • AUXILIARY

Usage

1.3.6.1.4.1.18060.1.1.0.1.4

-

Should be one of those 4 strings :

  • userApplications
  • directoryOperation
  • distributedOperation
  • dSAOperation

MatchingRules

The Matching rules are deifned in RFC 4512 :

Code Block

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

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

Here are the new MatchingRules :

Name

OID

Desc

Obsolete

Syntax

Extensions

BooleanMatch

1.3.6.1.4.1.18060.1.1.0.2.1

Match a Boolean

no

Boolean

-

NameOrOidMatch

1.3.6.1.4.1.18060.1.1.0.2.2

Match a name or an OID

no

NameOrOid

-

NamesOrOidsMatch

1.3.6.1.4.1.18060.1.1.0.2.3

Match a list of names or OIDs

no

NamesOrOids

-

TypeMatch

1.3.6.1.4.1.18060.1.1.0.2.4

Match a type of ObjectClass

no

Type

-

UsageMatch

1.3.6.1.4.1.18060.1.1.0.2.5

Match an attributeType Usage

no

Usage

-

ObjectClasses

The ObjectClass element is described in RFC 4512 :

...

Code Block
<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 :

...

Name

OID

Desc

Sup

Equality

Ordering

Substr

Syntax

SingleValue

Collective

NoUserModification

Usage

obsolete

1.3.6.1.4.1.18060.1.1.0.3.6

The type is obsolete

-

BooleanMatch

-

-

Boolean

yes

-

yes

dSAOperation

sup

1.3.6.1.4.1.18060.1.1.0.3.7

The list of superior

-

nameOrOidMatch

-

-

NameOrOid

yes

-

yes

dSAOperation

equality

1.3.6.1.4.1.18060.1.1.0.3.8

Equality matching rule

-

nameOrOidMatch nameOrOidMatch

-

-

NameOrOid

yes

-

yes

dSAOperation

ordering

1.3.6.1.4.1.18060.1.1.0.3.9

Ordering matching rule

-

nameOrOidMatch nameOrOidMatch

-

-

NameOrOid

yes

-

yes

dSAOperation

substr

1.3.6.1.4.1.18060.1.1.0.3.10

Substring matching rule

-

nameOrOidMatch nameOrOidMatch

-

-

NameOrOid

yes

-

yes

dSAOperation

syntax

1.3.6.1.4.1.18060.1.1.0.3.11

The attribute syntax

-

nameOrOidMatch nameOrOidMatch

-

-

NameOrOid

yes

-

yes

dSAOperation

single-value

1.3.6.1.4.1.18060.1.1.0.3.12

The attribute is single valued

-

BooleanMatch

-

-

Boolean

yes

-

yes

dSAOperation

collective

1.3.6.1.4.1.18060.1.1.0.3.13

The attribute is collective

-

BooleanMatch

-

-

Boolean

yes

-

yes

dSAOperation

no-user-modification

1.3.6.1.4.1.18060.1.1.0.3.14

The attribute is protected

-

BooleanMatch

-

-

Boolean

yes

-

yes

dSAOperation

usage

1.3.6.1.4.1.18060.1.1.0.3.15

Type of operation

-

UsageMatch

-

-

Usage

yes

-

yes

dSAOperation

...