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