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