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