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