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