]> git.sur5r.net Git - openldap/blob - servers/slapd/schema/core.schema
40b7bf0bcc6e968ba0888392386cdcb2cc13c67c
[openldap] / servers / slapd / schema / core.schema
1 # $OpenLDAP$
2 #
3 # OpenLDAP Core schema
4 #
5 # Includes LDAPv3 schema items from:
6 #       RFC2251-RFC2256 (LDAPv3)
7 #
8 # select standard track schema items:
9 #       RFC2079 (URI)
10 #       RFC1274 (uid/dc)
11 #       RFC2247 (dc/dcObject)
12 #       RFC2289 (Dynamic Directory Services)
13 #
14 # select informational schema items:
15 #       RFC2377 (uidObject)
16 #
17 # select experimental IETF LDAPext items
18 #   ldapSubentry draft
19 #       ldapRootDSE
20 #       named referrals draft
21 #       alias draft
22
23
24 # Standard X.501(93) Operational Attribute Types from RFC2252
25
26 attributetype ( 2.5.18.1 NAME 'createTimestamp' EQUALITY generalizedTimeMatch
27       ORDERING generalizedTimeOrderingMatch
28       SYNTAX 1.3.6.1.4.1.1466.115.121.1.24
29       SINGLE-VALUE NO-USER-MODIFICATION USAGE directoryOperation )
30
31 attributetype ( 2.5.18.2 NAME 'modifyTimestamp' EQUALITY generalizedTimeMatch
32       ORDERING generalizedTimeOrderingMatch
33       SYNTAX 1.3.6.1.4.1.1466.115.121.1.24
34       SINGLE-VALUE NO-USER-MODIFICATION USAGE directoryOperation )
35
36 attributetype ( 2.5.18.3 NAME 'creatorsName' EQUALITY distinguishedNameMatch
37       SYNTAX 1.3.6.1.4.1.1466.115.121.1.12
38       SINGLE-VALUE NO-USER-MODIFICATION USAGE directoryOperation )
39
40 attributetype ( 2.5.18.4 NAME 'modifiersName' EQUALITY distinguishedNameMatch
41       SYNTAX 1.3.6.1.4.1.1466.115.121.1.12
42       SINGLE-VALUE NO-USER-MODIFICATION USAGE directoryOperation )
43
44 attributetype ( 2.5.18.10 NAME 'subschemaSubentry'
45       EQUALITY distinguishedNameMatch
46       SYNTAX 1.3.6.1.4.1.1466.115.121.1.12 NO-USER-MODIFICATION
47       SINGLE-VALUE USAGE directoryOperation )
48
49 attributetype ( 2.5.21.5 NAME 'attributeTypes'
50       EQUALITY objectIdentifierFirstComponentMatch
51       SYNTAX 1.3.6.1.4.1.1466.115.121.1.3 USAGE directoryOperation )
52
53 attributetype ( 2.5.21.6 NAME 'objectClasses'
54       EQUALITY objectIdentifierFirstComponentMatch
55       SYNTAX 1.3.6.1.4.1.1466.115.121.1.37 USAGE directoryOperation )
56
57 attributetype ( 2.5.21.4 NAME 'matchingRules'
58       EQUALITY objectIdentifierFirstComponentMatch
59       SYNTAX 1.3.6.1.4.1.1466.115.121.1.30 USAGE directoryOperation )
60
61 attributetype ( 2.5.21.8 NAME 'matchingRuleUse'
62       EQUALITY objectIdentifierFirstComponentMatch
63       SYNTAX 1.3.6.1.4.1.1466.115.121.1.31 USAGE directoryOperation )
64
65 # LDAP Operational Attributes from RFC2252
66
67 attributetype ( 1.3.6.1.4.1.1466.101.120.5 NAME 'namingContexts'
68      SYNTAX 1.3.6.1.4.1.1466.115.121.1.12 USAGE dSAOperation )
69
70 attributetype ( 1.3.6.1.4.1.1466.101.120.6 NAME 'altServer'
71      SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 USAGE dSAOperation )
72
73 attributetype ( 1.3.6.1.4.1.1466.101.120.7 NAME 'supportedExtension'
74      SYNTAX 1.3.6.1.4.1.1466.115.121.1.38 USAGE dSAOperation )
75
76 attributetype ( 1.3.6.1.4.1.1466.101.120.13 NAME 'supportedControl'
77      SYNTAX 1.3.6.1.4.1.1466.115.121.1.38 USAGE dSAOperation )
78
79 attributetype ( 1.3.6.1.4.1.1466.101.120.14 NAME 'supportedSASLMechanisms'
80      SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 USAGE dSAOperation )
81
82 attributetype ( 1.3.6.1.4.1.1466.101.120.15 NAME 'supportedLDAPVersion'
83      SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 USAGE dSAOperation )
84
85 attributetype ( supportedACIMechanismsOID NAME 'supportedACIMechanisms'
86      DESC 'list of access control mechanisms supported by this directory server'
87      SYNTAX 1.3.6.1.4.1.1466.115.121.1.38  USAGE dSAOperation )
88
89 attributetype ( aCIMechanismOID NAME 'aCIMechanism'
90      DESC 'list of access control mechanism supported in this subtree'
91      SYNTAX 1.3.6.1.4.1.1466.115.121.1.38  USAGE dSAOperation )
92
93 # LDAP Subschema Atrribute from RFC2252
94
95 attributetype ( 1.3.6.1.4.1.1466.101.120.16 NAME 'ldapSyntaxes'
96       EQUALITY objectIdentifierFirstComponentMatch
97       SYNTAX 1.3.6.1.4.1.1466.115.121.1.54 USAGE directoryOperation )
98
99 # X.500 Subschema attributes from RFC2252
100
101 attributetype ( 2.5.21.1 NAME 'dITStructureRules' EQUALITY integerFirstComponentMatch
102    SYNTAX 1.3.6.1.4.1.1466.115.121.1.17 USAGE directoryOperation )
103
104 attributetype ( 2.5.21.7 NAME 'nameForms'
105       EQUALITY objectIdentifierFirstComponentMatch
106       SYNTAX 1.3.6.1.4.1.1466.115.121.1.35 USAGE directoryOperation )
107
108 attributetype ( 2.5.21.2 NAME 'dITContentRules'
109       EQUALITY objectIdentifierFirstComponentMatch
110       SYNTAX 1.3.6.1.4.1.1466.115.121.1.16 USAGE directoryOperation )
111
112 # Object Classes from RFC2252
113
114 # extensibleObject moved forward, since it depends on top
115 # ldapSyntaxes (operational) is admissible in next:
116
117 objectclass ( 2.5.20.1 NAME 'subschema' AUXILIARY
118       MAY ( dITStructureRules $ nameForms $ ditContentRules $
119       objectClasses $ attributeTypes $ matchingRules $
120       matchingRuleUse ) )
121
122 # Standard attribute types from RFC2256
123
124 attributetype ( 2.5.4.0 NAME 'objectClass'
125       EQUALITY objectIdentifierMatch
126       SYNTAX 1.3.6.1.4.1.1466.115.121.1.38 )
127
128 attributetype ( 2.5.4.1 NAME 'aliasedObjectName'
129       EQUALITY distinguishedNameMatch
130       SYNTAX 1.3.6.1.4.1.1466.115.121.1.12 SINGLE-VALUE )
131
132 # Defined, but no longer used
133
134 attributetype ( 2.5.4.2 NAME 'knowledgeInformation'
135       EQUALITY caseIgnoreMatch
136       SYNTAX 1.3.6.1.4.1.1466.115.121.1.15{32768} )
137
138 # Place here since other attribute types derive from it
139
140 attributetype ( 2.5.4.41 NAME 'name'
141       EQUALITY caseIgnoreMatch
142       SUBSTR caseIgnoreSubstringsMatch
143       SYNTAX 1.3.6.1.4.1.1466.115.121.1.15{32768} )
144
145 attributetype ( 2.5.4.3 NAME ( 'cn' 'commonName' ) SUP name )
146
147 attributetype ( 2.5.4.4 NAME ( 'sn' 'surname' ) SUP name )
148
149 attributetype ( 2.5.4.5 NAME 'serialNumber' EQUALITY caseIgnoreMatch
150       SUBSTR caseIgnoreSubstringsMatch
151       SYNTAX 1.3.6.1.4.1.1466.115.121.1.44{64} )
152
153 # (2-letter code from ISO 3166)
154
155 attributetype ( 2.5.4.6 NAME ( 'c' 'countryName' ) SUP name SINGLE-VALUE )
156
157 attributetype ( 2.5.4.7 NAME ( 'l' 'localityName' ) SUP name )
158
159 attributetype ( 2.5.4.8 NAME ( 'st' 'stateOrProvinceName' ) SUP name )
160
161 attributetype ( 2.5.4.9 NAME ( 'street' 'streetAddress' )
162       EQUALITY caseIgnoreMatch
163       SUBSTR caseIgnoreSubstringsMatch
164       SYNTAX 1.3.6.1.4.1.1466.115.121.1.15{128} )
165
166 attributetype ( 2.5.4.10 NAME ( 'o' 'organizationName' ) SUP name )
167
168 attributetype ( 2.5.4.11 NAME ( 'ou' 'organizationalUnitName' ) SUP name )
169
170 attributetype ( 2.5.4.12 NAME 'title' SUP name )
171
172 attributetype ( 2.5.4.13 NAME 'description'
173       EQUALITY caseIgnoreMatch
174       SUBSTR caseIgnoreSubstringsMatch
175       SYNTAX 1.3.6.1.4.1.1466.115.121.1.15{1024} )
176
177 # Obsoleted by enhancedSearchGuide
178
179 attributetype ( 2.5.4.14 NAME 'searchGuide'
180       SYNTAX 1.3.6.1.4.1.1466.115.121.1.25 )
181
182 attributetype ( 2.5.4.15 NAME 'businessCategory'
183      EQUALITY caseIgnoreMatch
184      SUBSTR caseIgnoreSubstringsMatch
185      SYNTAX 1.3.6.1.4.1.1466.115.121.1.15{128} )
186
187 attribute ( 2.5.4.16 NAME 'postalAddress'
188      EQUALITY caseIgnoreListMatch
189      SUBSTR caseIgnoreListSubstringsMatch
190      SYNTAX 1.3.6.1.4.1.1466.115.121.1.41 )
191
192 attributetype ( 2.5.4.17 NAME 'postalCode'
193      EQUALITY caseIgnoreMatch
194      SUBSTR caseIgnoreSubstringsMatch
195      SYNTAX 1.3.6.1.4.1.1466.115.121.1.15{40} )
196
197 attributetype ( 2.5.4.18 NAME 'postOfficeBox'
198      EQUALITY caseIgnoreMatch
199      SUBSTR caseIgnoreSubstringsMatch
200      SYNTAX 1.3.6.1.4.1.1466.115.121.1.15{40} )
201
202 attributetype ( 2.5.4.19 NAME 'physicalDeliveryOfficeName'
203      EQUALITY caseIgnoreMatch
204      SUBSTR caseIgnoreSubstringsMatch
205      SYNTAX 1.3.6.1.4.1.1466.115.121.1.15{128} )
206
207 attributetype ( 2.5.4.20 NAME 'telephoneNumber'
208      EQUALITY telephoneNumberMatch
209      SUBSTR telephoneNumberSubstringsMatch
210      SYNTAX 1.3.6.1.4.1.1466.115.121.1.50{32} )
211
212 attributetype ( 2.5.4.21 NAME 'telexNumber'
213      SYNTAX 1.3.6.1.4.1.1466.115.121.1.52 )
214
215 attributetype ( 2.5.4.22 NAME 'teletexTerminalIdentifier'
216      SYNTAX 1.3.6.1.4.1.1466.115.121.1.51 )
217
218 attributetype ( 2.5.4.23 NAME ( 'facsimileTelephoneNumber' 'fax' )
219      SYNTAX 1.3.6.1.4.1.1466.115.121.1.22 )
220
221 attributetype ( 2.5.4.24 NAME 'x121Address'
222      EQUALITY numericStringMatch
223      SUBSTR numericStringSubstringsMatch
224      SYNTAX 1.3.6.1.4.1.1466.115.121.1.36{15} )
225
226 attributetype ( 2.5.4.25 NAME 'internationaliSDNNumber'
227      EQUALITY numericStringMatch
228      SUBSTR numericStringSubstringsMatch
229      SYNTAX 1.3.6.1.4.1.1466.115.121.1.36{16} )
230
231 attributetype ( 2.5.4.26 NAME 'registeredAddress' SUP postalAddress
232      SYNTAX 1.3.6.1.4.1.1466.115.121.1.41 )
233
234 attributetype ( 2.5.4.27 NAME 'destinationIndicator'
235      EQUALITY caseIgnoreMatch
236      SUBSTR caseIgnoreSubstringsMatch
237      SYNTAX 1.3.6.1.4.1.1466.115.121.1.44{128} )
238
239 attributetype ( 2.5.4.28 NAME 'preferredDeliveryMethod'
240      SYNTAX 1.3.6.1.4.1.1466.115.121.1.14
241      SINGLE-VALUE )
242
243 attributetype ( 2.5.4.29 NAME 'presentationAddress'
244      EQUALITY presentationAddressMatch
245      SYNTAX 1.3.6.1.4.1.1466.115.121.1.43
246      SINGLE-VALUE )
247
248 attributetype ( 2.5.4.30 NAME 'supportedApplicationContext'
249      EQUALITY objectIdentifierMatch
250      SYNTAX 1.3.6.1.4.1.1466.115.121.1.38 )
251
252 # Placed here because others derive from it.
253
254 # We had a dn definition in slapd.at.conf and Netscape lists both
255 # names for that OID.  This is wrong, 'dn' is used internally in slapd
256 # as the name of a pseudo-attribute type that contains the
257 # distinguished name of an entry.  On the other hand, the attribute
258 # type distinguishedName is meant to be an "abstract" type and other
259 # dn-valued attribute types derive from it.  So at most, 'dn' would
260 # be a subtype of distinguishedName, something like:
261 #       attributetype ( dnOID NAME 'dn' SUP distinguishedName
262 #               SINGLE-VALUE NO-USER-MODIFICATION USAGE directoryOperation )
263
264 attributetype ( 2.5.4.49 NAME 'distinguishedName'
265       EQUALITY distinguishedNameMatch
266       SYNTAX 1.3.6.1.4.1.1466.115.121.1.12 )
267
268 attributetype ( 2.5.4.31 NAME 'member' SUP distinguishedName )
269
270 attributetype ( 2.5.4.32 NAME 'owner' SUP distinguishedName )
271
272 attributetype ( 2.5.4.33 NAME 'roleOccupant' SUP distinguishedName )
273
274 attributetype ( 2.5.4.34 NAME 'seeAlso' SUP distinguishedName )
275
276 attributetype ( 2.5.4.35 NAME 'userPassword'
277       EQUALITY octetStringMatch
278       SYNTAX 1.3.6.1.4.1.1466.115.121.1.40{128} )
279
280 # Must be stored and requested in the binary form, as
281 # userCertificate;binary
282 attributetype ( 2.5.4.36 NAME 'userCertificate'
283       SYNTAX 1.3.6.1.4.1.1466.115.121.1.8 )
284
285 # As above
286 attributetype ( 2.5.4.37 NAME 'cACertificate'
287       SYNTAX 1.3.6.1.4.1.1466.115.121.1.8 )
288
289 # As above
290 attributetype ( 2.5.4.38 NAME 'authorityRevocationList'
291       SYNTAX 1.3.6.1.4.1.1466.115.121.1.9 )
292
293 # As above
294 attributetype ( 2.5.4.39 NAME 'certificateRevocationList'
295       SYNTAX 1.3.6.1.4.1.1466.115.121.1.9 )
296
297 # As above
298 attributetype ( 2.5.4.40 NAME 'crossCertificatePair'
299       SYNTAX 1.3.6.1.4.1.1466.115.121.1.10 )
300
301 # 2.5.4.41 is 'name', moved above since other attribute types derive from it
302
303 attributetype ( 2.5.4.42 NAME 'givenName' SUP name )
304
305 attributetype ( 2.5.4.43 NAME 'initials' SUP name )
306
307 attributetype ( 2.5.4.45 NAME 'x500UniqueIdentifier'
308       EQUALITY bitStringMatch
309       SYNTAX 1.3.6.1.4.1.1466.115.121.1.6 )
310
311 attributetype ( 2.5.4.46 NAME 'dnQualifier'
312       EQUALITY caseIgnoreMatch
313       ORDERING caseIgnoreOrderingMatch
314       SUBSTR caseIgnoreSubstringsMatch
315       SYNTAX 1.3.6.1.4.1.1466.115.121.1.44 )
316
317 attributetype ( 2.5.4.47 NAME 'enhancedSearchGuide'
318       SYNTAX 1.3.6.1.4.1.1466.115.121.1.21 )
319
320 attributetype ( 2.5.4.48 NAME 'protocolInformation'
321       EQUALITY protocolInformationMatch
322       SYNTAX 1.3.6.1.4.1.1466.115.121.1.42 )
323
324 # 2.5.4.49 is distinguishedName, moved up
325
326 attributetype ( 2.5.4.50 NAME 'uniqueMember'
327       EQUALITY uniqueMemberMatch
328       SYNTAX 1.3.6.1.4.1.1466.115.121.1.34 )
329
330 attributetype ( 2.5.4.51 NAME 'houseIdentifier'
331       EQUALITY caseIgnoreMatch
332       SUBSTR caseIgnoreSubstringsMatch
333       SYNTAX 1.3.6.1.4.1.1466.115.121.1.15{32768} )
334
335 # This attribute is to be stored and requested in the binary form, as
336 # 'supportedAlgorithms;binary'.
337
338 attributetype ( 2.5.4.52 NAME 'supportedAlgorithms'
339       SYNTAX 1.3.6.1.4.1.1466.115.121.1.49 )
340
341 # This attribute is to be stored and requested in the binary form, as
342 # 'deltaRevocationList;binary'.
343
344 attributetype ( 2.5.4.53 NAME 'deltaRevocationList'
345       SYNTAX 1.3.6.1.4.1.1466.115.121.1.9 )
346
347 attributetype ( 2.5.4.54 NAME 'dmdName' SUP name )
348
349 # Standard object classes from RFC2256
350
351 objectclass ( 2.5.6.0 NAME 'top' ABSTRACT
352      MUST objectClass )
353
354 objectclass ( 2.5.6.1 NAME 'alias' SUP top STRUCTURAL
355      MUST aliasedObjectName )
356
357 objectclass ( 2.5.6.2 NAME 'country' SUP top STRUCTURAL
358      MUST c
359      MAY ( searchGuide $ description ) )
360
361 objectclass ( 2.5.6.3 NAME 'locality' SUP top STRUCTURAL
362      MAY ( street $ seeAlso $ searchGuide $ st $ l $ description ) )
363
364 objectclass ( 2.5.6.4 NAME 'organization' SUP top STRUCTURAL
365      MUST o
366      MAY ( userPassword $ searchGuide $ seeAlso $ businessCategory $
367      x121Address $ registeredAddress $ destinationIndicator $
368      preferredDeliveryMethod $ telexNumber $ teletexTerminalIdentifier $
369      telephoneNumber $ internationaliSDNNumber $
370      facsimileTelephoneNumber $
371      street $ postOfficeBox $ postalCode $ postalAddress $
372      physicalDeliveryOfficeName $ st $ l $ description ) )
373
374 objectclass ( 2.5.6.5 NAME 'organizationalUnit' SUP top STRUCTURAL
375      MUST ou
376      MAY ( userPassword $ searchGuide $ seeAlso $ businessCategory $
377      x121Address $ registeredAddress $ destinationIndicator $
378      preferredDeliveryMethod $ telexNumber $ teletexTerminalIdentifier $
379      telephoneNumber $ internationaliSDNNumber $
380      facsimileTelephoneNumber $
381      street $ postOfficeBox $ postalCode $ postalAddress $
382      physicalDeliveryOfficeName $ st $ l $ description ) )
383
384 objectclass ( 2.5.6.6 NAME 'person' SUP top STRUCTURAL
385      MUST ( sn $ cn )
386      MAY ( userPassword $ telephoneNumber $ seeAlso $ description ) )
387
388 objectclass ( 2.5.6.7 NAME 'organizationalPerson' SUP person STRUCTURAL
389      MAY ( title $ x121Address $ registeredAddress $
390      destinationIndicator $
391      preferredDeliveryMethod $ telexNumber $ teletexTerminalIdentifier $
392      telephoneNumber $ internationaliSDNNumber $
393      facsimileTelephoneNumber $
394      street $ postOfficeBox $ postalCode $ postalAddress $
395      physicalDeliveryOfficeName $ ou $ st $ l ) )
396
397 # Notice that preferredDeliveryMethod is duplicate
398
399 objectclass ( 2.5.6.8 NAME 'organizationalRole' SUP top STRUCTURAL
400      MUST cn
401      MAY ( x121Address $ registeredAddress $ destinationIndicator $
402      preferredDeliveryMethod $ telexNumber $ teletexTerminalIdentifier $
403      telephoneNumber $ internationaliSDNNumber $
404      facsimileTelephoneNumber $
405      seeAlso $ roleOccupant $ preferredDeliveryMethod $ street $
406      postOfficeBox $ postalCode $ postalAddress $
407      physicalDeliveryOfficeName $ ou $ st $ l $ description ) )
408
409 objectclass ( 2.5.6.9 NAME 'groupOfNames' SUP top STRUCTURAL
410      MUST ( member $ cn )
411      MAY ( businessCategory $ seeAlso $ owner $ ou $ o $ description ) )
412
413 # Notice that preferredDeliveryMethod is duplicate
414 # It seems they could not agree on whether telephoneNumber is MAY
415 # in person.  Probably it wasn't originally at was added as an
416 # afterthought
417
418 objectclass ( 2.5.6.10 NAME 'residentialPerson' SUP person STRUCTURAL
419      MUST l
420      MAY ( businessCategory $ x121Address $ registeredAddress $
421      destinationIndicator $ preferredDeliveryMethod $ telexNumber $
422      teletexTerminalIdentifier $ telephoneNumber $
423      internationaliSDNNumber $
424      facsimileTelephoneNumber $ preferredDeliveryMethod $ street $
425      postOfficeBox $ postalCode $ postalAddress $
426      physicalDeliveryOfficeName $ st $ l ) )
427
428 objectclass ( 2.5.6.11 NAME 'applicationProcess' SUP top STRUCTURAL
429      MUST cn
430      MAY ( seeAlso $ ou $ l $ description ) )
431
432 objectclass ( 2.5.6.12 NAME 'applicationEntity' SUP top STRUCTURAL
433      MUST ( presentationAddress $ cn )
434      MAY ( supportedApplicationContext $ seeAlso $ ou $ o $ l $
435      description ) )
436
437 # This one was wrong in our schema, it only allowed the aditional
438 # knowledgeInformation attribute, while it is derived from
439 # applicationEntity and should allow all its attributes as well.
440
441 objectclass ( 2.5.6.13 NAME 'dSA' SUP applicationEntity STRUCTURAL
442      MAY knowledgeInformation )
443
444 objectclass ( 2.5.6.14 NAME 'device' SUP top STRUCTURAL
445      MUST cn
446      MAY ( serialNumber $ seeAlso $ owner $ ou $ o $ l $ description ) )
447
448 objectclass ( 2.5.6.15 NAME 'strongAuthenticationUser' SUP top AUXILIARY
449      MUST userCertificate )
450
451 objectclass ( 2.5.6.16 NAME 'certificationAuthority' SUP top AUXILIARY
452      MUST ( authorityRevocationList $ certificateRevocationList $
453      cACertificate ) MAY crossCertificatePair )
454
455 # New
456
457 objectclass ( 2.5.6.17 NAME 'groupOfUniqueNames' SUP top STRUCTURAL
458      MUST ( uniqueMember $ cn )
459      MAY ( businessCategory $ seeAlso $ owner $ ou $ o $ description ) )
460
461 # New
462
463 objectclass ( 2.5.6.18 NAME 'userSecurityInformation' SUP top AUXILIARY
464      MAY ( supportedAlgorithms ) )
465
466 # New
467
468 objectclass ( 2.5.6.16.2 NAME 'certificationAuthority-V2' SUP
469      certificationAuthority
470      AUXILIARY MAY ( deltaRevocationList ) )
471
472 # New
473
474 objectclass ( 2.5.6.19 NAME 'cRLDistributionPoint' SUP top STRUCTURAL
475      MUST ( cn )
476      MAY ( certificateRevocationList $ authorityRevocationList $
477      deltaRevocationList ) )
478
479 # New
480
481 objectclass ( 2.5.6.20 NAME 'dmd' SUP top STRUCTURAL
482      MUST ( dmdName )
483      MAY ( userPassword $ searchGuide $ seeAlso $ businessCategory $
484      x121Address $ registeredAddress $ destinationIndicator $
485      preferredDeliveryMethod $ telexNumber $ teletexTerminalIdentifier $
486      telephoneNumber $ internationaliSDNNumber $
487      facsimileTelephoneNumber $
488      street $ postOfficeBox $ postalCode $ postalAddress $
489      physicalDeliveryOfficeName $ st $ l $ description ) )
490
491 # Next objectclass is defined in RFC2252, but has to be put after top
492
493 objectclass ( 1.3.6.1.4.1.1466.101.120.111 NAME 'extensibleObject'
494         DESC 'RFC2252 extensible object'
495         SUP top AUXILIARY )
496
497 #
498 # Standard Track URI label schema from RFC2079
499 #
500 attributetype ( 1.3.6.1.4.1.250.1.57 NAME 'labeledURI'
501         DESC 'Uniform Resource Identifier with optional label'
502         EQUALITY caseExactIA5Match
503         SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 )
504
505 objectclass ( 1.3.6.1.4.1.250.3.15 NAME 'labeledURIObject'
506         DESC 'object that contains the URI attribute type'
507         MAY ( labeledURI )
508         SUP top AUXILIARY )
509
510 #
511 # Standard Track Dynamic Directory Services from RFC2589
512 #
513 objectclass ( 1.3.6.1.4.1.1466.101.119.2 NAME 'dynamicObject'
514         DESC 'RFC2589 Dynamic Object'
515         SUP top AUXILIARY )
516
517 attributetype ( 1.3.6.1.4.1.1466.101.119.3 NAME 'entryTtl'
518         DESC 'RFC2589 entry time-to-live'
519         SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 SINGLE-VALUE
520         NO-USER-MODIFICATION USAGE dSAOperation )
521
522 attributetype ( 1.3.6.1.4.1.1466.101.119.4 NAME 'dynamicSubtrees'
523         DESC 'RFC2589 dynamic subtrees'
524         SYNTAX 1.3.6.1.4.1.1466.115.121.1.12 NO-USER-MODIFICATION
525         USAGE dSAOperation )
526
527 # Derived from RFC1274, but with new "short names"
528 attributetype ( 0.9.2342.19200300.100.1.1
529         NAME ( 'uid' 'userid' )
530         DESC 'RFC1274 user identifier'
531         EQUALITY caseIgnoreMatch
532         SUBSTR caseIgnoreSubstringsMatch
533         SYNTAX 1.3.6.1.4.1.1466.115.121.1.15{256} )
534
535 attributetype ( 0.9.2342.19200300.100.1.3 NAME ( 'mail' 'rfc822Mailbox' )
536         DESC 'rfc822 mail box'
537     EQUALITY caseIgnoreIA5Match
538     SUBSTR caseIgnoreIA5SubstringsMatch
539     SYNTAX 1.3.6.1.4.1.1466.115.121.1.26{256} )
540
541 objectclass ( 0.9.2342.19200300.100.4.19 NAME 'simpleSecurityObject'
542         SUP top AUXILIARY
543         MUST userPassword )
544
545
546 # RFC1274 + RFC2247
547 attributetype ( 0.9.2342.19200300.100.1.25
548         NAME ( 'dc' 'domainComponent' )
549         DESC 'RFC1274/2247 domain component'
550         EQUALITY caseIgnoreIA5Match
551         SUBSTR caseIgnoreIA5SubstringsMatch
552         SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 SINGLE-VALUE )
553
554 # RFC2247
555 objectclass ( 1.3.6.1.4.1.1466.344 NAME 'dcObject'
556         SUP top AUXILIARY MUST dc )
557
558
559 # From RFC2377
560 objectclass ( 1.3.6.1.1.3.1 NAME 'uidObject'
561         DESC 'RFC2377 uid object'
562         SUP top AUXILIARY MUST uid )
563
564 #
565 # From draft-ietf-ldapext-nameref-00.txt
566 #       used to represent referrals in the directory
567 #
568 attributetype ( 2.16.840.1.113730.3.1.34 NAME 'ref'
569         DESC 'nameref URL Reference'
570         EQUALITY caseExactIA5Match SYNTAX 1.3.6.1.4.1.1466.115.121.1.26
571         USAGE distributedOperation )
572
573 objectclass ( 2.16.840.1.113730.3.2.6 NAME 'referral'
574         DESC 'nameref referral object'
575         SUP top STRUCTURAL MAY ref )
576
577 #
578 # LDAPsubEntry
579 #       likely to change!
580 objectclass ( 2.16.840.1.113719.2.142.6.1.1 NAME 'LDAPsubEntry'
581         DESC 'LDAP Subentry'
582         SUP top STRUCTURAL MAY cn )
583
584 #
585 # OpenLDAProotDSE
586 #       likely to change!
587 objectclass ( 1.3.6.1.4.1.4203.666.3.2
588         NAME ( 'OpenLDAProotDSE' 'LDAProotDSE' )
589         DESC 'OpenLDAP Root DSE object'
590         SUP top STRUCTURAL MAY cn )