]> git.sur5r.net Git - openldap/blob - servers/slapd/schema/cosine.schema
More system schema checks
[openldap] / servers / slapd / schema / cosine.schema
1 # $OpenLDAP$
2 #
3 # RFC1274: Cosine and Internet X.500 schema
4 #
5 # This file contains LDAPv3 schema derived from X.500 COSINE "pilot"
6 # schema.  As this schema was defined for X.500(89), some
7 # oddities were introduced in the mapping to LDAPv3.  The
8 # mappings were based upon: draft-ietf-asid-ldapv3-attributes-03.txt
9 # (a work in progress)
10 #
11 # Note: It seems that the pilot schema evolved beyond what was
12 # described in RFC1274.  However, this document attempts to describes
13 # RFC1274 as published.
14 #
15 # Depends on core.schema
16
17
18 # Network Working Group                                          P. Barker
19 # Request for Comments: 1274                                      S. Kille
20 #                                              University College London
21 #                                                          November 1991
22 #
23 #                 The COSINE and Internet X.500 Schema
24 #
25 # [trimmed]
26 #
27 # Abstract
28 #
29 #  This document suggests an X.500 Directory Schema, or Naming
30 #  Architecture, for use in the COSINE and Internet X.500 pilots.  The
31 #  schema is independent of any specific implementation.  As well as
32 #  indicating support for the standard object classes and attributes, a
33 #  large number of generally useful object classes and attributes are
34 #  also defined.  An appendix to this document includes a machine
35 #  processable version of the schema.
36 #
37 # [trimmed]
38
39 # 7.  Object Identifiers
40 #
41 #  Some additional object identifiers are defined for this schema.
42 #  These are also reproduced in Appendix C.
43 #
44 #    data OBJECT IDENTIFIER ::= {ccitt 9}
45 #    pss OBJECT IDENTIFIER ::= {data 2342}
46 #    ucl OBJECT IDENTIFIER ::= {pss 19200300}
47 #    pilot OBJECT IDENTIFIER ::= {ucl 100}
48 #
49 #    pilotAttributeType OBJECT IDENTIFIER ::= {pilot 1}
50 #    pilotAttributeSyntax OBJECT IDENTIFIER ::= {pilot 3}
51 #    pilotObjectClass OBJECT IDENTIFIER ::= {pilot 4}
52 #    pilotGroups OBJECT IDENTIFIER ::= {pilot 10}
53 #
54 #    iA5StringSyntax OBJECT IDENTIFIER ::= {pilotAttributeSyntax 4}
55 #    caseIgnoreIA5StringSyntax OBJECT IDENTIFIER ::=
56 #                                          {pilotAttributeSyntax 5}
57 #
58 # 8.  Object Classes
59 # [relocated after 9]
60
61 #
62 # 9.  Attribute Types
63 #
64 # 9.1.  X.500 standard attribute types
65 #
66 #  A number of generally useful attribute types are defined in X.520,
67 #  and these are supported.  Refer to that document for descriptions of
68 #  the suggested usage of these attribute types.  The ASN.1 for these
69 #  attribute types is reproduced for completeness in Appendix C.
70 #
71 # 9.2.  X.400 standard attribute types
72 #
73 #  The standard X.400 attribute types are supported.  See X.402 for full
74 #  details.  The ASN.1 for these attribute types is reproduced in
75 #  Appendix C.
76 #
77 # 9.3.  COSINE/Internet attribute types
78 #
79 #  This section describes all the attribute types defined for use in the
80 #  COSINE and Internet pilots.  Descriptions are given as to the
81 #  suggested usage of these attribute types.  The ASN.1 for these
82 #  attribute types is reproduced in Appendix C.
83 #
84 # 9.3.1.  Userid
85 #
86 #  The Userid attribute type specifies a computer system login name.
87 #
88 #    userid ATTRIBUTE
89 #        WITH ATTRIBUTE-SYNTAX
90 #            caseIgnoreStringSyntax
91 #            (SIZE (1 .. ub-user-identifier))
92 #    ::= {pilotAttributeType 1}
93 #
94 #(in core.schema)
95 ##attributetype ( 0.9.2342.19200300.100.1.1 NAME ( 'uid' 'userid' )
96 ##      EQUALITY caseIgnoreMatch
97 ##      SUBSTR caseIgnoreSubstringsMatch
98 ##      SYNTAX 1.3.6.1.4.1.1466.115.121.1.15{256} )
99
100 # 9.3.2.  Text Encoded O/R Address
101 #
102 #  The Text Encoded O/R Address attribute type specifies a text encoding
103 #  of an X.400 O/R address, as specified in RFC 987.  The use of this
104 #  attribute is deprecated as the attribute is intended for interim use
105 #  only.  This attribute will be the first candidate for the attribute
106 #  expiry mechanisms!
107 #
108 #    textEncodedORAddress ATTRIBUTE
109 #        WITH ATTRIBUTE-SYNTAX
110 #            caseIgnoreStringSyntax
111 #        (SIZE (1 .. ub-text-encoded-or-address))
112 #    ::= {pilotAttributeType 2}
113 #
114 attributetype ( 0.9.2342.19200300.100.1.2 NAME 'textEncodedORAddress'
115         EQUALITY caseIgnoreMatch
116         SUBSTR caseIgnoreSubstringsMatch
117         SYNTAX 1.3.6.1.4.1.1466.115.121.1.15{256} )
118
119 # 9.3.3.  RFC 822 Mailbox
120 #
121 #  The RFC822 Mailbox attribute type specifies an electronic mailbox
122 #  attribute following the syntax specified in RFC 822.  Note that this
123 #  attribute should not be used for greybook or other non-Internet order
124 #  mailboxes.
125 #
126 #    rfc822Mailbox ATTRIBUTE
127 #        WITH ATTRIBUTE-SYNTAX
128 #            caseIgnoreIA5StringSyntax
129 #            (SIZE (1 .. ub-rfc822-mailbox))
130 #    ::= {pilotAttributeType 3}
131 #
132 #(in core.schema)
133 ##attributetype ( 0.9.2342.19200300.100.1.3 NAME ( 'mail' 'rfc822Mailbox' )
134 ##      EQUALITY caseIgnoreIA5Match
135 ##      SUBSTR caseIgnoreIA5SubstringsMatch
136 ##      SYNTAX 1.3.6.1.4.1.1466.115.121.1.26{256} )
137
138 # 9.3.4.  Information
139 #
140 #  The Information attribute type specifies any general information
141 #  pertinent to an object.  It is recommended that specific usage of
142 #  this attribute type is avoided, and that specific requirements are
143 #  met by other (possibly additional) attribute types.
144 #
145 #    info ATTRIBUTE
146 #        WITH ATTRIBUTE-SYNTAX
147 #            caseIgnoreStringSyntax
148 #            (SIZE (1 .. ub-information))
149 #    ::= {pilotAttributeType 4}
150 #
151 attributetype ( 0.9.2342.19200300.100.1.4 NAME 'info'
152         DESC 'RFC1274: general information'
153         EQUALITY caseIgnoreMatch
154         SUBSTR caseIgnoreSubstringsMatch
155         SYNTAX 1.3.6.1.4.1.1466.115.121.1.15{2048} )
156
157
158 # 9.3.5.  Favourite Drink
159 #
160 #  The Favourite Drink attribute type specifies the favourite drink of
161 #  an object (or person).
162 #
163 #    favouriteDrink ATTRIBUTE
164 #        WITH ATTRIBUTE-SYNTAX
165 #            caseIgnoreStringSyntax
166 #            (SIZE (1 .. ub-favourite-drink))
167 #    ::= {pilotAttributeType 5}
168 #
169 attributetype ( 0.9.2342.19200300.100.1.5
170         NAME ( 'drink' 'favouriteDrink' )
171         DESC 'RFC1274: favorite drink'
172         EQUALITY caseIgnoreMatch
173         SUBSTR caseIgnoreSubstringsMatch
174         SYNTAX 1.3.6.1.4.1.1466.115.121.1.15{256} )
175
176 # 9.3.6.  Room Number
177 #
178 #  The Room Number attribute type specifies the room number of an
179 #  object.  Note that the commonName attribute should be used for naming
180 #  room objects.
181 #
182 #    roomNumber ATTRIBUTE
183 #        WITH ATTRIBUTE-SYNTAX
184 #            caseIgnoreStringSyntax
185 #            (SIZE (1 .. ub-room-number))
186 #    ::= {pilotAttributeType 6}
187 #
188 attributetype ( 0.9.2342.19200300.100.1.6 NAME 'roomNumber'
189         DESC 'RFC1274: room number'
190         EQUALITY caseIgnoreMatch
191         SUBSTR caseIgnoreSubstringsMatch
192         SYNTAX 1.3.6.1.4.1.1466.115.121.1.15{256} )
193
194 # 9.3.7.  Photo
195 #
196 #  The Photo attribute type specifies a "photograph" for an object.
197 #  This should be encoded in G3 fax as explained in recommendation T.4,
198 #  with an ASN.1 wrapper to make it compatible with an X.400 BodyPart as
199 #  defined in X.420.
200 #
201 #    IMPORT  G3FacsimileBodyPart  FROM  {   mhs-motis   ipms   modules
202 #    information-objects }
203 #
204 #    photo ATTRIBUTE
205 #        WITH ATTRIBUTE-SYNTAX
206 #            CHOICE {
207 #                g3-facsimile [3] G3FacsimileBodyPart
208 #                }
209 #        (SIZE (1 .. ub-photo))
210 #    ::= {pilotAttributeType 7}
211 #
212 attributetype ( 0.9.2342.19200300.100.1.7 NAME 'photo'
213         DESC 'RFC1274: photo (G3 fax)'
214         SYNTAX 1.3.6.1.4.1.1466.115.121.1.23{25000} )
215
216 # 9.3.8.  User Class
217 #
218 #  The User Class attribute type specifies a category of computer user.
219 #  The semantics placed on this attribute are for local interpretation.
220 #  Examples of current usage od this attribute in academia are
221 #  undergraduate student, researcher, lecturer, etc.  Note that the
222 #  organizationalStatus attribute may now often be preferred as it makes
223 #  no distinction between computer users and others.
224 #
225 #    userClass ATTRIBUTE
226 #        WITH ATTRIBUTE-SYNTAX
227 #            caseIgnoreStringSyntax
228 #            (SIZE (1 .. ub-user-class))
229 #    ::= {pilotAttributeType 8}
230 #
231 attributetype ( 0.9.2342.19200300.100.1.8 NAME 'userClass'
232         DESC 'RFC1274: categorory of user'
233         EQUALITY caseIgnoreMatch
234         SUBSTR caseIgnoreSubstringsMatch
235         SYNTAX 1.3.6.1.4.1.1466.115.121.1.15{256} )
236
237 # 9.3.9.  Host
238 #
239 #  The Host attribute type specifies a host computer.
240 #
241 #    host ATTRIBUTE
242 #        WITH ATTRIBUTE-SYNTAX
243 #            caseIgnoreStringSyntax
244 #            (SIZE (1 .. ub-host))
245 #    ::= {pilotAttributeType 9}
246 #
247 attributetype ( 0.9.2342.19200300.100.1.9 NAME 'host'
248         DESC 'RFC1274: host computer'
249         EQUALITY caseIgnoreMatch
250         SUBSTR caseIgnoreSubstringsMatch
251         SYNTAX 1.3.6.1.4.1.1466.115.121.1.15{256} )
252
253 # 9.3.10.  Manager
254 #
255 #  The Manager attribute type specifies the manager of an object
256 #  represented by an entry.
257 #
258 #    manager ATTRIBUTE
259 #        WITH ATTRIBUTE-SYNTAX
260 #            distinguishedNameSyntax
261 #    ::= {pilotAttributeType 10}
262 #
263 attributetype ( 0.9.2342.19200300.100.1.10 NAME 'manager'
264         DESC 'RFC1274: DN of manager'
265         EQUALITY distinguishedNameMatch
266         SYNTAX 1.3.6.1.4.1.1466.115.121.1.12 )
267
268 # 9.3.11.  Document Identifier
269 #
270 #  The Document Identifier attribute type specifies a unique identifier
271 #  for a document.
272 #
273 #    documentIdentifier ATTRIBUTE
274 #        WITH ATTRIBUTE-SYNTAX
275 #            caseIgnoreStringSyntax
276 #            (SIZE (1 .. ub-document-identifier))
277 #    ::= {pilotAttributeType 11}
278 #
279 attributetype ( 0.9.2342.19200300.100.1.11 NAME 'documentIdentifier'
280         DESC 'RFC1274: unique identifier of document'
281         EQUALITY caseIgnoreMatch
282         SUBSTR caseIgnoreSubstringsMatch
283         SYNTAX 1.3.6.1.4.1.1466.115.121.1.15{256} )
284
285 # 9.3.12.  Document Title
286 #
287 #  The Document Title attribute type specifies the title of a document.
288 #
289 #    documentTitle ATTRIBUTE
290 #        WITH ATTRIBUTE-SYNTAX
291 #            caseIgnoreStringSyntax
292 #        (SIZE (1 .. ub-document-title))
293 #    ::= {pilotAttributeType 12}
294 #
295 attributetype ( 0.9.2342.19200300.100.1.12 NAME 'documentTitle'
296         DESC 'RFC1274: title of document'
297         EQUALITY caseIgnoreMatch
298         SUBSTR caseIgnoreSubstringsMatch
299         SYNTAX 1.3.6.1.4.1.1466.115.121.1.15{256} )
300
301 # 9.3.13.  Document Version
302 #
303 #  The Document Version attribute type specifies the version number of a
304 #  document.
305 #
306 #    documentVersion ATTRIBUTE
307 #        WITH ATTRIBUTE-SYNTAX
308 #            caseIgnoreStringSyntax
309 #            (SIZE (1 .. ub-document-version))
310 #    ::= {pilotAttributeType 13}
311 #
312 attributetype ( 0.9.2342.19200300.100.1.13 NAME 'documentVersion'
313         DESC 'RFC1274: version of document'
314         EQUALITY caseIgnoreMatch
315         SUBSTR caseIgnoreSubstringsMatch
316         SYNTAX 1.3.6.1.4.1.1466.115.121.1.15{256} )
317
318 # 9.3.14.  Document Author
319 #
320 #  The Document Author attribute type specifies the distinguished name
321 #  of the author of a document.
322 #
323 #    documentAuthor ATTRIBUTE
324 #        WITH ATTRIBUTE-SYNTAX
325 #            distinguishedNameSyntax
326 #    ::= {pilotAttributeType 14}
327 #
328 attributetype ( 0.9.2342.19200300.100.1.14 NAME 'documentAuthor'
329         DESC 'RFC1274: DN of author of document'
330         EQUALITY distinguishedNameMatch
331         SYNTAX 1.3.6.1.4.1.1466.115.121.1.12 )
332
333 # 9.3.15.  Document Location
334 #
335 #  The Document Location attribute type specifies the location of the
336 #  document original.
337 #
338 #    documentLocation ATTRIBUTE
339 #        WITH ATTRIBUTE-SYNTAX
340 #            caseIgnoreStringSyntax
341 #            (SIZE (1 .. ub-document-location))
342 #    ::= {pilotAttributeType 15}
343 #
344 attributetype ( 0.9.2342.19200300.100.1.15 NAME 'documentLocation'
345         DESC 'RFC1274: location of document original'
346         EQUALITY caseIgnoreMatch
347         SUBSTR caseIgnoreSubstringsMatch
348         SYNTAX 1.3.6.1.4.1.1466.115.121.1.15{256} )
349
350 # 9.3.16.  Home Telephone Number
351 #
352 #  The Home Telephone Number attribute type specifies a home telephone
353 #  number associated with a person.  Attribute values should follow the
354 #  agreed format for international telephone numbers: i.e., "+44 71 123
355 #  4567".
356 #
357 #    homeTelephoneNumber ATTRIBUTE
358 #        WITH ATTRIBUTE-SYNTAX
359 #            telephoneNumberSyntax
360 #    ::= {pilotAttributeType 20}
361 #
362 attributetype ( 0.9.2342.19200300.100.1.20
363         DESC 'RFC1274: home telephone number'
364         NAME ( 'homePhone' 'homeTelephoneNumber' )
365         EQUALITY telephoneNumberMatch
366         SUBSTR telephoneNumberSubstringsMatch
367         SYNTAX 1.3.6.1.4.1.1466.115.121.1.50 )
368
369 # 9.3.17.  Secretary
370 #
371 #  The Secretary attribute type specifies the secretary of a person.
372 #  The attribute value for Secretary is a distinguished name.
373 #
374 #    secretary ATTRIBUTE
375 #        WITH ATTRIBUTE-SYNTAX
376 #            distinguishedNameSyntax
377 #    ::= {pilotAttributeType 21}
378 #
379 attributetype ( 0.9.2342.19200300.100.1.21 NAME 'secretary'
380         DESC 'RFC1274: DN of secretary'
381         EQUALITY distinguishedNameMatch
382         SYNTAX 1.3.6.1.4.1.1466.115.121.1.12 )
383
384 # 9.3.18.  Other Mailbox
385 #
386 #  The Other Mailbox attribute type specifies values for electronic
387 #  mailbox types other than X.400 and rfc822.
388 #
389 #    otherMailbox ATTRIBUTE
390 #        WITH ATTRIBUTE-SYNTAX
391 #            SEQUENCE {
392 #                    mailboxType PrintableString, -- e.g. Telemail
393 #                    mailbox IA5String  -- e.g. X378:Joe
394 #            }
395 #    ::= {pilotAttributeType 22}
396 #
397 attributetype ( 0.9.2342.19200300.100.1.22 NAME 'otherMailbox'
398         SYNTAX 1.3.6.1.4.1.1466.115.121.1.39 )
399
400 # 9.3.19.  Last Modified Time
401 #
402 #  The Last Modified Time attribute type specifies the last time, in UTC
403 #  time, that an entry was modified.  Ideally, this attribute should be
404 #  maintained by the DSA.
405 #
406 #    lastModifiedTime ATTRIBUTE
407 #        WITH ATTRIBUTE-SYNTAX
408 #            uTCTimeSyntax
409 #    ::= {pilotAttributeType 23}
410 #
411 ## OBSOLETE
412 #attributetype ( 0.9.2342.19200300.100.1.23 NAME 'lastModifiedTime'
413 #       DESC 'RFC1274: time of last modify, replaced by modifyTimestamp'
414 #       OBSOLETE
415 #       SYNTAX 1.3.6.1.4.1.1466.115.121.1.53
416 #       USAGE directoryOperation )
417
418 # 9.3.20.  Last Modified By
419 #
420 #  The Last Modified By attribute specifies the distinguished name of
421 #  the last user to modify the associated entry.  Ideally, this
422 #  attribute should be maintained by the DSA.
423 #
424 #    lastModifiedBy ATTRIBUTE
425 #        WITH ATTRIBUTE-SYNTAX
426 #            distinguishedNameSyntax
427 #    ::= {pilotAttributeType 24}
428 #
429
430 ## OBSOLETE
431 #attributetype ( 0.9.2342.19200300.100.1.24 NAME 'lastModifiedBy'
432 #       DESC 'RFC1274: last modifier, replaced by modifiersName'
433 #       OBSOLETE
434 #       EQUALITY distinguishedNameMatch
435 #       SYNTAX 1.3.6.1.4.1.1466.115.121.1.12
436 #       USAGE directoryOperation )
437
438 # 9.3.21.  Domain Component
439 #
440 #  The Domain Component attribute type specifies a DNS/NRS domain.  For
441 #  example, "uk" or "ac".
442 #
443 #    domainComponent ATTRIBUTE
444 #        WITH ATTRIBUTE-SYNTAX
445 #            caseIgnoreIA5StringSyntax
446 #            SINGLE VALUE
447 #    ::= {pilotAttributeType 25}
448 #
449 ##(in core.schema)
450 ##attributetype ( 0.9.2342.19200300.100.1.25 NAME ( 'dc' 'domainComponent' )
451 ##      EQUALITY caseIgnoreIA5Match
452 ##      SUBSTR caseIgnoreIA5SubstringsMatch
453 ##      SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 SINGLE-VALUE )
454
455 # 9.3.22.  DNS ARecord
456 #
457 #  The A Record attribute type specifies a type A (Address) DNS resource
458 #  record [6] [7].
459 #
460 #    aRecord ATTRIBUTE
461 #        WITH ATTRIBUTE-SYNTAX
462 #            DNSRecordSyntax
463 #    ::= {pilotAttributeType 26}
464 #
465 ## incorrect syntax?
466 attributetype ( 0.9.2342.19200300.100.1.26 NAME 'aRecord'
467         EQUALITY caseIgnoreIA5Match
468         SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 )
469
470 ## missing from RFC1274
471 ## incorrect syntax?
472 attributetype ( 0.9.2342.19200300.100.1.27 NAME 'mDRecord'
473         EQUALITY caseIgnoreIA5Match
474         SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 )
475
476 # 9.3.23.  MX Record
477 #
478 #  The MX Record attribute type specifies a type MX (Mail Exchange) DNS
479 #  resource record [6] [7].
480 #
481 #    mXRecord ATTRIBUTE
482 #        WITH ATTRIBUTE-SYNTAX
483 #            DNSRecordSyntax
484 #    ::= {pilotAttributeType 28}
485 #
486 ## incorrect syntax!!
487 attributetype ( 0.9.2342.19200300.100.1.28 NAME 'mXRecord'
488         EQUALITY caseIgnoreIA5Match
489         SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 )
490
491 # 9.3.24.  NS Record
492 #
493 #  The NS Record attribute type specifies an NS (Name Server) DNS
494 #  resource record [6] [7].
495 #
496 #    nSRecord ATTRIBUTE
497 #        WITH ATTRIBUTE-SYNTAX
498 #            DNSRecordSyntax
499 #    ::= {pilotAttributeType 29}
500 #
501 ## incorrect syntax!!
502 attributetype ( 0.9.2342.19200300.100.1.29 NAME 'nSRecord'
503         EQUALITY caseIgnoreIA5Match
504         SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 )
505
506 # 9.3.25.  SOA Record
507 #
508 #  The SOA Record attribute type specifies a type SOA (Start of
509 #  Authority) DNS resorce record [6] [7].
510 #
511 #    sOARecord ATTRIBUTE
512 #        WITH ATTRIBUTE-SYNTAX
513 #            DNSRecordSyntax
514 #    ::= {pilotAttributeType 30}
515 #
516 ## incorrect syntax!!
517 attributetype ( 0.9.2342.19200300.100.1.30 NAME 'sOARecord'
518         EQUALITY caseIgnoreIA5Match
519         SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 )
520
521 # 9.3.26.  CNAME Record
522 #
523 #  The CNAME Record attribute type specifies a type CNAME (Canonical
524 #  Name) DNS resource record [6] [7].
525 #
526 #    cNAMERecord ATTRIBUTE
527 #        WITH ATTRIBUTE-SYNTAX
528 #            iA5StringSyntax
529 #    ::= {pilotAttributeType 31}
530 #
531 ## incorrect syntax!!
532 attributetype ( 0.9.2342.19200300.100.1.31 NAME 'cNAMERecord'
533         EQUALITY caseIgnoreIA5Match
534         SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 )
535
536 # 9.3.27.  Associated Domain
537 #
538 #  The Associated Domain attribute type specifies a DNS or NRS domain
539 #  which is associated with an object in the DIT. For example, the entry
540 #  in the DIT with a distinguished name "C=GB, O=University College
541 #  London" would have an associated domain of "UCL.AC.UK.  Note that all
542 #  domains should be represented in rfc822 order.  See [3] for more
543 #  details of usage of this attribute.
544 #
545 #    associatedDomain ATTRIBUTE
546 #        WITH ATTRIBUTE-SYNTAX
547 #            caseIgnoreIA5StringSyntax
548 #    ::= {pilotAttributeType 37}
549 #
550 #attributetype ( 0.9.2342.19200300.100.1.37 NAME 'associatedDomain'
551 #       EQUALITY caseIgnoreIA5Match
552 #       SUBSTR caseIgnoreIA5SubstringsMatch
553 #       SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 )
554
555 # 9.3.28.  Associated Name
556 #
557 #  The Associated Name attribute type specifies an entry in the
558 #  organisational DIT associated with a DNS/NRS domain.  See [3] for
559 #  more details of usage of this attribute.
560 #
561 #    associatedName ATTRIBUTE
562 #        WITH ATTRIBUTE-SYNTAX
563 #            distinguishedNameSyntax
564 #    ::= {pilotAttributeType 38}
565 #
566 attributetype ( 0.9.2342.19200300.100.1.38 NAME 'associatedName'
567         DESC 'RFC1274: DN of entry associated with domain'
568         EQUALITY distinguishedNameMatch
569         SYNTAX 1.3.6.1.4.1.1466.115.121.1.12 )
570
571 # 9.3.29.  Home postal address
572 #
573 #  The Home postal address attribute type specifies a home postal
574 #  address for an object.  This should be limited to up to 6 lines of 30
575 #  characters each.
576 #
577 #    homePostalAddress ATTRIBUTE
578 #        WITH ATTRIBUTE-SYNTAX
579 #            postalAddress
580 #            MATCHES FOR EQUALITY
581 #    ::= {pilotAttributeType 39}
582 #
583 attributetype ( 0.9.2342.19200300.100.1.39 NAME 'homePostalAddress'
584         DESC 'RFC1274: home postal address'
585         EQUALITY caseIgnoreListMatch
586         SUBSTR caseIgnoreListSubstringsMatch
587         SYNTAX 1.3.6.1.4.1.1466.115.121.1.41 )
588
589 # 9.3.30.  Personal Title
590 #
591 #  The Personal Title attribute type specifies a personal title for a
592 #  person. Examples of personal titles are "Ms", "Dr", "Prof" and "Rev".
593 #
594 #    personalTitle ATTRIBUTE
595 #        WITH ATTRIBUTE-SYNTAX
596 #            caseIgnoreStringSyntax
597 #            (SIZE (1 .. ub-personal-title))
598 #    ::= {pilotAttributeType 40}
599 #
600 attributetype ( 0.9.2342.19200300.100.1.40 NAME 'personalTitle'
601         DESC 'RFC1274: personal title'
602         EQUALITY caseIgnoreMatch
603         SUBSTR caseIgnoreSubstringsMatch
604         SYNTAX 1.3.6.1.4.1.1466.115.121.1.15{256} )
605
606 # 9.3.31.  Mobile Telephone Number
607 #
608 #  The Mobile Telephone Number attribute type specifies a mobile
609 #  telephone number associated with a person.  Attribute values should
610 #  follow the agreed format for international telephone numbers: i.e.,
611 #  "+44 71 123 4567".
612 #
613 #    mobileTelephoneNumber ATTRIBUTE
614 #        WITH ATTRIBUTE-SYNTAX
615 #            telephoneNumberSyntax
616 #    ::= {pilotAttributeType 41}
617 #
618 attributetype ( 0.9.2342.19200300.100.1.41
619         NAME ( 'mobile' 'mobileTelephoneNumber' )
620         DESC 'RFC1274: mobile telephone number'
621         EQUALITY telephoneNumberMatch
622         SUBSTR telephoneNumberSubstringsMatch
623         SYNTAX 1.3.6.1.4.1.1466.115.121.1.50 )
624
625 # 9.3.32.  Pager Telephone Number
626 #
627 #  The Pager Telephone Number attribute type specifies a pager telephone
628 #  number for an object. Attribute values should follow the agreed
629 #  format for international telephone numbers: i.e., "+44 71 123 4567".
630 #
631 #    pagerTelephoneNumber ATTRIBUTE
632 #        WITH ATTRIBUTE-SYNTAX
633 #            telephoneNumberSyntax
634 #    ::= {pilotAttributeType 42}
635 #
636 attributetype ( 0.9.2342.19200300.100.1.42
637         NAME ( 'pager' 'pagerTelephoneNumber' )
638         DESC 'RFC1274: pager telephone number'
639         EQUALITY telephoneNumberMatch
640         SUBSTR telephoneNumberSubstringsMatch
641         SYNTAX 1.3.6.1.4.1.1466.115.121.1.50 )
642
643 # 9.3.33.  Friendly Country Name
644 #
645 #  The Friendly Country Name attribute type specifies names of countries
646 #  in human readable format.  The standard attribute country name must
647 #  be one of the two-letter codes defined in ISO 3166.
648 #
649 #    friendlyCountryName ATTRIBUTE
650 #        WITH ATTRIBUTE-SYNTAX
651 #            caseIgnoreStringSyntax
652 #    ::= {pilotAttributeType 43}
653 #
654 attributetype ( 0.9.2342.19200300.100.1.43
655         NAME ( 'co' 'friendlyCountryName' )
656         DESC 'RFC1274: friendly country name'
657         EQUALITY caseIgnoreMatch
658         SUBSTR caseIgnoreSubstringsMatch
659         SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 )
660
661 # 9.3.34.  Unique Identifier
662 #
663 #  The Unique Identifier attribute type specifies a "unique identifier"
664 #  for an object represented in the Directory.  The domain within which
665 #  the identifier is unique, and the exact semantics of the identifier,
666 #  are for local definition.  For a person, this might be an
667 #  institution-wide payroll number.  For an organisational unit, it
668 #  might be a department code.
669 #
670 #    uniqueIdentifier ATTRIBUTE
671 #        WITH ATTRIBUTE-SYNTAX
672 #            caseIgnoreStringSyntax
673 #            (SIZE (1 .. ub-unique-identifier))
674 #    ::= {pilotAttributeType 44}
675 #
676 attributetype ( 0.9.2342.19200300.100.1.44 NAME 'uniqueIdentifier'
677         DESC 'RFC1274: unique identifer'
678         EQUALITY caseIgnoreMatch
679         SYNTAX 1.3.6.1.4.1.1466.115.121.1.15{256} )
680
681 # 9.3.35.  Organisational Status
682 #
683 #  The Organisational Status attribute type specifies a category by
684 #  which a person is often referred to in an organisation.  Examples of
685 #  usage in academia might include undergraduate student, researcher,
686 #  lecturer, etc.
687 #
688 #  A Directory administrator should probably consider carefully the
689 #  distinctions between this and the title and userClass attributes.
690 #
691 #    organizationalStatus ATTRIBUTE
692 #            WITH ATTRIBUTE-SYNTAX
693 #            caseIgnoreStringSyntax
694 #            (SIZE (1 .. ub-organizational-status))
695 #    ::= {pilotAttributeType 45}
696 #
697 attributetype ( 0.9.2342.19200300.100.1.45 NAME 'organizationalStatus'
698         DESC 'RFC1274: organizational status'
699         EQUALITY caseIgnoreMatch
700         SUBSTR caseIgnoreSubstringsMatch
701         SYNTAX 1.3.6.1.4.1.1466.115.121.1.15{256} )
702
703 # 9.3.36.  Janet Mailbox
704 #
705 #  The Janet Mailbox attribute type specifies an electronic mailbox
706 #  attribute following the syntax specified in the Grey Book of the
707 #  Coloured Book series.  This attribute is intended for the convenience
708 #  of U.K users unfamiliar with rfc822 and little-endian mail addresses.
709 #  Entries using this attribute MUST also include an rfc822Mailbox
710 #  attribute.
711 #
712 #    janetMailbox ATTRIBUTE
713 #        WITH ATTRIBUTE-SYNTAX
714 #            caseIgnoreIA5StringSyntax
715 #            (SIZE (1 .. ub-janet-mailbox))
716 #    ::= {pilotAttributeType 46}
717 #
718 attributetype ( 0.9.2342.19200300.100.1.46 NAME 'janetMailbox'
719         DESC 'RFC1274: Janet mailbox'
720         EQUALITY caseIgnoreIA5Match
721         SUBSTR caseIgnoreIA5SubstringsMatch
722         SYNTAX 1.3.6.1.4.1.1466.115.121.1.26{256} )
723
724 # 9.3.37.  Mail Preference Option
725 #
726 #  An attribute to allow users to indicate a preference for inclusion of
727 #  their names on mailing lists (electronic or physical).  The absence
728 #  of such an attribute should be interpreted as if the attribute was
729 #  present with value "no-list-inclusion".  This attribute should be
730 #  interpreted by anyone using the directory to derive mailing lists,
731 #  and its value respected.
732 #
733 #    mailPreferenceOption ATTRIBUTE
734 #        WITH ATTRIBUTE-SYNTAX ENUMERATED {
735 #                no-list-inclusion(0),
736 #                any-list-inclusion(1),  -- may be added to any lists
737 #                professional-list-inclusion(2)
738 #                                        -- may be added to lists
739 #                                        -- which the list provider
740 #                                        -- views as related to the
741 #                                        -- users professional inter-
742 #                                        -- ests, perhaps evaluated
743 #                                        -- from the business of the
744 #                                        -- organisation or keywords
745 #                                        -- in the entry.
746 #                }
747 #    ::= {pilotAttributeType 47}
748 #
749 attributetype ( 0.9.2342.19200300.100.1.47
750         NAME 'mailPreferenceOption'
751         DESC 'RFC1274: mail preference option'
752         SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 )
753
754 # 9.3.38.  Building Name
755 #
756 #  The Building Name attribute type specifies the name of the building
757 #  where an organisation or organisational unit is based.
758 #
759 #    buildingName ATTRIBUTE
760 #        WITH ATTRIBUTE-SYNTAX
761 #            caseIgnoreStringSyntax
762 #            (SIZE (1 .. ub-building-name))
763 #    ::= {pilotAttributeType 48}
764 #
765 attributetype ( 0.9.2342.19200300.100.1.48 NAME 'buildingName'
766         DESC 'RFC1274: name of building'
767         EQUALITY caseIgnoreMatch
768         SUBSTR caseIgnoreSubstringsMatch
769         SYNTAX 1.3.6.1.4.1.1466.115.121.1.15{256} )
770
771 # 9.3.39.  DSA Quality
772 #
773 #  The DSA Quality attribute type specifies the purported quality of a
774 #  DSA.  It allows a DSA manager to indicate the expected level of
775 #  availability of the DSA. See [8] for details of the syntax.
776 #
777 #    dSAQuality ATTRIBUTE
778 #            WITH ATTRIBUTE-SYNTAX DSAQualitySyntax
779 #            SINGLE VALUE
780 #    ::= {pilotAttributeType 49}
781 #
782 attributetype ( 0.9.2342.19200300.100.1.49 NAME 'dSAQuality'
783         DESC 'RFC1274: DSA Quality'
784         SYNTAX 1.3.6.1.4.1.1466.115.121.1.19 SINGLE-VALUE )
785
786 # 9.3.40.  Single Level Quality
787 #
788 #  The Single Level Quality attribute type specifies the purported data
789 #  quality at the level immediately below in the DIT.  See [8] for
790 #  details of the syntax.
791 #
792 #    singleLevelQuality ATTRIBUTE
793 #            WITH ATTRIBUTE-SYNTAX DataQualitySyntax
794 #            SINGLE VALUE
795 #    ::= {pilotAttributeType 50}
796 #
797 attributetype ( 0.9.2342.19200300.100.1.50 NAME 'singleLevelQuality'
798         DESC 'RFC1274: Single Level Quality'
799         SYNTAX 1.3.6.1.4.1.1466.115.121.1.13 SINGLE-VALUE )
800
801 # 9.3.41.  Subtree Minimum Quality
802 #
803 #  The Subtree Minimum Quality attribute type specifies the purported
804 #  minimum data quality for a DIT subtree.  See [8] for more discussion
805 #  and details of the syntax.
806 #
807 #    subtreeMinimumQuality ATTRIBUTE
808 #            WITH ATTRIBUTE-SYNTAX DataQualitySyntax
809 #            SINGLE VALUE
810 #               -- Defaults to singleLevelQuality
811 #    ::= {pilotAttributeType 51}
812 #
813 attributetype ( 0.9.2342.19200300.100.1.51 NAME 'subtreeMinimumQuality'
814         DESC 'RFC1274: Subtree Mininum Quality'
815         SYNTAX 1.3.6.1.4.1.1466.115.121.1.13 SINGLE-VALUE )
816
817 # 9.3.42.  Subtree Maximum Quality
818 #
819 #  The Subtree Maximum Quality attribute type specifies the purported
820 #  maximum data quality for a DIT subtree.  See [8] for more discussion
821 #  and details of the syntax.
822 #
823 #    subtreeMaximumQuality ATTRIBUTE
824 #            WITH ATTRIBUTE-SYNTAX DataQualitySyntax
825 #            SINGLE VALUE
826 #               -- Defaults to singleLevelQuality
827 #    ::= {pilotAttributeType 52}
828 #
829 attributetype ( 0.9.2342.19200300.100.1.52 NAME 'subtreeMaximumQuality'
830         DESC 'RFC1274: Subtree Maximun Quality'
831         SYNTAX 1.3.6.1.4.1.1466.115.121.1.13 SINGLE-VALUE )
832
833 # 9.3.43.  Personal Signature
834 #
835 #  The Personal Signature attribute type allows for a representation of
836 #  a person's signature.  This should be encoded in G3 fax as explained
837 #  in recommendation T.4, with an ASN.1 wrapper to make it compatible
838 #  with an X.400 BodyPart as defined in X.420.
839 #
840 #    IMPORT  G3FacsimileBodyPart  FROM  {   mhs-motis   ipms   modules
841 #    information-objects }
842 #
843 #    personalSignature ATTRIBUTE
844 #        WITH ATTRIBUTE-SYNTAX
845 #            CHOICE {
846 #                g3-facsimile [3] G3FacsimileBodyPart
847 #                }
848 #        (SIZE (1 .. ub-personal-signature))
849 #    ::= {pilotAttributeType 53}
850 #
851 attributetype ( 0.9.2342.19200300.100.1.53 NAME 'personalSignature'
852         DESC 'RFC1274: Personal Signature (G3 fax)'
853         SYNTAX 1.3.6.1.4.1.1466.115.121.1.23 )
854
855 # 9.3.44.  DIT Redirect
856 #
857 #  The DIT Redirect attribute type is used to indicate that the object
858 #  described by one entry now has a newer entry in the DIT.  The entry
859 #  containing the redirection attribute should be expired after a
860 #  suitable grace period.  This attribute may be used when an individual
861 #  changes his/her place of work, and thus acquires a new organisational
862 #  DN.
863 #
864 #    dITRedirect ATTRIBUTE
865 #        WITH ATTRIBUTE-SYNTAX
866 #            distinguishedNameSyntax
867 #    ::= {pilotAttributeType 54}
868 #
869 attributetype ( 0.9.2342.19200300.100.1.54 NAME 'dITRedirect'
870         DESC 'RFC1274: DIT Redirect'
871         EQUALITY distinguishedNameMatch
872         SYNTAX 1.3.6.1.4.1.1466.115.121.1.12 )
873
874 # 9.3.45.  Audio
875 #
876 #  The Audio attribute type allows the storing of sounds in the
877 #  Directory.  The attribute uses a u-law encoded sound file as used by
878 #  the "play" utility on a Sun 4.  This is an interim format.
879 #
880 #    audio ATTRIBUTE
881 #        WITH ATTRIBUTE-SYNTAX
882 #            Audio
883 #        (SIZE (1 .. ub-audio))
884 #    ::= {pilotAttributeType 55}
885 #
886 attributetype ( 0.9.2342.19200300.100.1.55 NAME 'audio'
887         DESC 'RFC1274: audio (u-law)'
888         SYNTAX 1.3.6.1.4.1.1466.115.121.1.4{25000} )
889
890 # 9.3.46.  Publisher of Document
891 #
892 #
893 #  The Publisher of Document attribute is the person and/or organization
894 #  that published a document.
895 #
896 #    documentPublisher ATTRIBUTE
897 #            WITH ATTRIBUTE SYNTAX caseIgnoreStringSyntax
898 #    ::= {pilotAttributeType 56}
899 #
900 attributetype ( 0.9.2342.19200300.100.1.56 NAME 'documentPublisher'
901         DESC 'RFC1274: publisher of document'
902         EQUALITY caseIgnoreMatch
903         SUBSTR caseIgnoreSubstringsMatch
904         SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 )
905
906 # 9.4.  Generally useful syntaxes
907 #
908 #    caseIgnoreIA5StringSyntax ATTRIBUTE-SYNTAX
909 #            IA5String
910 #            MATCHES FOR EQUALITY SUBSTRINGS
911 #
912 #    iA5StringSyntax ATTRIBUTE-SYNTAX
913 #        IA5String
914 #        MATCHES FOR EQUALITY SUBSTRINGS
915 #
916 #
917 #    -- Syntaxes to support the DNS attributes
918 #
919 #    DNSRecordSyntax ATTRIBUTE-SYNTAX
920 #            IA5String
921 #            MATCHES FOR EQUALITY
922 #
923 #
924 #    NRSInformationSyntax ATTRIBUTE-SYNTAX
925 #            NRSInformation
926 #            MATCHES FOR EQUALITY
927 #
928 #
929 #    NRSInformation ::=  SET {
930 #                    [0] Context,
931 #                    [1] Address-space-id,
932 #                    routes [2] SEQUENCE OF SEQUENCE {
933 #                    Route-cost,
934 #                    Addressing-info }
935 #            }
936 #
937 #
938 # 9.5.  Upper bounds on length of attribute values
939 #
940 #
941 #    ub-document-identifier INTEGER ::= 256
942 #
943 #    ub-document-location INTEGER ::= 256
944 #
945 #    ub-document-title INTEGER ::= 256
946 #
947 #    ub-document-version INTEGER ::= 256
948 #
949 #    ub-favourite-drink INTEGER ::= 256
950 #
951 #    ub-host INTEGER ::= 256
952 #
953 #    ub-information INTEGER ::= 2048
954 #
955 #    ub-unique-identifier INTEGER ::= 256
956 #
957 #    ub-personal-title INTEGER ::= 256
958 #
959 #    ub-photo INTEGER ::= 250000
960 #
961 #    ub-rfc822-mailbox INTEGER ::= 256
962 #
963 #    ub-room-number INTEGER ::= 256
964 #
965 #    ub-text-or-address INTEGER ::= 256
966 #
967 #    ub-user-class INTEGER ::= 256
968 #
969 #    ub-user-identifier INTEGER ::= 256
970 #
971 #    ub-organizational-status INTEGER ::= 256
972 #
973 #    ub-janet-mailbox INTEGER ::= 256
974 #
975 #    ub-building-name INTEGER ::= 256
976 #
977 #    ub-personal-signature ::= 50000
978 #
979 #    ub-audio INTEGER ::= 250000
980 #
981
982 # [back to 8]
983 # 8.  Object Classes
984 #
985 # 8.1.  X.500 standard object classes
986 #
987 #  A number of generally useful object classes are defined in X.521, and
988 #  these are supported.  Refer to that document for descriptions of the
989 #  suggested usage of these object classes.  The ASN.1 for these object
990 #  classes is reproduced for completeness in Appendix C.
991 #
992 # 8.2.  X.400 standard object classes
993 #
994 #  A number of object classes defined in X.400 are supported.  Refer to
995 #  X.402 for descriptions of the usage of these object classes.  The
996 #  ASN.1 for these object classes is reproduced for completeness in
997 #  Appendix C.
998 #
999 # 8.3.  COSINE/Internet object classes
1000 #
1001 #  This section attempts to fuse together the object classes designed
1002 #  for use in the COSINE and Internet pilot activities.  Descriptions
1003 #  are given of the suggested usage of these object classes.  The ASN.1
1004 #  for these object classes is also reproduced in Appendix C.
1005 #
1006 # 8.3.1.  Pilot Object
1007 #
1008 #  The PilotObject object class is used as a sub-class to allow some
1009 #  common, useful attributes to be assigned to entries of all other
1010 #  object classes.
1011 #
1012 #    pilotObject OBJECT-CLASS
1013 #        SUBCLASS OF top
1014 #        MAY CONTAIN {
1015 #            info,
1016 #            photo,
1017 #            manager,
1018 #            uniqueIdentifier,
1019 #            lastModifiedTime,
1020 #            lastModifiedBy,
1021 #            dITRedirect,
1022 #            audio}
1023 #    ::= {pilotObjectClass 3}
1024 #
1025 #objectclass ( 0.9.2342.19200300.100.4.3 NAME 'pilotObject'
1026 #       DESC 'RFC1274: pilot object'
1027 #       SUP top AUXILIARY
1028 #       MAY ( info $ photo $ manager $ uniqueIdentifier $
1029 #               lastModifiedTime $ lastModifiedBy $ dITRedirect $ audio )
1030 #       )
1031
1032 # 8.3.2.  Pilot Person
1033 #
1034 #  The PilotPerson object class is used as a sub-class of person, to
1035 #  allow the use of a number of additional attributes to be assigned to
1036 #  entries of object class person.
1037 #
1038 #    pilotPerson OBJECT-CLASS
1039 #        SUBCLASS OF person
1040 #        MAY CONTAIN {
1041 #                    userid,
1042 #                    textEncodedORAddress,
1043 #                    rfc822Mailbox,
1044 #                    favouriteDrink,
1045 #                    roomNumber,
1046 #                    userClass,
1047 #                    homeTelephoneNumber,
1048 #                    homePostalAddress,
1049 #                    secretary,
1050 #                    personalTitle,
1051 #                    preferredDeliveryMethod,
1052 #                    businessCategory,
1053 #                    janetMailbox,
1054 #                    otherMailbox,
1055 #                    mobileTelephoneNumber,
1056 #                    pagerTelephoneNumber,
1057 #                    organizationalStatus,
1058 #                    mailPreferenceOption,
1059 #                    personalSignature}
1060 #    ::= {pilotObjectClass 4}
1061 #
1062 objectclass ( 0.9.2342.19200300.100.4.4
1063         NAME ( 'pilotPerson' 'newPilotPerson' )
1064         SUP person STRUCTURAL
1065         MAY ( userid $ textEncodedORAddress $ rfc822Mailbox $
1066                 favouriteDrink $ roomNumber $ userClass $
1067                 homeTelephoneNumber $ homePostalAddress $ secretary $
1068                 personalTitle $ preferredDeliveryMethod $ businessCategory $
1069                 janetMailbox $ otherMailbox $ mobileTelephoneNumber $
1070                 pagerTelephoneNumber $ organizationalStatus $
1071                 mailPreferenceOption $ personalSignature )
1072         )
1073
1074 # 8.3.3.  Account
1075 #
1076 #  The Account object class is used to define entries representing
1077 #  computer accounts.  The userid attribute should be used for naming
1078 #  entries of this object class.
1079 #
1080 #    account OBJECT-CLASS
1081 #        SUBCLASS OF top
1082 #        MUST CONTAIN {
1083 #            userid}
1084 #        MAY CONTAIN {
1085 #            description,
1086 #            seeAlso,
1087 #            localityName,
1088 #            organizationName,
1089 #            organizationalUnitName,
1090 #            host}
1091 #    ::= {pilotObjectClass 5}
1092 #
1093 objectclass ( 0.9.2342.19200300.100.4.5 NAME 'account'
1094         SUP top STRUCTURAL
1095         MUST userid
1096         MAY ( description $ seeAlso $ localityName $
1097                 organizationName $ organizationalUnitName $ host )
1098         )
1099
1100 # 8.3.4.  Document
1101 #
1102 #  The Document object class is used to define entries which represent
1103 #  documents.
1104 #
1105 #    document OBJECT-CLASS
1106 #        SUBCLASS OF top
1107 #        MUST CONTAIN {
1108 #            documentIdentifier}
1109 #        MAY CONTAIN {
1110 #            commonName,
1111 #            description,
1112 #            seeAlso,
1113 #            localityName,
1114 #            organizationName,
1115 #            organizationalUnitName,
1116 #            documentTitle,
1117 #            documentVersion,
1118 #            documentAuthor,
1119 #            documentLocation,
1120 #            documentPublisher}
1121 #    ::= {pilotObjectClass 6}
1122 #
1123 objectclass ( 0.9.2342.19200300.100.4.6 NAME 'document'
1124         SUP top STRUCTURAL
1125         MUST documentIdentifier
1126         MAY ( commonName $ description $ seeAlso $ localityName $
1127                 organizationName $ organizationalUnitName $
1128                 documentTitle $ documentVersion $ documentAuthor $
1129                 documentLocation $ documentPublisher )
1130         )
1131
1132 # 8.3.5.  Room
1133 #
1134 #  The Room object class is used to define entries representing rooms.
1135 #  The commonName attribute should be used for naming pentries of this
1136 #  object class.
1137 #
1138 #    room OBJECT-CLASS
1139 #        SUBCLASS OF top
1140 #        MUST CONTAIN {
1141 #            commonName}
1142 #        MAY CONTAIN {
1143 #            roomNumber,
1144 #            description,
1145 #            seeAlso,
1146 #            telephoneNumber}
1147 #    ::= {pilotObjectClass 7}
1148 #
1149 objectclass ( 0.9.2342.19200300.100.4.7 NAME 'room'
1150         SUP top STRUCTURAL
1151         MUST commonName
1152         MAY ( roomNumber $ description $ seeAlso $ telephoneNumber )
1153         )
1154
1155 # 8.3.6.  Document Series
1156 #
1157 #  The Document Series object class is used to define an entry which
1158 #  represents a series of documents (e.g., The Request For Comments
1159 #  papers).
1160 #
1161 #    documentSeries OBJECT-CLASS
1162 #        SUBCLASS OF top
1163 #        MUST CONTAIN {
1164 #            commonName}
1165 #        MAY CONTAIN {
1166 #            description,
1167 #            seeAlso,
1168 #            telephoneNumber,
1169 #            localityName,
1170 #            organizationName,
1171 #            organizationalUnitName}
1172 #    ::= {pilotObjectClass 9}
1173 #
1174 objectclass ( 0.9.2342.19200300.100.4.9 NAME 'documentSeries'
1175         SUP top STRUCTURAL
1176         MUST commonName
1177         MAY ( description $ seeAlso $ telephonenumber $
1178                 localityName $ organizationName $ organizationalUnitName )
1179         )
1180
1181 # 8.3.7.  Domain
1182 #
1183 #  The Domain object class is used to define entries which represent DNS
1184 #  or NRS domains.  The domainComponent attribute should be used for
1185 #  naming entries of this object class.  The usage of this object class
1186 #  is described in more detail in [3].
1187 #
1188 #    domain OBJECT-CLASS
1189 #        SUBCLASS OF top
1190 #        MUST CONTAIN {
1191 #            domainComponent}
1192 #        MAY CONTAIN {
1193 #            associatedName,
1194 #            organizationName,
1195 #            organizationalAttributeSet}
1196 #    ::= {pilotObjectClass 13}
1197 #
1198 objectclass ( 0.9.2342.19200300.100.4.13 NAME 'domain'
1199         SUP top STRUCTURAL
1200         MUST domainComponent
1201         MAY ( associatedName $ organizationName $ description $
1202                 businessCategory $ seeAlso $ searchGuide $ userPassword $
1203                 localityName $ stateOrProvinceName $ streetAddress $
1204                 physicalDeliveryOfficeName $ postalAddress $ postalCode $
1205                 postOfficeBox $ streetAddress $
1206                 facsimileTelephoneNumber $ internationalISDNNumber $
1207                 telephoneNumber $ teletexTerminalIdentifier $ telexNumber $
1208                 preferredDeliveryMethod $ destinationIndicator $
1209                 registeredAddress $ x121Address )
1210         )
1211
1212 # 8.3.8.  RFC822 Local Part
1213 #
1214 #  The RFC822 Local Part object class is used to define entries which
1215 #  represent the local part of RFC822 mail addresses.  This treats this
1216 #  part of an RFC822 address as a domain.  The usage of this object
1217 #  class is described in more detail in [3].
1218 #
1219 #    rFC822localPart OBJECT-CLASS
1220 #        SUBCLASS OF domain
1221 #        MAY CONTAIN {
1222 #            commonName,
1223 #            surname,
1224 #            description,
1225 #            seeAlso,
1226 #            telephoneNumber,
1227 #            postalAttributeSet,
1228 #            telecommunicationAttributeSet}
1229 #    ::= {pilotObjectClass 14}
1230 #
1231 objectclass ( 0.9.2342.19200300.100.4.14 NAME 'RFC822localPart'
1232         SUP domain STRUCTURAL
1233         MAY ( commonName $ surname $ description $ seeAlso $ telephoneNumber $
1234                 physicalDeliveryOfficeName $ postalAddress $ postalCode $
1235                 postOfficeBox $ streetAddress $
1236                 facsimileTelephoneNumber $ internationalISDNNumber $
1237                 telephoneNumber $ teletexTerminalIdentifier $
1238                 telexNumber $ preferredDeliveryMethod $ destinationIndicator $
1239                 registeredAddress $ x121Address )
1240         )
1241
1242 # 8.3.9.  DNS Domain
1243 #
1244 #  The DNS Domain (Domain NameServer) object class is used to define
1245 #  entries for DNS domains.  The usage of this object class is described
1246 #  in more detail in [3].
1247 #
1248 #    dNSDomain OBJECT-CLASS
1249 #        SUBCLASS OF domain
1250 #        MAY CONTAIN {
1251 #            ARecord,
1252 #            MDRecord,
1253 #            MXRecord,
1254 #            NSRecord,
1255 #            SOARecord,
1256 #            CNAMERecord}
1257 #    ::= {pilotObjectClass 15}
1258 #
1259 objectclass ( 0.9.2342.19200300.100.4.15 NAME 'dNSDomain'
1260         SUP 'domain' STRUCTURAL
1261         MAY ( ARecord $ MDRecord $ MXRecord $ NSRecord $
1262                 SOARecord $ CNAMERecord )
1263         )
1264
1265 # 8.3.10.  Domain Related Object
1266 #
1267 #  The Domain Related Object object class is used to define entries
1268 #  which represent DNS/NRS domains which are "equivalent" to an X.500
1269 #  domain: e.g., an organisation or organisational unit.  The usage of
1270 #  this object class is described in more detail in [3].
1271 #
1272 #    domainRelatedObject OBJECT-CLASS
1273 #        SUBCLASS OF top
1274 #        MUST CONTAIN {
1275 #            associatedDomain}
1276 #    ::= {pilotObjectClass 17}
1277 #
1278 objectclass ( 0.9.2342.19200300.100.4.17 NAME 'domainRelatedObject'
1279         DESC 'RFC1274: an object related to an domain'
1280         SUP top AUXILIARY
1281         MUST associatedDomain )
1282
1283 # 8.3.11.  Friendly Country
1284 #
1285 #  The Friendly Country object class is used to define country entries
1286 #  in the DIT.  The object class is used to allow friendlier naming of
1287 #  countries than that allowed by the object class country.  The naming
1288 #  attribute of object class country, countryName, has to be a 2 letter
1289 #  string defined in ISO 3166.
1290 #
1291 #    friendlyCountry OBJECT-CLASS
1292 #        SUBCLASS OF country
1293 #        MUST CONTAIN {
1294 #            friendlyCountryName}
1295 #    ::= {pilotObjectClass 18}
1296 #
1297 objectclass ( 0.9.2342.19200300.100.4.18 NAME 'friendlyCountry'
1298         SUP country STRUCTURAL
1299         MUST friendlyCountryName )
1300
1301 # 8.3.12.  Simple Security Object
1302 #
1303 #  The Simple Security Object object class is used to allow an entry to
1304 #  have a userPassword attribute when an entry's principal object
1305 #  classes do not allow userPassword as an attribute type.
1306 #
1307 #    simpleSecurityObject OBJECT-CLASS
1308 #        SUBCLASS OF top
1309 #        MUST CONTAIN {
1310 #            userPassword }
1311 #    ::= {pilotObjectClass 19}
1312 #
1313 ## (in core.schema)
1314 ## objectclass ( 0.9.2342.19200300.100.4.19 NAME 'simpleSecurityObject'
1315 ##      SUP top AUXILIARY
1316 ##      MUST userPassword )
1317
1318 # 8.3.13.  Pilot Organization
1319 #
1320 #  The PilotOrganization object class is used as a sub-class of
1321 #  organization and organizationalUnit to allow a number of additional
1322 #  attributes to be assigned to entries of object classes organization
1323 #  and organizationalUnit.
1324 #
1325 #    pilotOrganization OBJECT-CLASS
1326 #        SUBCLASS OF organization, organizationalUnit
1327 #        MAY CONTAIN {
1328 #                    buildingName}
1329 #    ::= {pilotObjectClass 20}
1330 #
1331 objectclass ( 0.9.2342.19200300.100.4.20 NAME 'pilotOrganization'
1332         SUP ( organization $ organizationalUnit ) STRUCTURAL
1333         MAY buildingName )
1334
1335 # 8.3.14.  Pilot DSA
1336 #
1337 #  The PilotDSA object class is used as a sub-class of the dsa object
1338 #  class to allow additional attributes to be assigned to entries for
1339 #  DSAs.
1340 #
1341 #    pilotDSA OBJECT-CLASS
1342 #        SUBCLASS OF dsa
1343 #        MUST CONTAIN {
1344 #            dSAQuality}
1345 #    ::= {pilotObjectClass 21}
1346 #
1347 objectclass ( 0.9.2342.19200300.100.4.21 NAME 'pilotDSA'
1348         SUP dsa STRUCTURAL
1349         MAY dSAQuality )
1350
1351 # 8.3.15.  Quality Labelled Data
1352 #
1353 #  The Quality Labelled Data object class is used to allow the
1354 #  assignment of the data quality attributes to subtrees in the DIT.
1355 #
1356 #  See [8] for more details.
1357 #
1358 #    qualityLabelledData OBJECT-CLASS
1359 #        SUBCLASS OF top
1360 #        MUST CONTAIN {
1361 #            dSAQuality}
1362 #        MAY CONTAIN {
1363 #            subtreeMinimumQuality,
1364 #            subtreeMaximumQuality}
1365 #    ::= {pilotObjectClass 22}
1366 objectclass ( 0.9.2342.19200300.100.4.22 NAME 'qualityLabelledData'
1367         SUP top AUXILIARY
1368         MUST dsaQuality
1369         MAY ( subtreeMinimumQuality $ subtreeMaximumQuality )
1370         )
1371
1372
1373 # References
1374 #
1375 #    [1]  CCITT/ISO, "X.500, The Directory - overview of concepts,
1376 #         models and services, CCITT /ISO IS 9594.
1377 #
1378 #    [2]  Kille, S., "The THORN and RARE X.500 Naming Architecture, in
1379 #         University College London, Department of Computer Science
1380 #         Research Note 89/48, May 1989.
1381 #
1382 #    [3]  Kille, S., "X.500 and Domains", RFC 1279, University College
1383 #         London, November 1991.
1384 #
1385 #    [4]  Rose, M., "PSI/NYSERNet White Pages Pilot Project: Status
1386 #         Report", Technical Report 90-09-10-1, published by NYSERNet
1387 #         Inc, 1990.
1388 #
1389 #    [5]  Craigie, J., "UK Academic Community Directory Service Pilot
1390 #         Project, pp. 305-310 in Computer Networks and ISDN Systems
1391 #         17 (1989), published by North Holland.
1392 #
1393 #    [6]  Mockapetris, P., "Domain Names - Concepts and Facilities",
1394 #         RFC 1034, USC/Information Sciences Institute, November 1987.
1395 #
1396 #    [7]  Mockapetris, P., "Domain Names - Implementation and
1397 #         Specification, RFC 1035, USC/Information Sciences Institute,
1398 #         November 1987.
1399 #
1400 #    [8]  Kille, S., "Handling QOS (Quality of service) in the
1401 #         Directory," publication in process, March 1991.
1402 #
1403 #
1404 # APPENDIX C - Summary of all Object Classes and Attribute Types
1405 #
1406 #    -- Some Important Object Identifiers
1407 #
1408 #    data OBJECT IDENTIFIER ::= {ccitt 9}
1409 #    pss OBJECT IDENTIFIER ::= {data 2342}
1410 #    ucl OBJECT IDENTIFIER ::= {pss 19200300}
1411 #    pilot OBJECT IDENTIFIER ::= {ucl 100}
1412 #
1413 #    pilotAttributeType OBJECT IDENTIFIER ::= {pilot 1}
1414 #    pilotAttributeSyntax OBJECT IDENTIFIER ::= {pilot 3}
1415 #    pilotObjectClass OBJECT IDENTIFIER ::= {pilot 4}
1416 #    pilotGroups OBJECT IDENTIFIER ::= {pilot 10}
1417 #
1418 #    iA5StringSyntax OBJECT IDENTIFIER ::= {pilotAttributeSyntax 4}
1419 #    caseIgnoreIA5StringSyntax OBJECT IDENTIFIER ::=
1420 #                                          {pilotAttributeSyntax 5}
1421 #
1422 #    -- Standard Object Classes
1423 #
1424 #    top OBJECT-CLASS
1425 #        MUST CONTAIN {
1426 #            objectClass}
1427 #    ::= {objectClass 0}
1428 #
1429 #
1430 #    alias OBJECT-CLASS
1431 #        SUBCLASS OF top
1432 #        MUST CONTAIN {
1433 #            aliasedObjectName}
1434 #    ::= {objectClass 1}
1435 #
1436 #
1437 #    country OBJECT-CLASS
1438 #        SUBCLASS OF top
1439 #        MUST CONTAIN {
1440 #            countryName}
1441 #        MAY CONTAIN {
1442 #            description,
1443 #            searchGuide}
1444 #    ::= {objectClass 2}
1445 #
1446 #
1447 #    locality OBJECT-CLASS
1448 #        SUBCLASS OF top
1449 #        MAY CONTAIN {
1450 #            description,
1451 #            localityName,
1452 #            stateOrProvinceName,
1453 #            searchGuide,
1454 #            seeAlso,
1455 #            streetAddress}
1456 #    ::= {objectClass 3}
1457 #
1458 #
1459 #    organization OBJECT-CLASS
1460 #        SUBCLASS OF top
1461 #        MUST CONTAIN {
1462 #            organizationName}
1463 #        MAY CONTAIN {
1464 #            organizationalAttributeSet}
1465 #    ::= {objectClass 4}
1466 #
1467 #
1468 #    organizationalUnit OBJECT-CLASS
1469 #        SUBCLASS OF top
1470 #        MUST CONTAIN {
1471 #            organizationalUnitName}
1472 #        MAY CONTAIN {
1473 #            organizationalAttributeSet}
1474 #    ::= {objectClass 5}
1475 #
1476 #
1477 #    person OBJECT-CLASS
1478 #        SUBCLASS OF top
1479 #        MUST CONTAIN {
1480 #            commonName,
1481 #            surname}
1482 #        MAY CONTAIN {
1483 #            description,
1484 #            seeAlso,
1485 #            telephoneNumber,
1486 #            userPassword}
1487 #    ::= {objectClass 6}
1488 #
1489 #
1490 #    organizationalPerson OBJECT-CLASS
1491 #        SUBCLASS OF person
1492 #        MAY CONTAIN {
1493 #            localeAttributeSet,
1494 #            organizationalUnitName,
1495 #            postalAttributeSet,
1496 #            telecommunicationAttributeSet,
1497 #            title}
1498 #    ::= {objectClass 7}
1499 #
1500 #
1501 #    organizationalRole OBJECT-CLASS
1502 #        SUBCLASS OF top
1503 #        MUST CONTAIN {
1504 #            commonName}
1505 #        MAY CONTAIN {
1506 #            description,
1507 #            localeAttributeSet,
1508 #            organizationalUnitName,
1509 #            postalAttributeSet,
1510 #            preferredDeliveryMethod,
1511 #            roleOccupant,
1512 #            seeAlso,
1513 #            telecommunicationAttributeSet}
1514 #    ::= {objectClass 8}
1515 #
1516 #
1517 #    groupOfNames OBJECT-CLASS
1518 #        SUBCLASS OF top
1519 #        MUST CONTAIN {
1520 #            commonName,
1521 #            member}
1522 #        MAY CONTAIN {
1523 #            description,
1524 #            organizationName,
1525 #            organizationalUnitName,
1526 #            owner,
1527 #            seeAlso,
1528 #            businessCategory}
1529 #    ::= {objectClass 9}
1530 #
1531 #
1532 #    residentialPerson OBJECT-CLASS
1533 #        SUBCLASS OF person
1534 #        MUST CONTAIN {
1535 #            localityName}
1536 #        MAY CONTAIN {
1537 #            localeAttributeSet,
1538 #            postalAttributeSet,
1539 #            preferredDeliveryMethod,
1540 #            telecommunicationAttributeSet,
1541 #            businessCategory}
1542 #    ::= {objectClass 10}
1543 #
1544 #
1545 #    applicationProcess OBJECT-CLASS
1546 #        SUBCLASS OF top
1547 #        MUST CONTAIN {
1548 #            commonName}
1549 #        MAY CONTAIN {
1550 #            description,
1551 #            localityName,
1552 #            organizationalUnitName,
1553 #            seeAlso}
1554 #    ::= {objectClass 11}
1555 #
1556 #
1557 #    applicationEntity OBJECT-CLASS
1558 #        SUBCLASS OF top
1559 #        MUST CONTAIN {
1560 #            commonName,
1561 #            presentationAddress}
1562 #        MAY CONTAIN {
1563 #            description,
1564 #            localityName,
1565 #            organizationName,
1566 #            organizationalUnitName,
1567 #            seeAlso,
1568 #            supportedApplicationContext}
1569 #    ::= {objectClass 12}
1570 #
1571 #
1572 #    dSA OBJECT-CLASS
1573 #        SUBCLASS OF applicationEntity
1574 #        MAY CONTAIN {
1575 #            knowledgeInformation}
1576 #    ::= {objectClass 13}
1577 #
1578 #
1579 #    device OBJECT-CLASS
1580 #        SUBCLASS OF top
1581 #        MUST CONTAIN {
1582 #            commonName}
1583 #        MAY CONTAIN {
1584 #            description,
1585 #            localityName,
1586 #            organizationName,
1587 #            organizationalUnitName,
1588 #            owner,
1589 #            seeAlso,
1590 #            serialNumber}
1591 #    ::= {objectClass 14}
1592 #
1593 #
1594 #    strongAuthenticationUser OBJECT-CLASS
1595 #        SUBCLASS OF top
1596 #        MUST CONTAIN {
1597 #            userCertificate}
1598 #    ::= {objectClass 15}
1599 #
1600 #
1601 #    certificationAuthority OBJECT-CLASS
1602 #        SUBCLASS OF top
1603 #        MUST CONTAIN {
1604 #            cACertificate,
1605 #            certificateRevocationList,
1606 #            authorityRevocationList}
1607 #        MAY CONTAIN {
1608 #            crossCertificatePair}
1609 #    ::= {objectClass 16}
1610 #
1611 #    -- Standard MHS Object Classes
1612 #
1613 #    mhsDistributionList OBJECT-CLASS
1614 #        SUBCLASS OF top
1615 #        MUST CONTAIN {
1616 #            commonName,
1617 #            mhsDLSubmitPermissions,
1618 #            mhsORAddresses}
1619 #        MAY CONTAIN {
1620 #            description,
1621 #            organizationName,
1622 #            organizationalUnitName,
1623 #            owner,
1624 #            seeAlso,
1625 #            mhsDeliverableContentTypes,
1626 #            mhsdeliverableEits,
1627 #            mhsDLMembers,
1628 #            mhsPreferredDeliveryMethods}
1629 #    ::= {mhsObjectClass 0}
1630 #
1631 #
1632 #    mhsMessageStore OBJECT-CLASS
1633 #        SUBCLASS OF applicationEntity
1634 #        MAY CONTAIN {
1635 #            description,
1636 #            owner,
1637 #            mhsSupportedOptionalAttributes,
1638 #            mhsSupportedAutomaticActions,
1639 #            mhsSupportedContentTypes}
1640 #    ::= {mhsObjectClass 1}
1641 #
1642 #
1643 #    mhsMessageTransferAgent OBJECT-CLASS
1644 #        SUBCLASS OF applicationEntity
1645 #        MAY CONTAIN {
1646 #            description,
1647 #            owner,
1648 #            mhsDeliverableContentLength}
1649 #    ::= {mhsObjectClass 2}
1650 #
1651 #
1652 #    mhsOrganizationalUser OBJECT-CLASS
1653 #        SUBCLASS OF organizationalPerson
1654 #        MUST CONTAIN {
1655 #            mhsORAddresses}
1656 #        MAY CONTAIN {
1657 #            mhsDeliverableContentLength,
1658 #            mhsDeliverableContentTypes,
1659 #            mhsDeliverableEits,
1660 #            mhsMessageStoreName,
1661 #            mhsPreferredDeliveryMethods }
1662 #    ::= {mhsObjectClass 3}
1663 #
1664 #
1665 #    mhsResidentialUser OBJECT-CLASS
1666 #        SUBCLASS OF residentialPerson
1667 #        MUST CONTAIN {
1668 #            mhsORAddresses}
1669 #        MAY CONTAIN {
1670 #            mhsDeliverableContentLength,
1671 #            mhsDeliverableContentTypes,
1672 #            mhsDeliverableEits,
1673 #            mhsMessageStoreName,
1674 #            mhsPreferredDeliveryMethods }
1675 #    ::= {mhsObjectClass 4}
1676 #
1677 #
1678 #    mhsUserAgent OBJECT-CLASS
1679 #        SUBCLASS OF applicationEntity
1680 #        MAY CONTAIN {
1681 #            mhsDeliverableContentLength,
1682 #            mhsDeliverableContentTypes,
1683 #            mhsDeliverableEits,
1684 #            mhsORAddresses,
1685 #            owner}
1686 #    ::= {mhsObjectClass 5}
1687 #
1688 #
1689 #
1690 #
1691 #    -- Pilot Object Classes
1692 #
1693 #    pilotObject OBJECT-CLASS
1694 #        SUBCLASS OF top
1695 #        MAY CONTAIN {
1696 #            info,
1697 #            photo,
1698 #            manager,
1699 #            uniqueIdentifier,
1700 #            lastModifiedTime,
1701 #            lastModifiedBy,
1702 #            dITRedirect,
1703 #            audio}
1704 #    ::= {pilotObjectClass 3}
1705 #    pilotPerson OBJECT-CLASS
1706 #        SUBCLASS OF person
1707 #        MAY CONTAIN {
1708 #                    userid,
1709 #                    textEncodedORAddress,
1710 #                    rfc822Mailbox,
1711 #                    favouriteDrink,
1712 #                    roomNumber,
1713 #                    userClass,
1714 #                    homeTelephoneNumber,
1715 #                    homePostalAddress,
1716 #                    secretary,
1717 #                    personalTitle,
1718 #                    preferredDeliveryMethod,
1719 #                    businessCategory,
1720 #                    janetMailbox,
1721 #                    otherMailbox,
1722 #                    mobileTelephoneNumber,
1723 #                    pagerTelephoneNumber,
1724 #                    organizationalStatus,
1725 #                    mailPreferenceOption,
1726 #                    personalSignature}
1727 #    ::= {pilotObjectClass 4}
1728 #
1729 #
1730 #    account OBJECT-CLASS
1731 #        SUBCLASS OF top
1732 #        MUST CONTAIN {
1733 #            userid}
1734 #        MAY CONTAIN {
1735 #            description,
1736 #            seeAlso,
1737 #            localityName,
1738 #            organizationName,
1739 #            organizationalUnitName,
1740 #            host}
1741 #    ::= {pilotObjectClass 5}
1742 #
1743 #
1744 #    document OBJECT-CLASS
1745 #        SUBCLASS OF top
1746 #        MUST CONTAIN {
1747 #            documentIdentifier}
1748 #        MAY CONTAIN {
1749 #            commonName,
1750 #            description,
1751 #            seeAlso,
1752 #            localityName,
1753 #            organizationName,
1754 #            organizationalUnitName,
1755 #            documentTitle,
1756 #            documentVersion,
1757 #            documentAuthor,
1758 #            documentLocation,
1759 #            documentPublisher}
1760 #    ::= {pilotObjectClass 6}
1761 #
1762 #
1763 #    room OBJECT-CLASS
1764 #        SUBCLASS OF top
1765 #        MUST CONTAIN {
1766 #            commonName}
1767 #        MAY CONTAIN {
1768 #            roomNumber,
1769 #            description,
1770 #            seeAlso,
1771 #            telephoneNumber}
1772 #    ::= {pilotObjectClass 7}
1773 #
1774 #
1775 #    documentSeries OBJECT-CLASS
1776 #        SUBCLASS OF top
1777 #        MUST CONTAIN {
1778 #            commonName}
1779 #        MAY CONTAIN {
1780 #            description,
1781 #            seeAlso,
1782 #            telephoneNumber,
1783 #            localityName,
1784 #            organizationName,
1785 #            organizationalUnitName}
1786 #    ::= {pilotObjectClass 9}
1787 #
1788 #
1789 #    domain OBJECT-CLASS
1790 #        SUBCLASS OF top
1791 #        MUST CONTAIN {
1792 #            domainComponent}
1793 #        MAY CONTAIN {
1794 #            associatedName,
1795 #            organizationName,
1796 #            organizationalAttributeSet}
1797 #    ::= {pilotObjectClass 13}
1798 #
1799 #
1800 #    rFC822localPart OBJECT-CLASS
1801 #        SUBCLASS OF domain
1802 #        MAY CONTAIN {
1803 #            commonName,
1804 #            surname,
1805 #            description,
1806 #            seeAlso,
1807 #            telephoneNumber,
1808 #            postalAttributeSet,
1809 #            telecommunicationAttributeSet}
1810 #    ::= {pilotObjectClass 14}
1811 #
1812 #
1813 #    dNSDomain OBJECT-CLASS
1814 #        SUBCLASS OF domain
1815 #        MAY CONTAIN {
1816 #            ARecord,
1817 #            MDRecord,
1818 #            MXRecord,
1819 #            NSRecord,
1820 #            SOARecord,
1821 #            CNAMERecord}
1822 #    ::= {pilotObjectClass 15}
1823 #
1824 #
1825 #    domainRelatedObject OBJECT-CLASS
1826 #        SUBCLASS OF top
1827 #        MUST CONTAIN {
1828 #            associatedDomain}
1829 #    ::= {pilotObjectClass 17}
1830 #
1831 #
1832 #    friendlyCountry OBJECT-CLASS
1833 #        SUBCLASS OF country
1834 #        MUST CONTAIN {
1835 #            friendlyCountryName}
1836 #    ::= {pilotObjectClass 18}
1837 #
1838 #
1839 #    simpleSecurityObject OBJECT-CLASS
1840 #        SUBCLASS OF top
1841 #        MUST CONTAIN {
1842 #            userPassword }
1843 #    ::= {pilotObjectClass 19}
1844 #
1845 #
1846 #    pilotOrganization OBJECT-CLASS
1847 #        SUBCLASS OF organization, organizationalUnit
1848 #        MAY CONTAIN {
1849 #                    buildingName}
1850 #    ::= {pilotObjectClass 20}
1851 #
1852 #
1853 #    pilotDSA OBJECT-CLASS
1854 #        SUBCLASS OF dsa
1855 #        MUST CONTAIN {
1856 #            dSAQuality}
1857 #    ::= {pilotObjectClass 21}
1858 #
1859 #
1860 #    qualityLabelledData OBJECT-CLASS
1861 #        SUBCLASS OF top
1862 #        MUST CONTAIN {
1863 #            dSAQuality}
1864 #        MAY CONTAIN {
1865 #            subtreeMinimumQuality,
1866 #            subtreeMaximumQuality}
1867 #    ::= {pilotObjectClass 22}
1868 #
1869 #
1870 #
1871 #
1872 #    -- Standard Attribute Types
1873 #
1874 #    objectClass ObjectClass
1875 #        ::= {attributeType 0}
1876 #
1877 #
1878 #    aliasedObjectName AliasedObjectName
1879 #        ::= {attributeType 1}
1880 #
1881 #
1882 #    knowledgeInformation ATTRIBUTE
1883 #        WITH ATTRIBUTE-SYNTAX caseIgnoreString
1884 #        ::= {attributeType 2}
1885 #
1886 #
1887 #    commonName ATTRIBUTE
1888 #        WITH ATTRIBUTE-SYNTAX caseIgnoreStringSyntax
1889 #        (SIZE (1..ub-common-name))
1890 #        ::= {attributeType 3}
1891 #
1892 #
1893 #    surname ATTRIBUTE
1894 #        WITH ATTRIBUTE-SYNTAX caseIgnoreStringSyntax
1895 #        (SIZE (1..ub-surname))
1896 #        ::= {attributeType 4}
1897 #
1898 #
1899 #    serialNumber ATTRIBUTE
1900 #        WITH ATTRIBUTE-SYNTAX printableStringSyntax
1901 #        (SIZE (1..ub-serial-number))
1902 #        ::= {attributeType 5}
1903 #
1904 #
1905 #    countryName ATTRIBUTE
1906 #        WITH ATTRIBUTE-SYNTAX PrintableString
1907 #        (SIZE (1..ub-country-code))
1908 #        SINGLE VALUE
1909 #        ::= {attributeType 6}
1910 #
1911 #
1912 #    localityName ATTRIBUTE
1913 #        WITH ATTRIBUTE-SYNTAX caseIgnoreStringSyntax
1914 #        (SIZE (1..ub-locality-name))
1915 #        ::= {attributeType 7}
1916 #
1917 #
1918 #    stateOrProvinceName ATTRIBUTE
1919 #        WITH ATTRIBUTE-SYNTAX caseIgnoreStringSyntax
1920 #        (SIZE (1..ub-state-name))
1921 #        ::= {attributeType 8}
1922 #
1923 #
1924 #    streetAddress ATTRIBUTE
1925 #        WITH ATTRIBUTE-SYNTAX caseIgnoreStringSyntax
1926 #        (SIZE (1..ub-street-address))
1927 #        ::= {attributeType 9}
1928 #
1929 #
1930 #    organizationName ATTRIBUTE
1931 #        WITH ATTRIBUTE-SYNTAX caseIgnoreStringSyntax
1932 #        (SIZE (1..ub-organization-name))
1933 #        ::= {attributeType 10}
1934 #
1935 #
1936 #    organizationalUnitName ATTRIBUTE
1937 #        WITH ATTRIBUTE-SYNTAX caseIgnoreStringSyntax
1938 #        (SIZE (1..ub-organizational-unit-name))
1939 #        ::= {attributeType 11}
1940 #
1941 #
1942 #    title ATTRIBUTE
1943 #        WITH ATTRIBUTE-SYNTAX caseIgnoreStringSyntax
1944 #        (SIZE (1..ub-title))
1945 #        ::= {attributeType 12}
1946 #
1947 #
1948 #    description ATTRIBUTE
1949 #        WITH ATTRIBUTE-SYNTAX caseIgnoreStringSyntax
1950 #        (SIZE (1..ub-description))
1951 #        ::= {attributeType 13}
1952 #
1953 #
1954 #    searchGuide ATTRIBUTE
1955 #        WITH ATTRIBUTE-SYNTAX Guide
1956 #        ::= {attributeType 14}
1957 #
1958 #
1959 #    businessCategory ATTRIBUTE
1960 #        WITH ATTRIBUTE-SYNTAX caseIgnoreStringSyntax
1961 #        (SIZE (1..ub-business-category))
1962 #        ::= {attributeType 15}
1963 #
1964 #
1965 #    postalAddress ATTRIBUTE
1966 #        WITH ATTRIBUTE-SYNTAX PostalAddress
1967 #        MATCHES FOR EQUALITY
1968 #        ::= {attributeType 16}
1969 #
1970 #
1971 #    postalCode ATTRIBUTE
1972 #        WITH ATTRIBUTE-SYNTAX caseIgnoreStringSyntax
1973 #        (SIZE (1..ub-postal-code))
1974 #        ::= {attributeType 17}
1975 #
1976 #
1977 #    postOfficeBox ATTRIBUTE
1978 #        WITH ATTRIBUTE-SYNTAX caseIgnoreStringSyntax
1979 #        (SIZE (1..ub-post-office-box))
1980 #        ::= {attributeType 18}
1981 #
1982 #
1983 #    physicalDeliveryOfficeName ATTRIBUTE
1984 #        WITH ATTRIBUTE-SYNTAX caseIgnoreStringSyntax
1985 #        (SIZE (1..ub-physical-office-name))
1986 #        ::= {attributeType 19}
1987 #
1988 #
1989 #    telephoneNumber ATTRIBUTE
1990 #        WITH ATTRIBUTE-SYNTAX telephoneNumberSyntax
1991 #        (SIZE (1..ub-telephone-number))
1992 #        ::= {attributeType 20}
1993 #
1994 #
1995 #    telexNumber ATTRIBUTE
1996 #        WITH ATTRIBUTE-SYNTAX TelexNumber
1997 #        (SIZE (1..ub-telex))
1998 #        ::= {attributeType 21}
1999 #
2000 #
2001 #    teletexTerminalIdentifier ATTRIBUTE
2002 #        WITH ATTRIBUTE-SYNTAX TeletexTerminalIdentifier
2003 #        (SIZE (1..ub-teletex-terminal-id))
2004 #        ::= {attributeType 22}
2005 #
2006 #
2007 #    facsimileTelephoneNumber ATTRIBUTE
2008 #        WITH ATTRIBUTE-SYNTAX FacsimileTelephoneNumber
2009 #        ::= {attributeType 23}
2010 #
2011 #
2012 #    x121Address ATTRIBUTE
2013 #        WITH ATTRIBUTE-SYNTAX NumericString
2014 #        (SIZE (1..ub-x121-address))
2015 #        ::= {attributeType 24}
2016 #
2017 #
2018 #    internationaliSDNNumber ATTRIBUTE
2019 #        WITH ATTRIBUTE-SYNTAX NumericString
2020 #        (SIZE (1..ub-isdn-address))
2021 #        ::= {attributeType 25}
2022 #
2023 #
2024 #    registeredAddress ATTRIBUTE
2025 #        WITH ATTRIBUTE-SYNTAX PostalAddress
2026 #        ::= {attributeType 26}
2027 #
2028 #
2029 #    destinationIndicator ATTRIBUTE
2030 #        WITH ATTRIBUTE-SYNTAX PrintableString
2031 #        (SIZE (1..ub-destination-indicator))
2032 #        MATCHES FOR EQUALITY SUBSTRINGS
2033 #        ::= {attributeType 27}
2034 #
2035 #
2036 #    preferredDeliveryMethod ATTRIBUTE
2037 #        WITH ATTRIBUTE-SYNTAX deliveryMethod
2038 #        ::= {attributeType 28}
2039 #
2040 #
2041 #    presentationAddress ATTRIBUTE
2042 #        WITH ATTRIBUTE-SYNTAX PresentationAddress
2043 #        MATCHES FOR EQUALITY
2044 #        ::= {attributeType 29}
2045 #
2046 #
2047 #    supportedApplicationContext ATTRIBUTE
2048 #        WITH ATTRIBUTE-SYNTAX objectIdentifierSyntax
2049 #        ::= {attributeType 30}
2050 #
2051 #
2052 #    member ATTRIBUTE
2053 #        WITH ATTRIBUTE-SYNTAX distinguishedNameSyntax
2054 #        ::= {attributeType 31}
2055 #
2056 #
2057 #    owner ATTRIBUTE
2058 #        WITH ATTRIBUTE-SYNTAX distinguishedNameSyntax
2059 #        ::= {attributeType 32}
2060 #
2061 #
2062 #    roleOccupant ATTRIBUTE
2063 #        WITH ATTRIBUTE-SYNTAX distinguishedNameSyntax
2064 #        ::= {attributeType 33}
2065 #
2066 #
2067 #    seeAlso ATTRIBUTE
2068 #        WITH ATTRIBUTE-SYNTAX distinguishedNameSyntax
2069 #        ::= {attributeType 34}
2070 #
2071 #
2072 #    userPassword ATTRIBUTE
2073 #        WITH ATTRIBUTE-SYNTAX Userpassword
2074 #        ::= {attributeType 35}
2075 #
2076 #
2077 #    userCertificate ATTRIBUTE
2078 #        WITH ATTRIBUTE-SYNTAX UserCertificate
2079 #        ::= {attributeType 36}
2080 #
2081 #
2082 #    cACertificate ATTRIBUTE
2083 #        WITH ATTRIBUTE-SYNTAX cACertificate
2084 #        ::= {attributeType 37}
2085 #
2086 #
2087 #    authorityRevocationList ATTRIBUTE
2088 #        WITH ATTRIBUTE-SYNTAX AuthorityRevocationList
2089 #        ::= {attributeType 38}
2090 #
2091 #
2092 #    certificateRevocationList ATTRIBUTE
2093 #        WITH ATTRIBUTE-SYNTAX CertificateRevocationList
2094 #        ::= {attributeType 39}
2095 #
2096 #
2097 #    crossCertificatePair ATTRIBUTE
2098 #        WITH ATTRIBUTE-SYNTAX CrossCertificatePair
2099 #        ::= {attributeType 40}
2100 #
2101 #
2102 #
2103 #
2104 #    -- Standard MHS Attribute Types
2105 #
2106 #    mhsDeliverableContentLength ATTRIBUTE
2107 #        WITH ATTRIBUTE-SYNTAX integer
2108 #        ::= {mhsAttributeType 0}
2109 #
2110 #
2111 #    mhsDeliverableContentTypes ATTRIBUTE
2112 #        WITH ATTRIBUTE-SYNTAX oID
2113 #        ::= {mhsAttributeType 1}
2114 #
2115 #
2116 #    mhsDeliverableEits ATTRIBUTE
2117 #        WITH ATTRIBUTE-SYNTAX oID
2118 #        ::= {mhsAttributeType 2}
2119 #
2120 #
2121 #    mhsDLMembers ATTRIBUTE
2122 #        WITH ATTRIBUTE-SYNTAX oRName
2123 #        ::= {mhsAttributeType 3}
2124 #
2125 #
2126 #    mhsDLSubmitPermissions ATTRIBUTE
2127 #        WITH ATTRIBUTE-SYNTAX dLSubmitPermission
2128 #        ::= {mhsAttributeType 4}
2129 #
2130 #
2131 #    mhsMessageStoreName ATTRIBUTE
2132 #        WITH ATTRIBUTE-SYNTAX dN
2133 #        ::= {mhsAttributeType 5}
2134 #
2135 #
2136 #    mhsORAddresses ATTRIBUTE
2137 #        WITH ATTRIBUTE-SYNTAX oRAddress
2138 #        ::= {mhsAttributeType 6}
2139 #
2140 #
2141 #    mhsPreferredDeliveryMethods ATTRIBUTE
2142 #        WITH ATTRIBUTE-SYNTAX deliveryMethod
2143 #        ::= {mhsAttributeType 7}
2144 #
2145 #
2146 #    mhsSupportedAutomaticActions ATTRIBUTE
2147 #        WITH ATTRIBUTE-SYNTAX oID
2148 #        ::= {mhsAttributeType 8}
2149 #
2150 #
2151 #    mhsSupportedContentTypes ATTRIBUTE
2152 #
2153 #        WITH ATTRIBUTE-SYNTAX oID
2154 #        ::= {mhsAttributeType 9}
2155 #
2156 #
2157 #    mhsSupportedOptionalAttributes ATTRIBUTE
2158 #        WITH ATTRIBUTE-SYNTAX oID
2159 #        ::= {mhsAttributeType 10}
2160 #
2161 #
2162 #
2163 #
2164 #    -- Pilot Attribute Types
2165 #
2166 #    userid ATTRIBUTE
2167 #        WITH ATTRIBUTE-SYNTAX
2168 #            caseIgnoreStringSyntax
2169 #            (SIZE (1 .. ub-user-identifier))
2170 #    ::= {pilotAttributeType 1}
2171 #
2172 #
2173 #    textEncodedORAddress ATTRIBUTE
2174 #        WITH ATTRIBUTE-SYNTAX
2175 #            caseIgnoreStringSyntax
2176 #        (SIZE (1 .. ub-text-encoded-or-address))
2177 #    ::= {pilotAttributeType 2}
2178 #
2179 #
2180 #    rfc822Mailbox ATTRIBUTE
2181 #        WITH ATTRIBUTE-SYNTAX
2182 #            caseIgnoreIA5StringSyntax
2183 #            (SIZE (1 .. ub-rfc822-mailbox))
2184 #    ::= {pilotAttributeType 3}
2185 #
2186 #
2187 #    info ATTRIBUTE
2188 #        WITH ATTRIBUTE-SYNTAX
2189 #            caseIgnoreStringSyntax
2190 #            (SIZE (1 .. ub-information))
2191 #    ::= {pilotAttributeType 4}
2192 #
2193 #
2194 #    favouriteDrink ATTRIBUTE
2195 #        WITH ATTRIBUTE-SYNTAX
2196 #            caseIgnoreStringSyntax
2197 #            (SIZE (1 .. ub-favourite-drink))
2198 #    ::= {pilotAttributeType 5}
2199 #
2200 #
2201 #    roomNumber ATTRIBUTE
2202 #        WITH ATTRIBUTE-SYNTAX
2203 #            caseIgnoreStringSyntax
2204 #            (SIZE (1 .. ub-room-number))
2205 #    ::= {pilotAttributeType 6}
2206 #
2207 #
2208 #    photo ATTRIBUTE
2209 #        WITH ATTRIBUTE-SYNTAX
2210 #            CHOICE {
2211 #                g3-facsimile [3] G3FacsimileBodyPart
2212 #                }
2213 #        (SIZE (1 .. ub-photo))
2214 #    ::= {pilotAttributeType 7}
2215 #
2216 #
2217 #    userClass ATTRIBUTE
2218 #        WITH ATTRIBUTE-SYNTAX
2219 #            caseIgnoreStringSyntax
2220 #            (SIZE (1 .. ub-user-class))
2221 #    ::= {pilotAttributeType 8}
2222 #
2223 #
2224 #    host ATTRIBUTE
2225 #        WITH ATTRIBUTE-SYNTAX
2226 #            caseIgnoreStringSyntax
2227 #            (SIZE (1 .. ub-host))
2228 #    ::= {pilotAttributeType 9}
2229 #
2230 #
2231 #    manager ATTRIBUTE
2232 #        WITH ATTRIBUTE-SYNTAX
2233 #            distinguishedNameSyntax
2234 #    ::= {pilotAttributeType 10}
2235 #
2236 #
2237 #    documentIdentifier ATTRIBUTE
2238 #        WITH ATTRIBUTE-SYNTAX
2239 #            caseIgnoreStringSyntax
2240 #            (SIZE (1 .. ub-document-identifier))
2241 #    ::= {pilotAttributeType 11}
2242 #
2243 #
2244 #    documentTitle ATTRIBUTE
2245 #        WITH ATTRIBUTE-SYNTAX
2246 #            caseIgnoreStringSyntax
2247 #        (SIZE (1 .. ub-document-title))
2248 #    ::= {pilotAttributeType 12}
2249 #
2250 #
2251 #    documentVersion ATTRIBUTE
2252 #        WITH ATTRIBUTE-SYNTAX
2253 #            caseIgnoreStringSyntax
2254 #            (SIZE (1 .. ub-document-version))
2255 #    ::= {pilotAttributeType 13}
2256 #
2257 #
2258 #    documentAuthor ATTRIBUTE
2259 #        WITH ATTRIBUTE-SYNTAX
2260 #            distinguishedNameSyntax
2261 #    ::= {pilotAttributeType 14}
2262 #
2263 #
2264 #    documentLocation ATTRIBUTE
2265 #        WITH ATTRIBUTE-SYNTAX
2266 #            caseIgnoreStringSyntax
2267 #            (SIZE (1 .. ub-document-location))
2268 #    ::= {pilotAttributeType 15}
2269 #
2270 #
2271 #    homeTelephoneNumber ATTRIBUTE
2272 #        WITH ATTRIBUTE-SYNTAX
2273 #            telephoneNumberSyntax
2274 #    ::= {pilotAttributeType 20}
2275 #
2276 #
2277 #    secretary ATTRIBUTE
2278 #        WITH ATTRIBUTE-SYNTAX
2279 #            distinguishedNameSyntax
2280 #    ::= {pilotAttributeType 21}
2281 #
2282 #
2283 #    otherMailbox ATTRIBUTE
2284 #        WITH ATTRIBUTE-SYNTAX
2285 #            SEQUENCE {
2286 #                    mailboxType PrintableString, -- e.g. Telemail
2287 #                    mailbox IA5String  -- e.g. X378:Joe
2288 #            }
2289 #    ::= {pilotAttributeType 22}
2290 #
2291 #
2292 #    lastModifiedTime ATTRIBUTE
2293 #        WITH ATTRIBUTE-SYNTAX
2294 #            uTCTimeSyntax
2295 #    ::= {pilotAttributeType 23}
2296 #
2297 #
2298 #    lastModifiedBy ATTRIBUTE
2299 #        WITH ATTRIBUTE-SYNTAX
2300 #            distinguishedNameSyntax
2301 #    ::= {pilotAttributeType 24}
2302 #
2303 #
2304 #    domainComponent ATTRIBUTE
2305 #        WITH ATTRIBUTE-SYNTAX
2306 #            caseIgnoreIA5StringSyntax
2307 #            SINGLE VALUE
2308 #    ::= {pilotAttributeType 25}
2309 #
2310 #
2311 #    aRecord ATTRIBUTE
2312 #        WITH ATTRIBUTE-SYNTAX
2313 #            DNSRecordSyntax
2314 #    ::= {pilotAttributeType 26}
2315 #
2316 #
2317 #    mXRecord ATTRIBUTE
2318 #        WITH ATTRIBUTE-SYNTAX
2319 #            DNSRecordSyntax
2320 #    ::= {pilotAttributeType 28}
2321 #
2322 #
2323 #    nSRecord ATTRIBUTE
2324 #        WITH ATTRIBUTE-SYNTAX
2325 #            DNSRecordSyntax
2326 #    ::= {pilotAttributeType 29}
2327 #
2328 #    sOARecord ATTRIBUTE
2329 #        WITH ATTRIBUTE-SYNTAX
2330 #            DNSRecordSyntax
2331 #    ::= {pilotAttributeType 30}
2332 #
2333 #
2334 #    cNAMERecord ATTRIBUTE
2335 #        WITH ATTRIBUTE-SYNTAX
2336 #            iA5StringSyntax
2337 #    ::= {pilotAttributeType 31}
2338 #
2339 #
2340 #    associatedDomain ATTRIBUTE
2341 #        WITH ATTRIBUTE-SYNTAX
2342 #            caseIgnoreIA5StringSyntax
2343 #    ::= {pilotAttributeType 37}
2344 #
2345 #
2346 #    associatedName ATTRIBUTE
2347 #        WITH ATTRIBUTE-SYNTAX
2348 #            distinguishedNameSyntax
2349 #    ::= {pilotAttributeType 38}
2350 #
2351 #
2352 #    homePostalAddress ATTRIBUTE
2353 #        WITH ATTRIBUTE-SYNTAX
2354 #            postalAddress
2355 #            MATCHES FOR EQUALITY
2356 #    ::= {pilotAttributeType 39}
2357 #
2358 #
2359 #    personalTitle ATTRIBUTE
2360 #        WITH ATTRIBUTE-SYNTAX
2361 #            caseIgnoreStringSyntax
2362 #            (SIZE (1 .. ub-personal-title))
2363 #    ::= {pilotAttributeType 40}
2364 #
2365 #
2366 #    mobileTelephoneNumber ATTRIBUTE
2367 #        WITH ATTRIBUTE-SYNTAX
2368 #            telephoneNumberSyntax
2369 #    ::= {pilotAttributeType 41}
2370 #
2371 #
2372 #    pagerTelephoneNumber ATTRIBUTE
2373 #        WITH ATTRIBUTE-SYNTAX
2374 #            telephoneNumberSyntax
2375 #    ::= {pilotAttributeType 42}
2376 #
2377 #
2378 #    friendlyCountryName ATTRIBUTE
2379 #        WITH ATTRIBUTE-SYNTAX
2380 #            caseIgnoreStringSyntax
2381 #    ::= {pilotAttributeType 43}
2382 #
2383 #
2384 #    uniqueIdentifier ATTRIBUTE
2385 #        WITH ATTRIBUTE-SYNTAX
2386 #            caseIgnoreStringSyntax
2387 #            (SIZE (1 .. ub-unique-identifier))
2388 #    ::= {pilotAttributeType 44}
2389 #
2390 #
2391 #    organizationalStatus ATTRIBUTE
2392 #            WITH ATTRIBUTE-SYNTAX
2393 #            caseIgnoreStringSyntax
2394 #            (SIZE (1 .. ub-organizational-status))
2395 #    ::= {pilotAttributeType 45}
2396 #
2397 #
2398 #    janetMailbox ATTRIBUTE
2399 #        WITH ATTRIBUTE-SYNTAX
2400 #            caseIgnoreIA5StringSyntax
2401 #            (SIZE (1 .. ub-janet-mailbox))
2402 #    ::= {pilotAttributeType 46}
2403 #
2404 #
2405 #    mailPreferenceOption ATTRIBUTE
2406 #        WITH ATTRIBUTE-SYNTAX ENUMERATED {
2407 #                no-list-inclusion(0),
2408 #                any-list-inclusion(1),  -- may be added to any lists
2409 #                professional-list-inclusion(2)
2410 #                                        -- may be added to lists
2411 #                                        -- which the list provider
2412 #                                        -- views as related to the
2413 #                                        -- users professional inter-
2414 #                                        -- ests, perhaps evaluated
2415 #                                        -- from the business of the
2416 #                                        -- organisation or keywords
2417 #                                        -- in the entry.
2418 #                }
2419 #    ::= {pilotAttributeType 47}
2420 #
2421 #
2422 #    buildingName ATTRIBUTE
2423 #        WITH ATTRIBUTE-SYNTAX
2424 #            caseIgnoreStringSyntax
2425 #            (SIZE (1 .. ub-building-name))
2426 #    ::= {pilotAttributeType 48}
2427 #
2428 #
2429 #    dSAQuality ATTRIBUTE
2430 #            WITH ATTRIBUTE-SYNTAX DSAQualitySyntax
2431 #            SINGLE VALUE
2432 #    ::= {pilotAttributeType 49}
2433 #
2434 #
2435 #    singleLevelQuality ATTRIBUTE
2436 #            WITH ATTRIBUTE-SYNTAX DataQualitySyntax
2437 #            SINGLE VALUE
2438 #
2439 #
2440 #    subtreeMinimumQuality ATTRIBUTE
2441 #            WITH ATTRIBUTE-SYNTAX DataQualitySyntax
2442 #            SINGLE VALUE
2443 #               -- Defaults to singleLevelQuality
2444 #    ::= {pilotAttributeType 51}
2445 #
2446 #
2447 #    subtreeMaximumQuality ATTRIBUTE
2448 #            WITH ATTRIBUTE-SYNTAX DataQualitySyntax
2449 #            SINGLE VALUE
2450 #               -- Defaults to singleLevelQuality
2451 #    ::= {pilotAttributeType 52}
2452 #
2453 #
2454 #    personalSignature ATTRIBUTE
2455 #        WITH ATTRIBUTE-SYNTAX
2456 #            CHOICE {
2457 #                g3-facsimile [3] G3FacsimileBodyPart
2458 #                }
2459 #        (SIZE (1 .. ub-personal-signature))
2460 #    ::= {pilotAttributeType 53}
2461 #
2462 #
2463 #    dITRedirect ATTRIBUTE
2464 #        WITH ATTRIBUTE-SYNTAX
2465 #            distinguishedNameSyntax
2466 #    ::= {pilotAttributeType 54}
2467 #
2468 #
2469 #    audio ATTRIBUTE
2470 #        WITH ATTRIBUTE-SYNTAX
2471 #            Audio
2472 #        (SIZE (1 .. ub-audio))
2473 #    ::= {pilotAttributeType 55}
2474 #
2475 #    documentPublisher ATTRIBUTE
2476 #            WITH ATTRIBUTE SYNTAX caseIgnoreStringSyntax
2477 #    ::= {pilotAttributeType 56}
2478 #
2479 #
2480 #
2481 #    -- Generally useful syntaxes
2482 #
2483 #
2484 #    caseIgnoreIA5StringSyntax ATTRIBUTE-SYNTAX
2485 #            IA5String
2486 #            MATCHES FOR EQUALITY SUBSTRINGS
2487 #
2488 #
2489 #    iA5StringSyntax ATTRIBUTE-SYNTAX
2490 #        IA5String
2491 #        MATCHES FOR EQUALITY SUBSTRINGS
2492 #
2493 #
2494 #    -- Syntaxes to support the DNS attributes
2495 #
2496 #    DNSRecordSyntax ATTRIBUTE-SYNTAX
2497 #            IA5String
2498 #            MATCHES FOR EQUALITY
2499 #
2500 #
2501 #    NRSInformationSyntax ATTRIBUTE-SYNTAX
2502 #            NRSInformation
2503 #            MATCHES FOR EQUALITY
2504 #
2505 #
2506 #    NRSInformation ::=  SET {
2507 #                    [0] Context,
2508 #                    [1] Address-space-id,
2509 #                    routes [2] SEQUENCE OF SEQUENCE {
2510 #                    Route-cost,
2511 #                    Addressing-info }
2512 #            }
2513 #
2514 #
2515 #    -- Upper bounds on length of attribute values
2516 #
2517 #
2518 #    ub-document-identifier INTEGER ::= 256
2519 #
2520 #    ub-document-location INTEGER ::= 256
2521 #
2522 #    ub-document-title INTEGER ::= 256
2523 #
2524 #    ub-document-version INTEGER ::= 256
2525 #
2526 #    ub-favourite-drink INTEGER ::= 256
2527 #
2528 #    ub-host INTEGER ::= 256
2529 #
2530 #    ub-information INTEGER ::= 2048
2531 #
2532 #    ub-unique-identifier INTEGER ::= 256
2533 #
2534 #    ub-personal-title INTEGER ::= 256
2535 #
2536 #    ub-photo INTEGER ::= 250000
2537 #
2538 #    ub-rfc822-mailbox INTEGER ::= 256
2539 #
2540 #    ub-room-number INTEGER ::= 256
2541 #
2542 #    ub-text-or-address INTEGER ::= 256
2543 #
2544 #    ub-user-class INTEGER ::= 256
2545 #
2546 #    ub-user-identifier INTEGER ::= 256
2547 #
2548 #    ub-organizational-status INTEGER ::= 256
2549 #
2550 #    ub-janet-mailbox INTEGER ::= 256
2551 #
2552 #    ub-building-name INTEGER ::= 256
2553 #
2554 #    ub-personal-signature ::= 50000
2555 #
2556 #    ub-audio INTEGER ::= 250000
2557 #
2558 # [remainder of memo trimmed]
2559