5 # Includes "standard" schema items from:
6 # RFC2251-RFC2256 (LDAPv3)
9 # and other "core" items
11 # named referrals draft
15 # Standard X.501(93) Operational Attribute Types from RFC2252
17 attributetype ( 2.5.18.1 NAME 'createTimestamp' EQUALITY generalizedTimeMatch
18 ORDERING generalizedTimeOrderingMatch
19 SYNTAX 1.3.6.1.4.1.1466.115.121.1.24
20 SINGLE-VALUE NO-USER-MODIFICATION USAGE directoryOperation )
22 attributetype ( 2.5.18.2 NAME 'modifyTimestamp' EQUALITY generalizedTimeMatch
23 ORDERING generalizedTimeOrderingMatch
24 SYNTAX 1.3.6.1.4.1.1466.115.121.1.24
25 SINGLE-VALUE NO-USER-MODIFICATION USAGE directoryOperation )
27 attributetype ( 2.5.18.3 NAME 'creatorsName' EQUALITY distinguishedNameMatch
28 SYNTAX 1.3.6.1.4.1.1466.115.121.1.12
29 SINGLE-VALUE NO-USER-MODIFICATION USAGE directoryOperation )
31 attributetype ( 2.5.18.4 NAME 'modifiersName' EQUALITY distinguishedNameMatch
32 SYNTAX 1.3.6.1.4.1.1466.115.121.1.12
33 SINGLE-VALUE NO-USER-MODIFICATION USAGE directoryOperation )
35 attributetype ( 2.5.18.10 NAME 'subschemaSubentry'
36 EQUALITY distinguishedNameMatch
37 SYNTAX 1.3.6.1.4.1.1466.115.121.1.12 NO-USER-MODIFICATION
38 SINGLE-VALUE USAGE directoryOperation )
40 attributetype ( 2.5.21.5 NAME 'attributeTypes'
41 EQUALITY objectIdentifierFirstComponentMatch
42 SYNTAX 1.3.6.1.4.1.1466.115.121.1.3 USAGE directoryOperation )
44 attributetype ( 2.5.21.6 NAME 'objectClasses'
45 EQUALITY objectIdentifierFirstComponentMatch
46 SYNTAX 1.3.6.1.4.1.1466.115.121.1.37 USAGE directoryOperation )
48 attributetype ( 2.5.21.4 NAME 'matchingRules'
49 EQUALITY objectIdentifierFirstComponentMatch
50 SYNTAX 1.3.6.1.4.1.1466.115.121.1.30 USAGE directoryOperation )
52 attributetype ( 2.5.21.8 NAME 'matchingRuleUse'
53 EQUALITY objectIdentifierFirstComponentMatch
54 SYNTAX 1.3.6.1.4.1.1466.115.121.1.31 USAGE directoryOperation )
56 # LDAP Operational Attributes from RFC2252
58 attributetype ( 1.3.6.1.4.1.1466.101.120.5 NAME 'namingContexts'
59 SYNTAX 1.3.6.1.4.1.1466.115.121.1.12 USAGE dSAOperation )
61 attributetype ( 1.3.6.1.4.1.1466.101.120.6 NAME 'altServer'
62 SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 USAGE dSAOperation )
64 attributetype ( 1.3.6.1.4.1.1466.101.120.7 NAME 'supportedExtension'
65 SYNTAX 1.3.6.1.4.1.1466.115.121.1.38 USAGE dSAOperation )
67 attributetype ( 1.3.6.1.4.1.1466.101.120.13 NAME 'supportedControl'
68 SYNTAX 1.3.6.1.4.1.1466.115.121.1.38 USAGE dSAOperation )
70 attributetype ( 1.3.6.1.4.1.1466.101.120.14 NAME 'supportedSASLMechanisms'
71 SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 USAGE dSAOperation )
73 attributetype ( 1.3.6.1.4.1.1466.101.120.15 NAME 'supportedLDAPVersion'
74 SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 USAGE dSAOperation )
76 # LDAP Subschema Atrribute from RFC2252
78 attributetype ( 1.3.6.1.4.1.1466.101.120.16 NAME 'ldapSyntaxes'
79 EQUALITY objectIdentifierFirstComponentMatch
80 SYNTAX 1.3.6.1.4.1.1466.115.121.1.54 USAGE directoryOperation )
82 # X.500 Subschema attributes from RFC2252
84 attributetype ( 2.5.21.1 NAME 'dITStructureRules' EQUALITY integerFirstComponentMatch
85 SYNTAX 1.3.6.1.4.1.1466.115.121.1.17 USAGE directoryOperation )
87 attributetype ( 2.5.21.7 NAME 'nameForms'
88 EQUALITY objectIdentifierFirstComponentMatch
89 SYNTAX 1.3.6.1.4.1.1466.115.121.1.35 USAGE directoryOperation )
91 attributetype ( 2.5.21.2 NAME 'dITContentRules'
92 EQUALITY objectIdentifierFirstComponentMatch
93 SYNTAX 1.3.6.1.4.1.1466.115.121.1.16 USAGE directoryOperation )
95 # Object Classes from RFC2252
97 # extensibleObject moved forward, since it depends on top
98 # ldapSyntaxes (operational) is admissible in next:
100 objectclass ( 2.5.20.1 NAME 'subschema' AUXILIARY
101 MAY ( dITStructureRules $ nameForms $ ditContentRules $
102 objectClasses $ attributeTypes $ matchingRules $
105 # Standard attribute types from RFC2256
107 attributetype ( 2.5.4.0 NAME 'objectClass' EQUALITY objectIdentifierMatch
108 SYNTAX 1.3.6.1.4.1.1466.115.121.1.38 )
110 attributetype ( 2.5.4.1 NAME 'aliasedObjectName' EQUALITY distinguishedNameMatch
111 SYNTAX 1.3.6.1.4.1.1466.115.121.1.12 SINGLE-VALUE )
113 # Defined, but no longer used
115 attributetype ( 2.5.4.2 NAME 'knowledgeInformation' EQUALITY caseIgnoreMatch
116 SYNTAX 1.3.6.1.4.1.1466.115.121.1.15{32768} )
118 # Place here since other attribute types derive from it
120 attributetype ( 2.5.4.41 NAME 'name' EQUALITY caseIgnoreMatch
121 SUBSTR caseIgnoreSubstringsMatch
122 SYNTAX 1.3.6.1.4.1.1466.115.121.1.15{32768} )
124 attributetype ( 2.5.4.3 NAME ( 'cn' 'commonName' ) SUP name )
126 attributetype ( 2.5.4.4 NAME ( 'sn' 'surname' ) SUP name )
128 attributetype ( 2.5.4.5 NAME 'serialNumber' EQUALITY caseIgnoreMatch
129 SUBSTR caseIgnoreSubstringsMatch
130 SYNTAX 1.3.6.1.4.1.1466.115.121.1.44{64} )
132 # (2-letter code from ISO 3166)
134 attributetype ( 2.5.4.6 NAME ( 'c' 'countryName' ) SUP name SINGLE-VALUE )
136 attributetype ( 2.5.4.7 NAME ( 'l' 'localityName' ) SUP name )
138 attributetype ( 2.5.4.8 NAME ( 'st' 'stateOrProvinceName' ) SUP name )
140 attributetype ( 2.5.4.9 NAME ( 'street' 'streetAddress' ) EQUALITY caseIgnoreMatch
141 SUBSTR caseIgnoreSubstringsMatch
142 SYNTAX 1.3.6.1.4.1.1466.115.121.1.15{128} )
144 attributetype ( 2.5.4.10 NAME ( 'o' 'organizationName' ) SUP name )
146 attributetype ( 2.5.4.11 NAME ( 'ou' 'organizationalUnitName' ) SUP name )
148 attributetype ( 2.5.4.12 NAME 'title' SUP name )
150 attributetype ( 2.5.4.13 NAME 'description' EQUALITY caseIgnoreMatch
151 SUBSTR caseIgnoreSubstringsMatch
152 SYNTAX 1.3.6.1.4.1.1466.115.121.1.15{1024} )
154 # Obsoleted by enhancedSearchGuide
156 attributetype ( 2.5.4.14 NAME 'searchGuide'
157 SYNTAX 1.3.6.1.4.1.1466.115.121.1.25 )
159 attributetype ( 2.5.4.15 NAME 'businessCategory' EQUALITY caseIgnoreMatch
160 SUBSTR caseIgnoreSubstringsMatch
161 SYNTAX 1.3.6.1.4.1.1466.115.121.1.15{128} )
163 # Show stopper: we don't have the definition of caseIgnoreListSubstringsMatch
164 #attribute ( 2.5.4.16 NAME 'postalAddress' EQUALITY caseIgnoreListMatch
165 # SUBSTR caseIgnoreListSubstringsMatch
166 # SYNTAX 1.3.6.1.4.1.1466.115.121.1.41 )
167 attributetype ( 2.5.4.16 NAME 'postalAddress' EQUALITY caseIgnoreListMatch
168 SYNTAX 1.3.6.1.4.1.1466.115.121.1.41 )
170 attributetype ( 2.5.4.17 NAME 'postalCode' EQUALITY caseIgnoreMatch
171 SUBSTR caseIgnoreSubstringsMatch
172 SYNTAX 1.3.6.1.4.1.1466.115.121.1.15{40} )
174 attributetype ( 2.5.4.18 NAME 'postOfficeBox' EQUALITY caseIgnoreMatch
175 SUBSTR caseIgnoreSubstringsMatch
176 SYNTAX 1.3.6.1.4.1.1466.115.121.1.15{40} )
178 attributetype ( 2.5.4.19 NAME 'physicalDeliveryOfficeName' EQUALITY caseIgnoreMatch
179 SUBSTR caseIgnoreSubstringsMatch
180 SYNTAX 1.3.6.1.4.1.1466.115.121.1.15{128} )
182 attributetype ( 2.5.4.20 NAME 'telephoneNumber' EQUALITY telephoneNumberMatch
183 SUBSTR telephoneNumberSubstringsMatch
184 SYNTAX 1.3.6.1.4.1.1466.115.121.1.50{32} )
186 attributetype ( 2.5.4.21 NAME 'telexNumber'
187 SYNTAX 1.3.6.1.4.1.1466.115.121.1.52 )
189 attributetype ( 2.5.4.22 NAME 'teletexTerminalIdentifier'
190 SYNTAX 1.3.6.1.4.1.1466.115.121.1.51 )
192 attributetype ( 2.5.4.23 NAME ( 'facsimileTelephoneNumber' 'fax' )
193 SYNTAX 1.3.6.1.4.1.1466.115.121.1.22 )
195 attributetype ( 2.5.4.24 NAME 'x121Address' EQUALITY numericStringMatch
196 SUBSTR numericStringSubstringsMatch
197 SYNTAX 1.3.6.1.4.1.1466.115.121.1.36{15} )
199 attributetype ( 2.5.4.25 NAME 'internationaliSDNNumber' EQUALITY numericStringMatch
200 SUBSTR numericStringSubstringsMatch
201 SYNTAX 1.3.6.1.4.1.1466.115.121.1.36{16} )
203 attributetype ( 2.5.4.26 NAME 'registeredAddress' SUP postalAddress
204 SYNTAX 1.3.6.1.4.1.1466.115.121.1.41 )
206 attributetype ( 2.5.4.27 NAME 'destinationIndicator' EQUALITY caseIgnoreMatch
207 SUBSTR caseIgnoreSubstringsMatch
208 SYNTAX 1.3.6.1.4.1.1466.115.121.1.44{128} )
210 attributetype ( 2.5.4.28 NAME 'preferredDeliveryMethod'
211 SYNTAX 1.3.6.1.4.1.1466.115.121.1.14
214 attributetype ( 2.5.4.29 NAME 'presentationAddress'
215 EQUALITY presentationAddressMatch
216 SYNTAX 1.3.6.1.4.1.1466.115.121.1.43
219 attributetype ( 2.5.4.30 NAME 'supportedApplicationContext'
220 EQUALITY objectIdentifierMatch
221 SYNTAX 1.3.6.1.4.1.1466.115.121.1.38 )
223 # Placed here because others derive from it.
225 # We had a dn definition in slapd.at.conf and Netscape lists both
226 # names for that OID. This is wrong, 'dn' is used internally in slapd
227 # as the name of a pseudo-attribute type that contains the
228 # distinguished name of an entry. On the other hand, the attribute
229 # type distinguishedName is meant to be an "abstract" type and other
230 # dn-valued attribute types derive from it. So at most, 'dn' would
231 # be a subtype of distinguishedName.
233 attributetype ( 2.5.4.49 NAME 'distinguishedName'
234 EQUALITY distinguishedNameMatch
235 SYNTAX 1.3.6.1.4.1.1466.115.121.1.12 )
237 attributetype ( 2.5.4.31 NAME 'member' SUP distinguishedName )
239 attributetype ( 2.5.4.32 NAME 'owner' SUP distinguishedName )
241 attributetype ( 2.5.4.33 NAME 'roleOccupant' SUP distinguishedName )
243 attributetype ( 2.5.4.34 NAME 'seeAlso' SUP distinguishedName )
245 attributetype ( 2.5.4.35 NAME 'userPassword' EQUALITY octetStringMatch
246 SYNTAX 1.3.6.1.4.1.1466.115.121.1.40{128} )
248 # Must be stored and requested in the binary form, as
249 # userCertificate;binary
251 attributetype ( 2.5.4.36 NAME 'userCertificate'
252 SYNTAX 1.3.6.1.4.1.1466.115.121.1.8 )
256 attributetype ( 2.5.4.37 NAME 'cACertificate'
257 SYNTAX 1.3.6.1.4.1.1466.115.121.1.8 )
261 attributetype ( 2.5.4.38 NAME 'authorityRevocationList'
262 SYNTAX 1.3.6.1.4.1.1466.115.121.1.9 )
266 attributetype ( 2.5.4.39 NAME 'certificateRevocationList'
267 SYNTAX 1.3.6.1.4.1.1466.115.121.1.9 )
271 attributetype ( 2.5.4.40 NAME 'crossCertificatePair'
272 SYNTAX 1.3.6.1.4.1.1466.115.121.1.10 )
274 # 2.5.4.41 is 'name', moved above since other attribute types derive from it
276 attributetype ( 2.5.4.42 NAME 'givenName' SUP name )
278 attributetype ( 2.5.4.43 NAME 'initials' SUP name )
280 attributetype ( 2.5.4.45 NAME 'x500UniqueIdentifier' EQUALITY bitStringMatch
281 SYNTAX 1.3.6.1.4.1.1466.115.121.1.6 )
283 attributetype ( 2.5.4.46 NAME 'dnQualifier' EQUALITY caseIgnoreMatch
284 ORDERING caseIgnoreOrderingMatch SUBSTR caseIgnoreSubstringsMatch
285 SYNTAX 1.3.6.1.4.1.1466.115.121.1.44 )
287 attributetype ( 2.5.4.47 NAME 'enhancedSearchGuide'
288 SYNTAX 1.3.6.1.4.1.1466.115.121.1.21 )
290 attributetype ( 2.5.4.48 NAME 'protocolInformation'
291 EQUALITY protocolInformationMatch
292 SYNTAX 1.3.6.1.4.1.1466.115.121.1.42 )
294 # 2.5.4.49 is distinguishedName, moved up
296 attributetype ( 2.5.4.50 NAME 'uniqueMember' EQUALITY uniqueMemberMatch
297 SYNTAX 1.3.6.1.4.1.1466.115.121.1.34 )
299 attributetype ( 2.5.4.51 NAME 'houseIdentifier' EQUALITY caseIgnoreMatch
300 SUBSTR caseIgnoreSubstringsMatch
301 SYNTAX 1.3.6.1.4.1.1466.115.121.1.15{32768} )
303 # This attribute is to be stored and requested in the binary form, as
304 # 'supportedAlgorithms;binary'.
306 attributetype ( 2.5.4.52 NAME 'supportedAlgorithms'
307 SYNTAX 1.3.6.1.4.1.1466.115.121.1.49 )
309 # This attribute is to be stored and requested in the binary form, as
310 # 'deltaRevocationList;binary'.
312 attributetype ( 2.5.4.53 NAME 'deltaRevocationList'
313 SYNTAX 1.3.6.1.4.1.1466.115.121.1.9 )
315 attributetype ( 2.5.4.54 NAME 'dmdName' SUP name )
317 # Standard object classes from RFC2256
319 objectclass ( 2.5.6.0 NAME 'top' ABSTRACT MUST objectClass )
321 objectclass ( 2.5.6.1 NAME 'alias' SUP top STRUCTURAL MUST aliasedObjectName )
323 objectclass ( 2.5.6.2 NAME 'country' SUP top STRUCTURAL MUST c
324 MAY ( searchGuide $ description ) )
326 objectclass ( 2.5.6.3 NAME 'locality' SUP top STRUCTURAL
327 MAY ( street $ seeAlso $ searchGuide $ st $ l $ description ) )
329 objectclass ( 2.5.6.4 NAME 'organization' SUP top STRUCTURAL MUST o
330 MAY ( userPassword $ searchGuide $ seeAlso $ businessCategory $
331 x121Address $ registeredAddress $ destinationIndicator $
332 preferredDeliveryMethod $ telexNumber $ teletexTerminalIdentifier $
333 telephoneNumber $ internationaliSDNNumber $
334 facsimileTelephoneNumber $
335 street $ postOfficeBox $ postalCode $ postalAddress $
336 physicalDeliveryOfficeName $ st $ l $ description ) )
338 objectclass ( 2.5.6.5 NAME 'organizationalUnit' SUP top STRUCTURAL MUST ou
339 MAY ( userPassword $ searchGuide $ seeAlso $ businessCategory $
340 x121Address $ registeredAddress $ destinationIndicator $
341 preferredDeliveryMethod $ telexNumber $ teletexTerminalIdentifier $
342 telephoneNumber $ internationaliSDNNumber $
343 facsimileTelephoneNumber $
344 street $ postOfficeBox $ postalCode $ postalAddress $
345 physicalDeliveryOfficeName $ st $ l $ description ) )
347 objectclass ( 2.5.6.6 NAME 'person' SUP top STRUCTURAL MUST ( sn $ cn )
348 MAY ( userPassword $ telephoneNumber $ seeAlso $ description ) )
350 objectclass ( 2.5.6.7 NAME 'organizationalPerson' SUP person STRUCTURAL
351 MAY ( title $ x121Address $ registeredAddress $
352 destinationIndicator $
353 preferredDeliveryMethod $ telexNumber $ teletexTerminalIdentifier $
354 telephoneNumber $ internationaliSDNNumber $
355 facsimileTelephoneNumber $
356 street $ postOfficeBox $ postalCode $ postalAddress $
357 physicalDeliveryOfficeName $ ou $ st $ l ) )
359 # Notice that preferredDeliveryMethod is duplicate
361 objectclass ( 2.5.6.8 NAME 'organizationalRole' SUP top STRUCTURAL MUST cn
362 MAY ( x121Address $ registeredAddress $ destinationIndicator $
363 preferredDeliveryMethod $ telexNumber $ teletexTerminalIdentifier $
364 telephoneNumber $ internationaliSDNNumber $
365 facsimileTelephoneNumber $
366 seeAlso $ roleOccupant $ preferredDeliveryMethod $ street $
367 postOfficeBox $ postalCode $ postalAddress $
368 physicalDeliveryOfficeName $ ou $ st $ l $ description ) )
370 objectclass ( 2.5.6.9 NAME 'groupOfNames' SUP top STRUCTURAL MUST ( member $ cn )
371 MAY ( businessCategory $ seeAlso $ owner $ ou $ o $ description ) )
373 # Notice that preferredDeliveryMethod is duplicate
374 # It seems they could not agree on wheter telephoneNumber is MAY
375 # in person. Probably it wasn't originally at was added as an
378 objectclass ( 2.5.6.10 NAME 'residentialPerson' SUP person STRUCTURAL MUST l
379 MAY ( businessCategory $ x121Address $ registeredAddress $
380 destinationIndicator $ preferredDeliveryMethod $ telexNumber $
381 teletexTerminalIdentifier $ telephoneNumber $
382 internationaliSDNNumber $
383 facsimileTelephoneNumber $ preferredDeliveryMethod $ street $
384 postOfficeBox $ postalCode $ postalAddress $
385 physicalDeliveryOfficeName $ st $ l ) )
387 objectclass ( 2.5.6.11 NAME 'applicationProcess' SUP top STRUCTURAL MUST cn
388 MAY ( seeAlso $ ou $ l $ description ) )
390 objectclass ( 2.5.6.12 NAME 'applicationEntity' SUP top STRUCTURAL
391 MUST ( presentationAddress $ cn )
392 MAY ( supportedApplicationContext $ seeAlso $ ou $ o $ l $
395 # This one was wrong in our schema, it only allowed the aditional
396 # knowledgeInformation attribute, while it is derived from
397 # applicationEntity and should allow all its attributes as well.
399 objectclass ( 2.5.6.13 NAME 'dSA' SUP applicationEntity STRUCTURAL
400 MAY knowledgeInformation )
402 objectclass ( 2.5.6.14 NAME 'device' SUP top STRUCTURAL MUST cn
403 MAY ( serialNumber $ seeAlso $ owner $ ou $ o $ l $ description ) )
405 objectclass ( 2.5.6.15 NAME 'strongAuthenticationUser' SUP top AUXILIARY
406 MUST userCertificate )
408 objectclass ( 2.5.6.16 NAME 'certificationAuthority' SUP top AUXILIARY
409 MUST ( authorityRevocationList $ certificateRevocationList $
410 cACertificate ) MAY crossCertificatePair )
414 objectclass ( 2.5.6.17 NAME 'groupOfUniqueNames' SUP top STRUCTURAL
415 MUST ( uniqueMember $ cn )
416 MAY ( businessCategory $ seeAlso $ owner $ ou $ o $ description ) )
420 objectclass ( 2.5.6.18 NAME 'userSecurityInformation' SUP top AUXILIARY
421 MAY ( supportedAlgorithms ) )
425 objectclass ( 2.5.6.16.2 NAME 'certificationAuthority-V2' SUP
426 certificationAuthority
427 AUXILIARY MAY ( deltaRevocationList ) )
431 objectclass ( 2.5.6.19 NAME 'cRLDistributionPoint' SUP top STRUCTURAL
432 MUST ( cn ) MAY ( certificateRevocationList $
433 authorityRevocationList $
434 deltaRevocationList ) )
438 objectclass ( 2.5.6.20 NAME 'dmd' SUP top STRUCTURAL MUST ( dmdName )
439 MAY ( userPassword $ searchGuide $ seeAlso $ businessCategory $
440 x121Address $ registeredAddress $ destinationIndicator $
441 preferredDeliveryMethod $ telexNumber $ teletexTerminalIdentifier $
442 telephoneNumber $ internationaliSDNNumber $
443 facsimileTelephoneNumber $
444 street $ postOfficeBox $ postalCode $ postalAddress $
445 physicalDeliveryOfficeName $ st $ l $ description ) )
447 # Next objectclass is defined in RFC2252, but has to be put after top
449 objectclass ( 1.3.6.1.4.1.1466.101.120.111 NAME 'extensibleObject'
453 # Standard Track URI label schema from RFC2079
455 attributetype ( 1.3.6.1.4.1.250.1.57 NAME 'labeledURI'
456 DESC 'Uniform Resource Identifier with optional label'
457 EQUALITY caseExactIA5Match SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 )
459 objectclass ( 1.3.6.1.4.1.250.3.15 NAME 'labeledURIObject'
460 DESC 'object that contains the URI attribute type'
461 MAY ( labeledURI ) SUP top AUXILIARY )
464 # From draft-ietf-ldapext-nameref-00.txt
465 # used to represent referrals in the directory
467 attributetype ( 2.16.840.1.113730.3.1.34 NAME 'ref' DESC 'URL Reference'
468 EQUALITY caseExactIA5Match SYNTAX 1.3.6.1.4.1.1466.115.121.1.26
469 USAGE distributedOperation )
471 objectclass ( 2.16.840.1.113730.3.2.6 NAME 'referral'
472 SUP top STRUCTURAL MAY ( ref ) )
476 # OID not assigned (1.3.6.1.4.1.1466.115.121.1.??)
478 objectclass ( NAME 'LDAPsubEntry'
479 DESC 'Limited X.501 Subentry class, named by cn'
480 SUP top STRUCTURAL MUST ( cn ) )