Note | ||
---|---|---|
| ||
This site is in the process of being reviewed and updated. |
Table of Contents | ||||
---|---|---|---|---|
|
...
Those are following the following grammar (from RFC 4512 ) :
Code Blocknoformat |
---|
<SyntaxDescription> ::= <LPAREN> <WSP> <numericoid> ( <SP> "DESC" <SP> <qdstring> )? <extensions> <WSP> <RPAREN> |
Two 34 of them are defined . One in RFC 4517. For instance, Boolean, and the other one in RFC 4512, NumericOid, but needs to be expressed as a new syntax.here the definition of Boolean syntax :
No Formatcode |
---|
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 Here are the new one we need to implement the MetaSchema, described in the following table :
Desc | OID | Extensions | rules | ||
---|---|---|---|---|---|
objectClassType | 1.3.6.1.4.1.18060.0.4.0.0.1 | - | Should be one of those 3 strings :
| ||
numericOid | 1.3.6.1.4.1.18060.0.4.0.0.0 2 | - | Must be a valid numeric OID | ||
usage attributeTypeUsage | 1.3.6.1.4.1.18060.0.4.0.0.3 | - | Should be one of those 4 strings :
| ||
number | 1.3.6.1.4.1.18060.0.4.0.0.4 | - | Must be a number | - | Should be one of those 4 strings :
|
oidLen | 1.3.6.1.4.1.18060.0.4.0.0.5 | - | Must be a valid numeric oid followed | ||
objectName | 1.3.6.1.4.1.18060.0.4.0.0.6 | - | Must be a valid 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 | - | 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> ) + |
...