3 # Includes "standard" schema items from RFC2251-RFC2256
5 # Standard X.501(93) Operational Attribute Types from RFC2252
7 attribute ( 2.5.18.1 NAME 'createTimestamp' EQUALITY generalizedTimeMatch
8 ORDERING generalizedTimeOrderingMatch
9 SYNTAX 1.3.6.1.4.1.1466.115.121.1.24
10 SINGLE-VALUE NO-USER-MODIFICATION USAGE directoryOperation )
12 attribute ( 2.5.18.2 NAME 'modifyTimestamp' EQUALITY generalizedTimeMatch
13 ORDERING generalizedTimeOrderingMatch
14 SYNTAX 1.3.6.1.4.1.1466.115.121.1.24
15 SINGLE-VALUE NO-USER-MODIFICATION USAGE directoryOperation )
17 attribute ( 2.5.18.3 NAME 'creatorsName' EQUALITY distinguishedNameMatch
18 SYNTAX 1.3.6.1.4.1.1466.115.121.1.12
19 SINGLE-VALUE NO-USER-MODIFICATION USAGE directoryOperation )
21 attribute ( 2.5.18.4 NAME 'modifiersName' EQUALITY distinguishedNameMatch
22 SYNTAX 1.3.6.1.4.1.1466.115.121.1.12
23 SINGLE-VALUE NO-USER-MODIFICATION USAGE directoryOperation )
25 attribute ( 2.5.18.10 NAME 'subschemaSubentry'
26 EQUALITY distinguishedNameMatch
27 SYNTAX 1.3.6.1.4.1.1466.115.121.1.12 NO-USER-MODIFICATION
28 SINGLE-VALUE USAGE directoryOperation )
30 attribute ( 2.5.21.5 NAME 'attributeTypes'
31 EQUALITY objectIdentifierFirstComponentMatch
32 SYNTAX 1.3.6.1.4.1.1466.115.121.1.3 USAGE directoryOperation )
34 attribute ( 2.5.21.6 NAME 'objectClasses'
35 EQUALITY objectIdentifierFirstComponentMatch
36 SYNTAX 1.3.6.1.4.1.1466.115.121.1.37 USAGE directoryOperation )
38 attribute ( 2.5.21.4 NAME 'matchingRules'
39 EQUALITY objectIdentifierFirstComponentMatch
40 SYNTAX 1.3.6.1.4.1.1466.115.121.1.30 USAGE directoryOperation )
42 attribute ( 2.5.21.8 NAME 'matchingRuleUse'
43 EQUALITY objectIdentifierFirstComponentMatch
44 SYNTAX 1.3.6.1.4.1.1466.115.121.1.31 USAGE directoryOperation )
46 # LDAP Operational Attributes from RFC2252
48 attribute ( 1.3.6.1.4.1.1466.101.120.5 NAME 'namingContexts'
49 SYNTAX 1.3.6.1.4.1.1466.115.121.1.12 USAGE dSAOperation )
51 attribute ( 1.3.6.1.4.1.1466.101.120.6 NAME 'altServer'
52 SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 USAGE dSAOperation )
54 attribute ( 1.3.6.1.4.1.1466.101.120.7 NAME 'supportedExtension'
55 SYNTAX 1.3.6.1.4.1.1466.115.121.1.38 USAGE dSAOperation )
57 attribute ( 1.3.6.1.4.1.1466.101.120.13 NAME 'supportedControl'
58 SYNTAX 1.3.6.1.4.1.1466.115.121.1.38 USAGE dSAOperation )
60 attribute ( 1.3.6.1.4.1.1466.101.120.14 NAME 'supportedSASLMechanisms'
61 SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 USAGE dSAOperation )
63 attribute ( 1.3.6.1.4.1.1466.101.120.15 NAME 'supportedLDAPVersion'
64 SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 USAGE dSAOperation )
66 # LDAP Subschema Atrribute from RFC2252
68 attribute ( 1.3.6.1.4.1.1466.101.120.16 NAME 'ldapSyntaxes'
69 EQUALITY objectIdentifierFirstComponentMatch
70 SYNTAX 1.3.6.1.4.1.1466.115.121.1.54 USAGE directoryOperation )
72 # X.500 Subschema attributes from RFC2252
74 attribute ( 2.5.21.1 NAME 'dITStructureRules' EQUALITY integerFirstComponentMatch
75 SYNTAX 1.3.6.1.4.1.1466.115.121.1.17 USAGE directoryOperation )
77 attribute ( 2.5.21.7 NAME 'nameForms'
78 EQUALITY objectIdentifierFirstComponentMatch
79 SYNTAX 1.3.6.1.4.1.1466.115.121.1.35 USAGE directoryOperation )
81 attribute ( 2.5.21.2 NAME 'dITContentRules'
82 EQUALITY objectIdentifierFirstComponentMatch
83 SYNTAX 1.3.6.1.4.1.1466.115.121.1.16 USAGE directoryOperation )
85 # Object Classes from RFC2252
87 # extensibleObject moved forward, since it depends on top
88 # ldapSyntaxes (operational) is admissible in next:
90 objectclass ( 2.5.20.1 NAME 'subschema' AUXILIARY
91 MAY ( dITStructureRules $ nameForms $ ditContentRules $
92 objectClasses $ attributeTypes $ matchingRules $
95 # Standard attribute types from RFC2256
97 attribute ( 2.5.4.0 NAME 'objectClass' EQUALITY objectIdentifierMatch
98 SYNTAX 1.3.6.1.4.1.1466.115.121.1.38 )
100 attribute ( 2.5.4.1 NAME 'aliasedObjectName' EQUALITY distinguishedNameMatch
101 SYNTAX 1.3.6.1.4.1.1466.115.121.1.12 SINGLE-VALUE )
103 # Defined, but no longer used
105 attribute ( 2.5.4.2 NAME 'knowledgeInformation' EQUALITY caseIgnoreMatch
106 SYNTAX 1.3.6.1.4.1.1466.115.121.1.15{32768} )
108 # Place here since other attribute types derive from it
110 attribute ( 2.5.4.41 NAME 'name' EQUALITY caseIgnoreMatch
111 SUBSTR caseIgnoreSubstringsMatch
112 SYNTAX 1.3.6.1.4.1.1466.115.121.1.15{32768} )
114 attribute ( 2.5.4.3 NAME ( 'cn' 'commonName' ) SUP name )
116 attribute ( 2.5.4.4 NAME ( 'sn' 'surname' ) SUP name )
118 attribute ( 2.5.4.5 NAME 'serialNumber' EQUALITY caseIgnoreMatch
119 SUBSTR caseIgnoreSubstringsMatch
120 SYNTAX 1.3.6.1.4.1.1466.115.121.1.44{64} )
122 # (2-letter code from ISO 3166)
124 attribute ( 2.5.4.6 NAME ( 'c' 'countryName' ) SUP name SINGLE-VALUE )
126 attribute ( 2.5.4.7 NAME ( 'l' 'localityName' ) SUP name )
128 attribute ( 2.5.4.8 NAME ( 'st' 'stateOrProvinceName' ) SUP name )
130 attribute ( 2.5.4.9 NAME ( 'street' 'streetAddress' ) EQUALITY caseIgnoreMatch
131 SUBSTR caseIgnoreSubstringsMatch
132 SYNTAX 1.3.6.1.4.1.1466.115.121.1.15{128} )
134 attribute ( 2.5.4.10 NAME ( 'o' 'organizationName' ) SUP name )
136 attribute ( 2.5.4.11 NAME ( 'ou' 'organizationalUnitName' ) SUP name )
138 attribute ( 2.5.4.12 NAME 'title' SUP name )
140 attribute ( 2.5.4.13 NAME 'description' EQUALITY caseIgnoreMatch
141 SUBSTR caseIgnoreSubstringsMatch
142 SYNTAX 1.3.6.1.4.1.1466.115.121.1.15{1024} )
144 # Obsoleted by enhancedSearchGuide
146 attribute ( 2.5.4.14 NAME 'searchGuide'
147 SYNTAX 1.3.6.1.4.1.1466.115.121.1.25 )
149 attribute ( 2.5.4.15 NAME 'businessCategory' EQUALITY caseIgnoreMatch
150 SUBSTR caseIgnoreSubstringsMatch
151 SYNTAX 1.3.6.1.4.1.1466.115.121.1.15{128} )
153 # Show stopper: we don't have the definition of caseIgnoreListSubstringsMatch
154 #attribute ( 2.5.4.16 NAME 'postalAddress' EQUALITY caseIgnoreListMatch
155 # SUBSTR caseIgnoreListSubstringsMatch
156 # SYNTAX 1.3.6.1.4.1.1466.115.121.1.41 )
157 attribute ( 2.5.4.16 NAME 'postalAddress' EQUALITY caseIgnoreListMatch
158 SYNTAX 1.3.6.1.4.1.1466.115.121.1.41 )
160 attribute ( 2.5.4.17 NAME 'postalCode' EQUALITY caseIgnoreMatch
161 SUBSTR caseIgnoreSubstringsMatch
162 SYNTAX 1.3.6.1.4.1.1466.115.121.1.15{40} )
164 attribute ( 2.5.4.18 NAME 'postOfficeBox' EQUALITY caseIgnoreMatch
165 SUBSTR caseIgnoreSubstringsMatch
166 SYNTAX 1.3.6.1.4.1.1466.115.121.1.15{40} )
168 attribute ( 2.5.4.19 NAME 'physicalDeliveryOfficeName' EQUALITY caseIgnoreMatch
169 SUBSTR caseIgnoreSubstringsMatch
170 SYNTAX 1.3.6.1.4.1.1466.115.121.1.15{128} )
172 attribute ( 2.5.4.20 NAME 'telephoneNumber' EQUALITY telephoneNumberMatch
173 SUBSTR telephoneNumberSubstringsMatch
174 SYNTAX 1.3.6.1.4.1.1466.115.121.1.50{32} )
176 attribute ( 2.5.4.21 NAME 'telexNumber'
177 SYNTAX 1.3.6.1.4.1.1466.115.121.1.52 )
179 attribute ( 2.5.4.22 NAME 'teletexTerminalIdentifier'
180 SYNTAX 1.3.6.1.4.1.1466.115.121.1.51 )
182 attribute ( 2.5.4.23 NAME ( 'facsimileTelephoneNumber' 'fax' )
183 SYNTAX 1.3.6.1.4.1.1466.115.121.1.22 )
185 attribute ( 2.5.4.24 NAME 'x121Address' EQUALITY numericStringMatch
186 SUBSTR numericStringSubstringsMatch
187 SYNTAX 1.3.6.1.4.1.1466.115.121.1.36{15} )
189 attribute ( 2.5.4.25 NAME 'internationaliSDNNumber' EQUALITY numericStringMatch
190 SUBSTR numericStringSubstringsMatch
191 SYNTAX 1.3.6.1.4.1.1466.115.121.1.36{16} )
193 attribute ( 2.5.4.26 NAME 'registeredAddress' SUP postalAddress
194 SYNTAX 1.3.6.1.4.1.1466.115.121.1.41 )
196 attribute ( 2.5.4.27 NAME 'destinationIndicator' EQUALITY caseIgnoreMatch
197 SUBSTR caseIgnoreSubstringsMatch
198 SYNTAX 1.3.6.1.4.1.1466.115.121.1.44{128} )
200 attribute ( 2.5.4.28 NAME 'preferredDeliveryMethod'
201 SYNTAX 1.3.6.1.4.1.1466.115.121.1.14
204 attribute ( 2.5.4.29 NAME 'presentationAddress'
205 EQUALITY presentationAddressMatch
206 SYNTAX 1.3.6.1.4.1.1466.115.121.1.43
209 attribute ( 2.5.4.30 NAME 'supportedApplicationContext'
210 EQUALITY objectIdentifierMatch
211 SYNTAX 1.3.6.1.4.1.1466.115.121.1.38 )
213 # Placed here because others derive from it.
215 # We had a dn definition in slapd.at.conf and Netscape lists both
216 # names for that OID. This is wrong, 'dn' is used internally in slapd
217 # as the name of a pseudo-attribute type that contains the
218 # distinguished name of an entry. On the other hand, the attribute
219 # type distinguishedName is meant to be an "abstract" type and other
220 # dn-valued attribute types derive from it. So at most, 'dn' would
221 # be a subtype of distinguishedName.
223 attribute ( 2.5.4.49 NAME 'distinguishedName'
224 EQUALITY distinguishedNameMatch
225 SYNTAX 1.3.6.1.4.1.1466.115.121.1.12 )
227 attribute ( 2.5.4.31 NAME 'member' SUP distinguishedName )
229 attribute ( 2.5.4.32 NAME 'owner' SUP distinguishedName )
231 attribute ( 2.5.4.33 NAME 'roleOccupant' SUP distinguishedName )
233 attribute ( 2.5.4.34 NAME 'seeAlso' SUP distinguishedName )
235 attribute ( 2.5.4.35 NAME 'userPassword' EQUALITY octetStringMatch
236 SYNTAX 1.3.6.1.4.1.1466.115.121.1.40{128} )
238 # Must be stored and requested in the binary form, as
239 # userCertificate;binary
241 attribute ( 2.5.4.36 NAME 'userCertificate'
242 SYNTAX 1.3.6.1.4.1.1466.115.121.1.8 )
246 attribute ( 2.5.4.37 NAME 'cACertificate'
247 SYNTAX 1.3.6.1.4.1.1466.115.121.1.8 )
251 attribute ( 2.5.4.38 NAME 'authorityRevocationList'
252 SYNTAX 1.3.6.1.4.1.1466.115.121.1.9 )
256 attribute ( 2.5.4.39 NAME 'certificateRevocationList'
257 SYNTAX 1.3.6.1.4.1.1466.115.121.1.9 )
261 attribute ( 2.5.4.40 NAME 'crossCertificatePair'
262 SYNTAX 1.3.6.1.4.1.1466.115.121.1.10 )
264 # 2.5.4.41 is 'name', moved above since other attribute types derive from it
266 attribute ( 2.5.4.42 NAME 'givenName' SUP name )
268 attribute ( 2.5.4.43 NAME 'initials' SUP name )
270 attribute ( 2.5.4.45 NAME 'x500UniqueIdentifier' EQUALITY bitStringMatch
271 SYNTAX 1.3.6.1.4.1.1466.115.121.1.6 )
273 attribute ( 2.5.4.46 NAME 'dnQualifier' EQUALITY caseIgnoreMatch
274 ORDERING caseIgnoreOrderingMatch SUBSTR caseIgnoreSubstringsMatch
275 SYNTAX 1.3.6.1.4.1.1466.115.121.1.44 )
277 attribute ( 2.5.4.47 NAME 'enhancedSearchGuide'
278 SYNTAX 1.3.6.1.4.1.1466.115.121.1.21 )
280 attribute ( 2.5.4.48 NAME 'protocolInformation'
281 EQUALITY protocolInformationMatch
282 SYNTAX 1.3.6.1.4.1.1466.115.121.1.42 )
284 # 2.5.4.49 is distinguishedName, moved up
286 attribute ( 2.5.4.50 NAME 'uniqueMember' EQUALITY uniqueMemberMatch
287 SYNTAX 1.3.6.1.4.1.1466.115.121.1.34 )
289 attribute ( 2.5.4.51 NAME 'houseIdentifier' EQUALITY caseIgnoreMatch
290 SUBSTR caseIgnoreSubstringsMatch
291 SYNTAX 1.3.6.1.4.1.1466.115.121.1.15{32768} )
293 # This attribute is to be stored and requested in the binary form, as
294 # 'supportedAlgorithms;binary'.
296 attribute ( 2.5.4.52 NAME 'supportedAlgorithms'
297 SYNTAX 1.3.6.1.4.1.1466.115.121.1.49 )
299 # This attribute is to be stored and requested in the binary form, as
300 # 'deltaRevocationList;binary'.
302 attribute ( 2.5.4.53 NAME 'deltaRevocationList'
303 SYNTAX 1.3.6.1.4.1.1466.115.121.1.9 )
305 attribute ( 2.5.4.54 NAME 'dmdName' SUP name )
307 # Standard object classes from RFC2256
309 objectclass ( 2.5.6.0 NAME 'top' ABSTRACT MUST objectClass )
311 objectclass ( 2.5.6.1 NAME 'alias' SUP top STRUCTURAL MUST aliasedObjectName )
313 objectclass ( 2.5.6.2 NAME 'country' SUP top STRUCTURAL MUST c
314 MAY ( searchGuide $ description ) )
316 objectclass ( 2.5.6.3 NAME 'locality' SUP top STRUCTURAL
317 MAY ( street $ seeAlso $ searchGuide $ st $ l $ description ) )
319 objectclass ( 2.5.6.4 NAME 'organization' SUP top STRUCTURAL MUST o
320 MAY ( userPassword $ searchGuide $ seeAlso $ businessCategory $
321 x121Address $ registeredAddress $ destinationIndicator $
322 preferredDeliveryMethod $ telexNumber $ teletexTerminalIdentifier $
323 telephoneNumber $ internationaliSDNNumber $
324 facsimileTelephoneNumber $
325 street $ postOfficeBox $ postalCode $ postalAddress $
326 physicalDeliveryOfficeName $ st $ l $ description ) )
328 objectclass ( 2.5.6.5 NAME 'organizationalUnit' SUP top STRUCTURAL MUST ou
329 MAY ( userPassword $ searchGuide $ seeAlso $ businessCategory $
330 x121Address $ registeredAddress $ destinationIndicator $
331 preferredDeliveryMethod $ telexNumber $ teletexTerminalIdentifier $
332 telephoneNumber $ internationaliSDNNumber $
333 facsimileTelephoneNumber $
334 street $ postOfficeBox $ postalCode $ postalAddress $
335 physicalDeliveryOfficeName $ st $ l $ description ) )
337 objectclass ( 2.5.6.6 NAME 'person' SUP top STRUCTURAL MUST ( sn $ cn )
338 MAY ( userPassword $ telephoneNumber $ seeAlso $ description ) )
340 objectclass ( 2.5.6.7 NAME 'organizationalPerson' SUP person STRUCTURAL
341 MAY ( title $ x121Address $ registeredAddress $
342 destinationIndicator $
343 preferredDeliveryMethod $ telexNumber $ teletexTerminalIdentifier $
344 telephoneNumber $ internationaliSDNNumber $
345 facsimileTelephoneNumber $
346 street $ postOfficeBox $ postalCode $ postalAddress $
347 physicalDeliveryOfficeName $ ou $ st $ l ) )
349 # Notice that preferredDeliveryMethod is duplicate
351 objectclass ( 2.5.6.8 NAME 'organizationalRole' SUP top STRUCTURAL MUST cn
352 MAY ( x121Address $ registeredAddress $ destinationIndicator $
353 preferredDeliveryMethod $ telexNumber $ teletexTerminalIdentifier $
354 telephoneNumber $ internationaliSDNNumber $
355 facsimileTelephoneNumber $
356 seeAlso $ roleOccupant $ preferredDeliveryMethod $ street $
357 postOfficeBox $ postalCode $ postalAddress $
358 physicalDeliveryOfficeName $ ou $ st $ l $ description ) )
360 objectclass ( 2.5.6.9 NAME 'groupOfNames' SUP top STRUCTURAL MUST ( member $ cn )
361 MAY ( businessCategory $ seeAlso $ owner $ ou $ o $ description ) )
363 # Notice that preferredDeliveryMethod is duplicate
364 # It seems they could not agree on wheter telephoneNumber is MAY
365 # in person. Probably it wasn't originally at was added as an
368 objectclass ( 2.5.6.10 NAME 'residentialPerson' SUP person STRUCTURAL MUST l
369 MAY ( businessCategory $ x121Address $ registeredAddress $
370 destinationIndicator $ preferredDeliveryMethod $ telexNumber $
371 teletexTerminalIdentifier $ telephoneNumber $
372 internationaliSDNNumber $
373 facsimileTelephoneNumber $ preferredDeliveryMethod $ street $
374 postOfficeBox $ postalCode $ postalAddress $
375 physicalDeliveryOfficeName $ st $ l ) )
377 objectclass ( 2.5.6.11 NAME 'applicationProcess' SUP top STRUCTURAL MUST cn
378 MAY ( seeAlso $ ou $ l $ description ) )
380 objectclass ( 2.5.6.12 NAME 'applicationEntity' SUP top STRUCTURAL
381 MUST ( presentationAddress $ cn )
382 MAY ( supportedApplicationContext $ seeAlso $ ou $ o $ l $
385 # This one was wrong in our schema, it only allowed the aditional
386 # knowledgeInformation attribute, while it is derived from
387 # applicationEntity and should allow all its attributes as well.
389 objectclass ( 2.5.6.13 NAME 'dSA' SUP applicationEntity STRUCTURAL
390 MAY knowledgeInformation )
392 objectclass ( 2.5.6.14 NAME 'device' SUP top STRUCTURAL MUST cn
393 MAY ( serialNumber $ seeAlso $ owner $ ou $ o $ l $ description ) )
395 objectclass ( 2.5.6.15 NAME 'strongAuthenticationUser' SUP top AUXILIARY
396 MUST userCertificate )
398 objectclass ( 2.5.6.16 NAME 'certificationAuthority' SUP top AUXILIARY
399 MUST ( authorityRevocationList $ certificateRevocationList $
400 cACertificate ) MAY crossCertificatePair )
404 objectclass ( 2.5.6.17 NAME 'groupOfUniqueNames' SUP top STRUCTURAL
405 MUST ( uniqueMember $ cn )
406 MAY ( businessCategory $ seeAlso $ owner $ ou $ o $ description ) )
410 objectclass ( 2.5.6.18 NAME 'userSecurityInformation' SUP top AUXILIARY
411 MAY ( supportedAlgorithms ) )
415 objectclass ( 2.5.6.16.2 NAME 'certificationAuthority-V2' SUP
416 certificationAuthority
417 AUXILIARY MAY ( deltaRevocationList ) )
421 objectclass ( 2.5.6.19 NAME 'cRLDistributionPoint' SUP top STRUCTURAL
422 MUST ( cn ) MAY ( certificateRevocationList $
423 authorityRevocationList $
424 deltaRevocationList ) )
428 objectclass ( 2.5.6.20 NAME 'dmd' SUP top STRUCTURAL MUST ( dmdName )
429 MAY ( userPassword $ searchGuide $ seeAlso $ businessCategory $
430 x121Address $ registeredAddress $ destinationIndicator $
431 preferredDeliveryMethod $ telexNumber $ teletexTerminalIdentifier $
432 telephoneNumber $ internationaliSDNNumber $
433 facsimileTelephoneNumber $
434 street $ postOfficeBox $ postalCode $ postalAddress $
435 physicalDeliveryOfficeName $ st $ l $ description ) )
437 # Next objectclass is defined in RFC2252, but has to be put after top
439 objectclass ( 1.3.6.1.4.1.1466.101.120.111 NAME 'extensibleObject'
443 # From draft-ietf-ldapext-nameref-00.txt
444 # used to represent referrals in the directory
446 attribute ( 2.16.840.1.113730.3.1.34 NAME 'ref' DESC 'URL Reference'
447 EQUALITY caseExactIA5Match SYNTAX 1.3.6.1.4.1.1466.115.121.1.26
448 USAGE distributedOperation )
450 objectclass ( 2.16.840.1.113730.3.2.6 NAME 'referral'
451 SUP top STRUCTURAL MAY ( ref ) )