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