-- ASN module extracted from ITU-T X.501 (10/2019)
SchemaAdministration
{joint-iso-itu-t ds(5) module(1) schemaAdministration(23) 10}
DEFINITIONS ::=
BEGIN
-- EXPORTS All
/*
The types and values defined in this module are exported for use in the other ASN.1
modules contained within the Directory Specifications, and for the use of other
applications which will use them to access Directory services. Other applications may
use them for their own purposes, but this will not constrain extensions and
modifications needed to maintain or improve the Directory service.
*/
IMPORTS
-- from Rec. ITU-T X.501 | ISO/IEC 9594-2
id-soa, id-soc,
ATTRIBUTE, AttributeUsage, CONTEXT, MATCHING-RULE, NAME-FORM, OBJECT-CLASS,
ObjectClassKind, objectIdentifierMatch, SYNTAX-NAME, -- From InformationFramework
integerMatch, integer, oid -- From SelectedAttributeTypes
FROM UsefulDefinitions
{joint-iso-itu-t ds(5) module(1) usefulDefinitions(0) 10} WITH SUCCESSORS
--ATTRIBUTE, AttributeUsage, CONTEXT,
DITContentRule, DITStructureRule
-- MATCHING-RULE NAME-FORM, OBJECT-CLASS, ObjectClassKind, objectIdentifierMatch,
-- SYNTAX-NAME
FROM InformationFramework
{joint-iso-itu-t ds(5) module(1) informationFramework(1) 10} WITH SUCCESSORS
ldapSyntaxes
FROM LdapSystemSchema
{joint-iso-itu-t ds(5) module(1) ldapSystemSchema(38) 10} WITH SUCCESSORS
-- from Rec. ITU-T X.520 | ISO/IEC 9594-6
attributeTypeDescription, dITContentRuleDescription, dITStructureRuleDescription,
-- integer, -- integerFirstComponentMatch, -- integerMatch, -- matchingRuleDescription,
matchingRuleUseDescription, nameFormDescription, objectClassDescription,
objectIdentifierFirstComponentMatch, --oid,-- UnboundedDirectoryString
FROM SelectedAttributeTypes
{joint-iso-itu-t ds(5) module(1) selectedAttributeTypes(5) 10} WITH SUCCESSORS ;
subschema OBJECT-CLASS ::= {
KIND auxiliary
MAY CONTAIN { dITStructureRules |
nameForms |
dITContentRules |
objectClasses |
attributeTypes |
friends |
contextTypes |
dITContextUse |
matchingRules |
matchingRuleUse |
ldapSyntaxes }
LDAP-NAME {"subschema"}
ID id-soc-subschema }
dITStructureRules ATTRIBUTE ::= {
WITH SYNTAX DITStructureRuleDescription
EQUALITY MATCHING RULE integerFirstComponentMatch
USAGE directoryOperation
LDAP-SYNTAX dITStructureRuleDescription.&id
LDAP-NAME {"dITStructureRules"}
ID id-soa-dITStructureRule }
DITStructureRuleDescription ::= SEQUENCE {
COMPONENTS OF DITStructureRule,
name [1] SET SIZE (1..MAX) OF UnboundedDirectoryString OPTIONAL,
description UnboundedDirectoryString OPTIONAL,
obsolete BOOLEAN DEFAULT FALSE,
... }
dITContentRules ATTRIBUTE ::= {
WITH SYNTAX DITContentRuleDescription
EQUALITY MATCHING RULE objectIdentifierFirstComponentMatch
USAGE directoryOperation
LDAP-SYNTAX dITContentRuleDescription.&id
LDAP-NAME {"dITContentRules"}
ID id-soa-dITContentRules }
DITContentRuleDescription ::= SEQUENCE {
COMPONENTS OF DITContentRule,
name [4] SET SIZE (1..MAX) OF UnboundedDirectoryString OPTIONAL,
description UnboundedDirectoryString OPTIONAL,
obsolete BOOLEAN DEFAULT FALSE,
... }
matchingRules ATTRIBUTE ::= {
WITH SYNTAX MatchingRuleDescription
EQUALITY MATCHING RULE objectIdentifierFirstComponentMatch
USAGE directoryOperation
LDAP-SYNTAX matchingRuleDescription.&id
LDAP-NAME {"matchingRules"}
ID id-soa-matchingRules }
MatchingRuleDescription ::= SEQUENCE {
identifier MATCHING-RULE.&id,
name SET SIZE (1..MAX) OF UnboundedDirectoryString OPTIONAL,
description UnboundedDirectoryString OPTIONAL,
obsolete BOOLEAN DEFAULT FALSE,
information [0] UnboundedDirectoryString OPTIONAL,
-- describes the ASN.1 syntax
... }
attributeTypes ATTRIBUTE ::= {
WITH SYNTAX AttributeTypeDescription
EQUALITY MATCHING RULE objectIdentifierFirstComponentMatch
USAGE directoryOperation
LDAP-SYNTAX attributeTypeDescription.&id
LDAP-NAME {"attributeTypes"}
ID id-soa-attributeTypes }
AttributeTypeDescription ::= SEQUENCE {
identifier ATTRIBUTE.&id,
name SET SIZE (1..MAX) OF UnboundedDirectoryString OPTIONAL,
description UnboundedDirectoryString OPTIONAL,
obsolete BOOLEAN DEFAULT FALSE,
information [0] AttributeTypeInformation,
... }
AttributeTypeInformation ::= SEQUENCE {
derivation [0] ATTRIBUTE.&id OPTIONAL,
equalityMatch [1] MATCHING-RULE.&id OPTIONAL,
orderingMatch [2] MATCHING-RULE.&id OPTIONAL,
substringsMatch [3] MATCHING-RULE.&id OPTIONAL,
attributeSyntax [4] UnboundedDirectoryString OPTIONAL,
multi-valued [5] BOOLEAN DEFAULT TRUE,
collective [6] BOOLEAN DEFAULT FALSE,
userModifiable [7] BOOLEAN DEFAULT TRUE,
application AttributeUsage DEFAULT userApplications,
... }
objectClasses ATTRIBUTE ::= {
WITH SYNTAX ObjectClassDescription
EQUALITY MATCHING RULE objectIdentifierFirstComponentMatch
USAGE directoryOperation
LDAP-SYNTAX objectClassDescription.&id
LDAP-NAME {"objectClasses"}
ID id-soa-objectClasses }
ObjectClassDescription ::= SEQUENCE {
identifier OBJECT-CLASS.&id,
name SET SIZE (1..MAX) OF UnboundedDirectoryString OPTIONAL,
description UnboundedDirectoryString OPTIONAL,
obsolete BOOLEAN DEFAULT FALSE,
information [0] ObjectClassInformation,
... }
ObjectClassInformation ::= SEQUENCE {
subclassOf SET SIZE (1..MAX) OF OBJECT-CLASS.&id OPTIONAL,
kind ObjectClassKind DEFAULT structural,
mandatories [3] SET SIZE (1..MAX) OF ATTRIBUTE.&id OPTIONAL,
optionals [4] SET SIZE (1..MAX) OF ATTRIBUTE.&id OPTIONAL,
... }
nameForms ATTRIBUTE ::= {
WITH SYNTAX NameFormDescription
EQUALITY MATCHING RULE objectIdentifierFirstComponentMatch
USAGE directoryOperation
LDAP-SYNTAX nameFormDescription.&id
LDAP-NAME {"nameForms"}
ID id-soa-nameForms }
NameFormDescription ::= SEQUENCE {
identifier NAME-FORM.&id,
name SET SIZE (1..MAX) OF UnboundedDirectoryString OPTIONAL,
description UnboundedDirectoryString OPTIONAL,
obsolete BOOLEAN DEFAULT FALSE,
information [0] NameFormInformation,
... }
NameFormInformation ::= SEQUENCE {
subordinate OBJECT-CLASS.&id,
namingMandatories SET OF ATTRIBUTE.&id,
namingOptionals SET SIZE (1..MAX) OF ATTRIBUTE.&id OPTIONAL,
... }
matchingRuleUse ATTRIBUTE ::= {
WITH SYNTAX MatchingRuleUseDescription
EQUALITY MATCHING RULE objectIdentifierFirstComponentMatch
USAGE directoryOperation
LDAP-SYNTAX matchingRuleUseDescription.&id
LDAP-NAME {"matchingRuleUse"}
ID id-soa-matchingRuleUse }
MatchingRuleUseDescription ::= SEQUENCE {
identifier MATCHING-RULE.&id,
name SET SIZE (1..MAX) OF UnboundedDirectoryString OPTIONAL,
description UnboundedDirectoryString OPTIONAL,
obsolete BOOLEAN DEFAULT FALSE,
information [0] SET OF ATTRIBUTE.&id,
... }
structuralObjectClass ATTRIBUTE ::= {
WITH SYNTAX OBJECT IDENTIFIER
EQUALITY MATCHING RULE objectIdentifierMatch
SINGLE VALUE TRUE
NO USER MODIFICATION TRUE
USAGE directoryOperation
LDAP-SYNTAX oid.&id
LDAP-NAME {"structuralObjectClass"}
ID id-soa-structuralObjectClass }
governingStructureRule ATTRIBUTE ::= {
WITH SYNTAX INTEGER
EQUALITY MATCHING RULE integerMatch
SINGLE VALUE TRUE
NO USER MODIFICATION TRUE
USAGE directoryOperation
LDAP-SYNTAX integer.&id
LDAP-NAME {"governingStructureRule"}
ID id-soa-governingStructureRule }
contextTypes ATTRIBUTE ::= {
WITH SYNTAX ContextDescription
EQUALITY MATCHING RULE objectIdentifierFirstComponentMatch
USAGE directoryOperation
ID id-soa-contextTypes }
ContextDescription ::= SEQUENCE {
identifier CONTEXT.&id,
name SET SIZE (1..MAX) OF UnboundedDirectoryString OPTIONAL,
description UnboundedDirectoryString OPTIONAL,
obsolete BOOLEAN DEFAULT FALSE,
information [0] ContextInformation,
... }
ContextInformation ::= SEQUENCE {
syntax UnboundedDirectoryString,
assertionSyntax UnboundedDirectoryString OPTIONAL,
... }
dITContextUse ATTRIBUTE ::= {
WITH SYNTAX DITContextUseDescription
EQUALITY MATCHING RULE objectIdentifierFirstComponentMatch
USAGE directoryOperation
ID id-soa-dITContextUse }
DITContextUseDescription ::= SEQUENCE {
identifier ATTRIBUTE.&id,
name SET SIZE (1..MAX) OF UnboundedDirectoryString OPTIONAL,
description UnboundedDirectoryString OPTIONAL,
obsolete BOOLEAN DEFAULT FALSE,
information [0] DITContextUseInformation,
... }
DITContextUseInformation ::= SEQUENCE {
mandatoryContexts [1] SET SIZE (1..MAX) OF CONTEXT.&id OPTIONAL,
optionalContexts [2] SET SIZE (1..MAX) OF CONTEXT.&id OPTIONAL,
... }
friends ATTRIBUTE ::= {
WITH SYNTAX FriendsDescription
EQUALITY MATCHING RULE objectIdentifierFirstComponentMatch
USAGE directoryOperation
ID id-soa-friends }
FriendsDescription ::= SEQUENCE {
anchor ATTRIBUTE.&id,
name SET SIZE (1..MAX) OF UnboundedDirectoryString OPTIONAL,
description UnboundedDirectoryString OPTIONAL,
obsolete BOOLEAN DEFAULT FALSE,
friends [0] SET SIZE (1..MAX) OF ATTRIBUTE.&id,
... }
-- object identifier assignments
-- schema object classes
id-soc-subschema OBJECT IDENTIFIER ::= {id-soc 1}
-- schema operational attributes
id-soa-dITStructureRule OBJECT IDENTIFIER ::= {id-soa 1}
id-soa-dITContentRules OBJECT IDENTIFIER ::= {id-soa 2}
id-soa-matchingRules OBJECT IDENTIFIER ::= {id-soa 4}
id-soa-attributeTypes OBJECT IDENTIFIER ::= {id-soa 5}
id-soa-objectClasses OBJECT IDENTIFIER ::= {id-soa 6}
id-soa-nameForms OBJECT IDENTIFIER ::= {id-soa 7}
id-soa-matchingRuleUse OBJECT IDENTIFIER ::= {id-soa 8}
id-soa-structuralObjectClass OBJECT IDENTIFIER ::= {id-soa 9}
id-soa-governingStructureRule OBJECT IDENTIFIER ::= {id-soa 10}
id-soa-contextTypes OBJECT IDENTIFIER ::= {id-soa 11}
id-soa-dITContextUse OBJECT IDENTIFIER ::= {id-soa 12}
id-soa-friends OBJECT IDENTIFIER ::= {id-soa 13}
END -- SchemaAdministration