]> git.sur5r.net Git - openldap/blob - servers/slapd/schema/core.schema
Add missing semicolon.
[openldap] / servers / slapd / schema / core.schema
1
2 # OpenLDAP Core schema
3 # Includes "standard" schema items from RFC2251-RFC2256
4
5 # Standard X.501(93) Operational Attribute Types from RFC2252
6
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 )
11
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 )
16
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 )
20
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 )
24
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 )
29
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 )
33
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 )
37
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 )
41
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 )
45
46 # LDAP Operational Attributes from RFC2252
47
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 )
50
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 )
53
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 )
56
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 )
59
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 )
62
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 )
65
66 # LDAP Subschema Atrribute from RFC2252
67
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 )
71
72 # X.500 Subschema attributes from RFC2252
73
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 )
76
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 )
80
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 )
84
85 # Object Classes from RFC2252
86
87 # extensibleObject moved forward, since it depends on top
88 # ldapSyntaxes (operational) is admissible in next:
89
90 objectclass ( 2.5.20.1 NAME 'subschema' AUXILIARY
91       MAY ( dITStructureRules $ nameForms $ ditContentRules $
92       objectClasses $ attributeTypes $ matchingRules $
93       matchingRuleUse ) )
94
95 # Standard attribute types from RFC2256
96
97 attribute ( 2.5.4.0 NAME 'objectClass' EQUALITY objectIdentifierMatch
98       SYNTAX 1.3.6.1.4.1.1466.115.121.1.38 )
99
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 )
102
103 # Defined, but no longer used
104
105 attribute ( 2.5.4.2 NAME 'knowledgeInformation' EQUALITY caseIgnoreMatch
106       SYNTAX 1.3.6.1.4.1.1466.115.121.1.15{32768} )
107
108 # Place here since other attribute types derive from it
109
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} )
113
114 attribute ( 2.5.4.3 NAME ( 'cn' 'commonName' ) SUP name )
115
116 attribute ( 2.5.4.4 NAME ( 'sn' 'surname' ) SUP name )
117
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} )
121
122 # (2-letter code from ISO 3166)
123
124 attribute ( 2.5.4.6 NAME ( 'c' 'countryName' ) SUP name SINGLE-VALUE )
125
126 attribute ( 2.5.4.7 NAME ( 'l' 'localityName' ) SUP name )
127
128 attribute ( 2.5.4.8 NAME ( 'st' 'stateOrProvinceName' ) SUP name )
129
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} )
133
134 attribute ( 2.5.4.10 NAME ( 'o' 'organizationName' ) SUP name )
135
136 attribute ( 2.5.4.11 NAME ( 'ou' 'organizationalUnitName' ) SUP name )
137
138 attribute ( 2.5.4.12 NAME 'title' SUP name )
139
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} )
143
144 # Obsoleted by enhancedSearchGuide
145
146 attribute ( 2.5.4.14 NAME 'searchGuide'
147       SYNTAX 1.3.6.1.4.1.1466.115.121.1.25 )
148
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} )
152
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 )
159
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} )
163
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} )
167
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} )
171
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} )
175
176 attribute ( 2.5.4.21 NAME 'telexNumber'
177      SYNTAX 1.3.6.1.4.1.1466.115.121.1.52 )
178
179 attribute ( 2.5.4.22 NAME 'teletexTerminalIdentifier'
180      SYNTAX 1.3.6.1.4.1.1466.115.121.1.51 )
181
182 attribute ( 2.5.4.23 NAME ( 'facsimileTelephoneNumber' 'fax' )
183      SYNTAX 1.3.6.1.4.1.1466.115.121.1.22 )
184
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} )
188
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} )
192
193 attribute ( 2.5.4.26 NAME 'registeredAddress' SUP postalAddress
194       SYNTAX 1.3.6.1.4.1.1466.115.121.1.41 )
195
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} )
199
200 attribute ( 2.5.4.28 NAME 'preferredDeliveryMethod'
201       SYNTAX 1.3.6.1.4.1.1466.115.121.1.14
202       SINGLE-VALUE )
203
204 attribute ( 2.5.4.29 NAME 'presentationAddress'
205       EQUALITY presentationAddressMatch
206       SYNTAX 1.3.6.1.4.1.1466.115.121.1.43
207       SINGLE-VALUE )
208
209 attribute ( 2.5.4.30 NAME 'supportedApplicationContext'
210       EQUALITY objectIdentifierMatch
211       SYNTAX 1.3.6.1.4.1.1466.115.121.1.38 )
212
213 # Placed here because others derive from it.
214
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.
222
223 attribute ( 2.5.4.49 NAME 'distinguishedName'
224       EQUALITY distinguishedNameMatch
225       SYNTAX 1.3.6.1.4.1.1466.115.121.1.12 )
226
227 attribute ( 2.5.4.31 NAME 'member' SUP distinguishedName )
228
229 attribute ( 2.5.4.32 NAME 'owner' SUP distinguishedName )
230
231 attribute ( 2.5.4.33 NAME 'roleOccupant' SUP distinguishedName )
232
233 attribute ( 2.5.4.34 NAME 'seeAlso' SUP distinguishedName )
234
235 attribute ( 2.5.4.35 NAME 'userPassword' EQUALITY octetStringMatch
236       SYNTAX 1.3.6.1.4.1.1466.115.121.1.40{128} )
237
238 # Must be stored and requested in the binary form, as
239 # userCertificate;binary
240
241 attribute ( 2.5.4.36 NAME 'userCertificate'
242       SYNTAX 1.3.6.1.4.1.1466.115.121.1.8 )
243
244 # As above
245
246 attribute ( 2.5.4.37 NAME 'cACertificate'
247       SYNTAX 1.3.6.1.4.1.1466.115.121.1.8 )
248
249 # As above
250
251 attribute ( 2.5.4.38 NAME 'authorityRevocationList'
252       SYNTAX 1.3.6.1.4.1.1466.115.121.1.9 )
253
254 # As above
255
256 attribute ( 2.5.4.39 NAME 'certificateRevocationList'
257       SYNTAX 1.3.6.1.4.1.1466.115.121.1.9 )
258
259 # As above
260
261 attribute ( 2.5.4.40 NAME 'crossCertificatePair'
262       SYNTAX 1.3.6.1.4.1.1466.115.121.1.10 )
263
264 # 2.5.4.41 is 'name', moved above since other attribute types derive from it
265
266 attribute ( 2.5.4.42 NAME 'givenName' SUP name )
267
268 attribute ( 2.5.4.43 NAME 'initials' SUP name )
269
270 attribute ( 2.5.4.45 NAME 'x500UniqueIdentifier' EQUALITY bitStringMatch
271       SYNTAX 1.3.6.1.4.1.1466.115.121.1.6 )
272
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 )
276
277 attribute ( 2.5.4.47 NAME 'enhancedSearchGuide'
278       SYNTAX 1.3.6.1.4.1.1466.115.121.1.21 )
279
280 attribute ( 2.5.4.48 NAME 'protocolInformation'
281       EQUALITY protocolInformationMatch
282       SYNTAX 1.3.6.1.4.1.1466.115.121.1.42 )
283
284 # 2.5.4.49 is distinguishedName, moved up
285
286 attribute ( 2.5.4.50 NAME 'uniqueMember' EQUALITY uniqueMemberMatch
287       SYNTAX 1.3.6.1.4.1.1466.115.121.1.34 )
288
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} )
292
293 # This attribute is to be stored and requested in the binary form, as
294 # 'supportedAlgorithms;binary'.
295
296 attribute ( 2.5.4.52 NAME 'supportedAlgorithms'
297       SYNTAX 1.3.6.1.4.1.1466.115.121.1.49 )
298
299 # This attribute is to be stored and requested in the binary form, as
300 # 'deltaRevocationList;binary'.
301
302 attribute ( 2.5.4.53 NAME 'deltaRevocationList'
303       SYNTAX 1.3.6.1.4.1.1466.115.121.1.9 )
304
305 attribute ( 2.5.4.54 NAME 'dmdName' SUP name )
306
307 # Standard object classes from RFC2256
308
309 objectclass ( 2.5.6.0 NAME 'top' ABSTRACT MUST objectClass )
310
311 objectclass ( 2.5.6.1 NAME 'alias' SUP top STRUCTURAL MUST aliasedObjectName )
312
313 objectclass ( 2.5.6.2 NAME 'country' SUP top STRUCTURAL MUST c
314      MAY ( searchGuide $ description ) )
315
316 objectclass ( 2.5.6.3 NAME 'locality' SUP top STRUCTURAL
317      MAY ( street $ seeAlso $ searchGuide $ st $ l $ description ) )
318
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 ) )
327
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 ) )
336
337 objectclass ( 2.5.6.6 NAME 'person' SUP top STRUCTURAL MUST ( sn $ cn )
338      MAY ( userPassword $ telephoneNumber $ seeAlso $ description ) )
339
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 ) )
348
349 # Notice that preferredDeliveryMethod is duplicate
350
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 ) )
359
360 objectclass ( 2.5.6.9 NAME 'groupOfNames' SUP top STRUCTURAL MUST ( member $ cn )
361      MAY ( businessCategory $ seeAlso $ owner $ ou $ o $ description ) )
362
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
366 # afterthought
367
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 ) )
376
377 objectclass ( 2.5.6.11 NAME 'applicationProcess' SUP top STRUCTURAL MUST cn
378      MAY ( seeAlso $ ou $ l $ description ) )
379
380 objectclass ( 2.5.6.12 NAME 'applicationEntity' SUP top STRUCTURAL
381      MUST ( presentationAddress $ cn )
382      MAY ( supportedApplicationContext $ seeAlso $ ou $ o $ l $
383      description ) )
384
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.
388
389 objectclass ( 2.5.6.13 NAME 'dSA' SUP applicationEntity STRUCTURAL
390      MAY knowledgeInformation )
391
392 objectclass ( 2.5.6.14 NAME 'device' SUP top STRUCTURAL MUST cn
393      MAY ( serialNumber $ seeAlso $ owner $ ou $ o $ l $ description ) )
394
395 objectclass ( 2.5.6.15 NAME 'strongAuthenticationUser' SUP top AUXILIARY
396      MUST userCertificate )
397
398 objectclass ( 2.5.6.16 NAME 'certificationAuthority' SUP top AUXILIARY
399      MUST ( authorityRevocationList $ certificateRevocationList $
400      cACertificate ) MAY crossCertificatePair )
401
402 # New
403
404 objectclass ( 2.5.6.17 NAME 'groupOfUniqueNames' SUP top STRUCTURAL
405      MUST ( uniqueMember $ cn )
406      MAY ( businessCategory $ seeAlso $ owner $ ou $ o $ description ) )
407
408 # New
409
410 objectclass ( 2.5.6.18 NAME 'userSecurityInformation' SUP top AUXILIARY
411      MAY ( supportedAlgorithms ) )
412
413 # New
414
415 objectclass ( 2.5.6.16.2 NAME 'certificationAuthority-V2' SUP
416      certificationAuthority
417      AUXILIARY MAY ( deltaRevocationList ) )
418
419 # New
420
421 objectclass ( 2.5.6.19 NAME 'cRLDistributionPoint' SUP top STRUCTURAL
422      MUST ( cn ) MAY ( certificateRevocationList $
423      authorityRevocationList $
424      deltaRevocationList ) )
425
426 # New
427
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 ) )
436
437 # Next objectclass is defined in RFC2252, but has to be put after top
438
439 objectclass ( 1.3.6.1.4.1.1466.101.120.111 NAME 'extensibleObject'
440       SUP top AUXILIARY )
441
442 #
443 # From draft-ietf-ldapext-nameref-00.txt
444 #       used to represent referrals in the directory
445 #
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 )
449
450 objectclass ( 2.16.840.1.113730.3.2.6 NAME 'referral'
451         SUP top STRUCTURAL MAY ( ref ) )