# RFC1274: Cosine and Internet X.500 schema
# $OpenLDAP$
## This work is part of OpenLDAP Software .
##
## Copyright 1998-2019 The OpenLDAP Foundation.
## All rights reserved.
##
## Redistribution and use in source and binary forms, with or without
## modification, are permitted only as authorized by the OpenLDAP
## Public License.
##
## A copy of this license is available in the file LICENSE in the
## top-level directory of the distribution or, alternatively, at
## .
#
# RFC1274: Cosine and Internet X.500 schema
#
# This file contains LDAPv3 schema derived from X.500 COSINE "pilot"
# schema. As this schema was defined for X.500(89), some
# oddities were introduced in the mapping to LDAPv3. The
# mappings were based upon: draft-ietf-asid-ldapv3-attributes-03.txt
# (a work in progress)
#
# Note: It seems that the pilot schema evolved beyond what was
# described in RFC1274. However, this document attempts to describes
# RFC1274 as published.
#
# Depends on core.schema
# Network Working Group P. Barker
# Request for Comments: 1274 S. Kille
# University College London
# November 1991
#
# The COSINE and Internet X.500 Schema
#
# [trimmed]
#
# Abstract
#
# This document suggests an X.500 Directory Schema, or Naming
# Architecture, for use in the COSINE and Internet X.500 pilots. The
# schema is independent of any specific implementation. As well as
# indicating support for the standard object classes and attributes, a
# large number of generally useful object classes and attributes are
# also defined. An appendix to this document includes a machine
# processable version of the schema.
#
# [trimmed]
# 7. Object Identifiers
#
# Some additional object identifiers are defined for this schema.
# These are also reproduced in Appendix C.
#
# data OBJECT IDENTIFIER ::= {ccitt 9}
# pss OBJECT IDENTIFIER ::= {data 2342}
# ucl OBJECT IDENTIFIER ::= {pss 19200300}
# pilot OBJECT IDENTIFIER ::= {ucl 100}
#
# pilotAttributeType OBJECT IDENTIFIER ::= {pilot 1}
# pilotAttributeSyntax OBJECT IDENTIFIER ::= {pilot 3}
# pilotObjectClass OBJECT IDENTIFIER ::= {pilot 4}
# pilotGroups OBJECT IDENTIFIER ::= {pilot 10}
#
# iA5StringSyntax OBJECT IDENTIFIER ::= {pilotAttributeSyntax 4}
# caseIgnoreIA5StringSyntax OBJECT IDENTIFIER ::=
# {pilotAttributeSyntax 5}
#
# 8. Object Classes
# [relocated after 9]
#
# 9. Attribute Types
#
# 9.1. X.500 standard attribute types
#
# A number of generally useful attribute types are defined in X.520,
# and these are supported. Refer to that document for descriptions of
# the suggested usage of these attribute types. The ASN.1 for these
# attribute types is reproduced for completeness in Appendix C.
#
# 9.2. X.400 standard attribute types
#
# The standard X.400 attribute types are supported. See X.402 for full
# details. The ASN.1 for these attribute types is reproduced in
# Appendix C.
#
# 9.3. COSINE/Internet attribute types
#
# This section describes all the attribute types defined for use in the
# COSINE and Internet pilots. Descriptions are given as to the
# suggested usage of these attribute types. The ASN.1 for these
# attribute types is reproduced in Appendix C.
#
# 9.3.1. Userid
#
# The Userid attribute type specifies a computer system login name.
#
# userid ATTRIBUTE
# WITH ATTRIBUTE-SYNTAX
# caseIgnoreStringSyntax
# (SIZE (1 .. ub-user-identifier))
# ::= {pilotAttributeType 1}
#
#(in core.schema)
##attributetype ( 0.9.2342.19200300.100.1.1 NAME ( 'uid' 'userid' )
## EQUALITY caseIgnoreMatch
## SUBSTR caseIgnoreSubstringsMatch
## SYNTAX 1.3.6.1.4.1.1466.115.121.1.15{256} )
# 9.3.2. Text Encoded O/R Address
#
# The Text Encoded O/R Address attribute type specifies a text encoding
# of an X.400 O/R address, as specified in RFC 987. The use of this
# attribute is deprecated as the attribute is intended for interim use
# only. This attribute will be the first candidate for the attribute
# expiry mechanisms!
#
# textEncodedORAddress ATTRIBUTE
# WITH ATTRIBUTE-SYNTAX
# caseIgnoreStringSyntax
# (SIZE (1 .. ub-text-encoded-or-address))
# ::= {pilotAttributeType 2}
#
attributetype ( 0.9.2342.19200300.100.1.2 NAME 'textEncodedORAddress'
EQUALITY caseIgnoreMatch
SUBSTR caseIgnoreSubstringsMatch
SYNTAX 1.3.6.1.4.1.1466.115.121.1.15{256} )
# 9.3.3. RFC 822 Mailbox
#
# The RFC822 Mailbox attribute type specifies an electronic mailbox
# attribute following the syntax specified in RFC 822. Note that this
# attribute should not be used for greybook or other non-Internet order
# mailboxes.
#
# rfc822Mailbox ATTRIBUTE
# WITH ATTRIBUTE-SYNTAX
# caseIgnoreIA5StringSyntax
# (SIZE (1 .. ub-rfc822-mailbox))
# ::= {pilotAttributeType 3}
#
#(in core.schema)
##attributetype ( 0.9.2342.19200300.100.1.3 NAME ( 'mail' 'rfc822Mailbox' )
## EQUALITY caseIgnoreIA5Match
## SUBSTR caseIgnoreIA5SubstringsMatch
## SYNTAX 1.3.6.1.4.1.1466.115.121.1.26{256} )
# 9.3.4. Information
#
# The Information attribute type specifies any general information
# pertinent to an object. It is recommended that specific usage of
# this attribute type is avoided, and that specific requirements are
# met by other (possibly additional) attribute types.
#
# info ATTRIBUTE
# WITH ATTRIBUTE-SYNTAX
# caseIgnoreStringSyntax
# (SIZE (1 .. ub-information))
# ::= {pilotAttributeType 4}
#
attributetype ( 0.9.2342.19200300.100.1.4 NAME 'info'
DESC 'RFC1274: general information'
EQUALITY caseIgnoreMatch
SUBSTR caseIgnoreSubstringsMatch
SYNTAX 1.3.6.1.4.1.1466.115.121.1.15{2048} )
# 9.3.5. Favourite Drink
#
# The Favourite Drink attribute type specifies the favourite drink of
# an object (or person).
#
# favouriteDrink ATTRIBUTE
# WITH ATTRIBUTE-SYNTAX
# caseIgnoreStringSyntax
# (SIZE (1 .. ub-favourite-drink))
# ::= {pilotAttributeType 5}
#
attributetype ( 0.9.2342.19200300.100.1.5
NAME ( 'drink' 'favouriteDrink' )
DESC 'RFC1274: favorite drink'
EQUALITY caseIgnoreMatch
SUBSTR caseIgnoreSubstringsMatch
SYNTAX 1.3.6.1.4.1.1466.115.121.1.15{256} )
# 9.3.6. Room Number
#
# The Room Number attribute type specifies the room number of an
# object. Note that the commonName attribute should be used for naming
# room objects.
#
# roomNumber ATTRIBUTE
# WITH ATTRIBUTE-SYNTAX
# caseIgnoreStringSyntax
# (SIZE (1 .. ub-room-number))
# ::= {pilotAttributeType 6}
#
attributetype ( 0.9.2342.19200300.100.1.6 NAME 'roomNumber'
DESC 'RFC1274: room number'
EQUALITY caseIgnoreMatch
SUBSTR caseIgnoreSubstringsMatch
SYNTAX 1.3.6.1.4.1.1466.115.121.1.15{256} )
# 9.3.7. Photo
#
# The Photo attribute type specifies a "photograph" for an object.
# This should be encoded in G3 fax as explained in recommendation T.4,
# with an ASN.1 wrapper to make it compatible with an X.400 BodyPart as
# defined in X.420.
#
# IMPORT G3FacsimileBodyPart FROM { mhs-motis ipms modules
# information-objects }
#
# photo ATTRIBUTE
# WITH ATTRIBUTE-SYNTAX
# CHOICE {
# g3-facsimile [3] G3FacsimileBodyPart
# }
# (SIZE (1 .. ub-photo))
# ::= {pilotAttributeType 7}
#
attributetype ( 0.9.2342.19200300.100.1.7 NAME 'photo'
DESC 'RFC1274: photo (G3 fax)'
SYNTAX 1.3.6.1.4.1.1466.115.121.1.23{25000} )
# 9.3.8. User Class
#
# The User Class attribute type specifies a category of computer user.
# The semantics placed on this attribute are for local interpretation.
# Examples of current usage od this attribute in academia are
# undergraduate student, researcher, lecturer, etc. Note that the
# organizationalStatus attribute may now often be preferred as it makes
# no distinction between computer users and others.
#
# userClass ATTRIBUTE
# WITH ATTRIBUTE-SYNTAX
# caseIgnoreStringSyntax
# (SIZE (1 .. ub-user-class))
# ::= {pilotAttributeType 8}
#
attributetype ( 0.9.2342.19200300.100.1.8 NAME 'userClass'
DESC 'RFC1274: category of user'
EQUALITY caseIgnoreMatch
SUBSTR caseIgnoreSubstringsMatch
SYNTAX 1.3.6.1.4.1.1466.115.121.1.15{256} )
# 9.3.9. Host
#
# The Host attribute type specifies a host computer.
#
# host ATTRIBUTE
# WITH ATTRIBUTE-SYNTAX
# caseIgnoreStringSyntax
# (SIZE (1 .. ub-host))
# ::= {pilotAttributeType 9}
#
attributetype ( 0.9.2342.19200300.100.1.9 NAME 'host'
DESC 'RFC1274: host computer'
EQUALITY caseIgnoreMatch
SUBSTR caseIgnoreSubstringsMatch
SYNTAX 1.3.6.1.4.1.1466.115.121.1.15{256} )
# 9.3.10. Manager
#
# The Manager attribute type specifies the manager of an object
# represented by an entry.
#
# manager ATTRIBUTE
# WITH ATTRIBUTE-SYNTAX
# distinguishedNameSyntax
# ::= {pilotAttributeType 10}
#
attributetype ( 0.9.2342.19200300.100.1.10 NAME 'manager'
DESC 'RFC1274: DN of manager'
EQUALITY distinguishedNameMatch
SYNTAX 1.3.6.1.4.1.1466.115.121.1.12 )
# 9.3.11. Document Identifier
#
# The Document Identifier attribute type specifies a unique identifier
# for a document.
#
# documentIdentifier ATTRIBUTE
# WITH ATTRIBUTE-SYNTAX
# caseIgnoreStringSyntax
# (SIZE (1 .. ub-document-identifier))
# ::= {pilotAttributeType 11}
#
attributetype ( 0.9.2342.19200300.100.1.11 NAME 'documentIdentifier'
DESC 'RFC1274: unique identifier of document'
EQUALITY caseIgnoreMatch
SUBSTR caseIgnoreSubstringsMatch
SYNTAX 1.3.6.1.4.1.1466.115.121.1.15{256} )
# 9.3.12. Document Title
#
# The Document Title attribute type specifies the title of a document.
#
# documentTitle ATTRIBUTE
# WITH ATTRIBUTE-SYNTAX
# caseIgnoreStringSyntax
# (SIZE (1 .. ub-document-title))
# ::= {pilotAttributeType 12}
#
attributetype ( 0.9.2342.19200300.100.1.12 NAME 'documentTitle'
DESC 'RFC1274: title of document'
EQUALITY caseIgnoreMatch
SUBSTR caseIgnoreSubstringsMatch
SYNTAX 1.3.6.1.4.1.1466.115.121.1.15{256} )
# 9.3.13. Document Version
#
# The Document Version attribute type specifies the version number of a
# document.
#
# documentVersion ATTRIBUTE
# WITH ATTRIBUTE-SYNTAX
# caseIgnoreStringSyntax
# (SIZE (1 .. ub-document-version))
# ::= {pilotAttributeType 13}
#
attributetype ( 0.9.2342.19200300.100.1.13 NAME 'documentVersion'
DESC 'RFC1274: version of document'
EQUALITY caseIgnoreMatch
SUBSTR caseIgnoreSubstringsMatch
SYNTAX 1.3.6.1.4.1.1466.115.121.1.15{256} )
# 9.3.14. Document Author
#
# The Document Author attribute type specifies the distinguished name
# of the author of a document.
#
# documentAuthor ATTRIBUTE
# WITH ATTRIBUTE-SYNTAX
# distinguishedNameSyntax
# ::= {pilotAttributeType 14}
#
attributetype ( 0.9.2342.19200300.100.1.14 NAME 'documentAuthor'
DESC 'RFC1274: DN of author of document'
EQUALITY distinguishedNameMatch
SYNTAX 1.3.6.1.4.1.1466.115.121.1.12 )
# 9.3.15. Document Location
#
# The Document Location attribute type specifies the location of the
# document original.
#
# documentLocation ATTRIBUTE
# WITH ATTRIBUTE-SYNTAX
# caseIgnoreStringSyntax
# (SIZE (1 .. ub-document-location))
# ::= {pilotAttributeType 15}
#
attributetype ( 0.9.2342.19200300.100.1.15 NAME 'documentLocation'
DESC 'RFC1274: location of document original'
EQUALITY caseIgnoreMatch
SUBSTR caseIgnoreSubstringsMatch
SYNTAX 1.3.6.1.4.1.1466.115.121.1.15{256} )
# 9.3.16. Home Telephone Number
#
# The Home Telephone Number attribute type specifies a home telephone
# number associated with a person. Attribute values should follow the
# agreed format for international telephone numbers: i.e., "+44 71 123
# 4567".
#
# homeTelephoneNumber ATTRIBUTE
# WITH ATTRIBUTE-SYNTAX
# telephoneNumberSyntax
# ::= {pilotAttributeType 20}
#
attributetype ( 0.9.2342.19200300.100.1.20
NAME ( 'homePhone' 'homeTelephoneNumber' )
DESC 'RFC1274: home telephone number'
EQUALITY telephoneNumberMatch
SUBSTR telephoneNumberSubstringsMatch
SYNTAX 1.3.6.1.4.1.1466.115.121.1.50 )
# 9.3.17. Secretary
#
# The Secretary attribute type specifies the secretary of a person.
# The attribute value for Secretary is a distinguished name.
#
# secretary ATTRIBUTE
# WITH ATTRIBUTE-SYNTAX
# distinguishedNameSyntax
# ::= {pilotAttributeType 21}
#
attributetype ( 0.9.2342.19200300.100.1.21 NAME 'secretary'
DESC 'RFC1274: DN of secretary'
EQUALITY distinguishedNameMatch
SYNTAX 1.3.6.1.4.1.1466.115.121.1.12 )
# 9.3.18. Other Mailbox
#
# The Other Mailbox attribute type specifies values for electronic
# mailbox types other than X.400 and rfc822.
#
# otherMailbox ATTRIBUTE
# WITH ATTRIBUTE-SYNTAX
# SEQUENCE {
# mailboxType PrintableString, -- e.g. Telemail
# mailbox IA5String -- e.g. X378:Joe
# }
# ::= {pilotAttributeType 22}
#
attributetype ( 0.9.2342.19200300.100.1.22 NAME 'otherMailbox'
SYNTAX 1.3.6.1.4.1.1466.115.121.1.39 )
# 9.3.19. Last Modified Time
#
# The Last Modified Time attribute type specifies the last time, in UTC
# time, that an entry was modified. Ideally, this attribute should be
# maintained by the DSA.
#
# lastModifiedTime ATTRIBUTE
# WITH ATTRIBUTE-SYNTAX
# uTCTimeSyntax
# ::= {pilotAttributeType 23}
#
## Deprecated in favor of modifyTimeStamp
#attributetype ( 0.9.2342.19200300.100.1.23 NAME 'lastModifiedTime'
# DESC 'RFC1274: time of last modify, replaced by modifyTimestamp'
# OBSOLETE
# SYNTAX 1.3.6.1.4.1.1466.115.121.1.53
# USAGE directoryOperation )
# 9.3.20. Last Modified By
#
# The Last Modified By attribute specifies the distinguished name of
# the last user to modify the associated entry. Ideally, this
# attribute should be maintained by the DSA.
#
# lastModifiedBy ATTRIBUTE
# WITH ATTRIBUTE-SYNTAX
# distinguishedNameSyntax
# ::= {pilotAttributeType 24}
#
## Deprecated in favor of modifiersName
#attributetype ( 0.9.2342.19200300.100.1.24 NAME 'lastModifiedBy'
# DESC 'RFC1274: last modifier, replaced by modifiersName'
# OBSOLETE
# EQUALITY distinguishedNameMatch
# SYNTAX 1.3.6.1.4.1.1466.115.121.1.12
# USAGE directoryOperation )
# 9.3.21. Domain Component
#
# The Domain Component attribute type specifies a DNS/NRS domain. For
# example, "uk" or "ac".
#
# domainComponent ATTRIBUTE
# WITH ATTRIBUTE-SYNTAX
# caseIgnoreIA5StringSyntax
# SINGLE VALUE
# ::= {pilotAttributeType 25}
#
##(in core.schema)
##attributetype ( 0.9.2342.19200300.100.1.25 NAME ( 'dc' 'domainComponent' )
## EQUALITY caseIgnoreIA5Match
## SUBSTR caseIgnoreIA5SubstringsMatch
## SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 SINGLE-VALUE )
# 9.3.22. DNS ARecord
#
# The A Record attribute type specifies a type A (Address) DNS resource
# record [6] [7].
#
# aRecord ATTRIBUTE
# WITH ATTRIBUTE-SYNTAX
# DNSRecordSyntax
# ::= {pilotAttributeType 26}
#
## incorrect syntax?
attributetype ( 0.9.2342.19200300.100.1.26 NAME 'aRecord'
EQUALITY caseIgnoreIA5Match
SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 )
## missing from RFC1274
## incorrect syntax?
attributetype ( 0.9.2342.19200300.100.1.27 NAME 'mDRecord'
EQUALITY caseIgnoreIA5Match
SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 )
# 9.3.23. MX Record
#
# The MX Record attribute type specifies a type MX (Mail Exchange) DNS
# resource record [6] [7].
#
# mXRecord ATTRIBUTE
# WITH ATTRIBUTE-SYNTAX
# DNSRecordSyntax
# ::= {pilotAttributeType 28}
#
## incorrect syntax!!
attributetype ( 0.9.2342.19200300.100.1.28 NAME 'mXRecord'
EQUALITY caseIgnoreIA5Match
SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 )
# 9.3.24. NS Record
#
# The NS Record attribute type specifies an NS (Name Server) DNS
# resource record [6] [7].
#
# nSRecord ATTRIBUTE
# WITH ATTRIBUTE-SYNTAX
# DNSRecordSyntax
# ::= {pilotAttributeType 29}
#
## incorrect syntax!!
attributetype ( 0.9.2342.19200300.100.1.29 NAME 'nSRecord'
EQUALITY caseIgnoreIA5Match
SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 )
# 9.3.25. SOA Record
#
# The SOA Record attribute type specifies a type SOA (Start of
# Authority) DNS resorce record [6] [7].
#
# sOARecord ATTRIBUTE
# WITH ATTRIBUTE-SYNTAX
# DNSRecordSyntax
# ::= {pilotAttributeType 30}
#
## incorrect syntax!!
attributetype ( 0.9.2342.19200300.100.1.30 NAME 'sOARecord'
EQUALITY caseIgnoreIA5Match
SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 )
# 9.3.26. CNAME Record
#
# The CNAME Record attribute type specifies a type CNAME (Canonical
# Name) DNS resource record [6] [7].
#
# cNAMERecord ATTRIBUTE
# WITH ATTRIBUTE-SYNTAX
# iA5StringSyntax
# ::= {pilotAttributeType 31}
#
## incorrect syntax!!
attributetype ( 0.9.2342.19200300.100.1.31 NAME 'cNAMERecord'
EQUALITY caseIgnoreIA5Match
SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 )
# 9.3.27. Associated Domain
#
# The Associated Domain attribute type specifies a DNS or NRS domain
# which is associated with an object in the DIT. For example, the entry
# in the DIT with a distinguished name "C=GB, O=University College
# London" would have an associated domain of "UCL.AC.UK. Note that all
# domains should be represented in rfc822 order. See [3] for more
# details of usage of this attribute.
#
# associatedDomain ATTRIBUTE
# WITH ATTRIBUTE-SYNTAX
# caseIgnoreIA5StringSyntax
# ::= {pilotAttributeType 37}
#
#attributetype ( 0.9.2342.19200300.100.1.37 NAME 'associatedDomain'
# EQUALITY caseIgnoreIA5Match
# SUBSTR caseIgnoreIA5SubstringsMatch
# SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 )
# 9.3.28. Associated Name
#
# The Associated Name attribute type specifies an entry in the
# organisational DIT associated with a DNS/NRS domain. See [3] for
# more details of usage of this attribute.
#
# associatedName ATTRIBUTE
# WITH ATTRIBUTE-SYNTAX
# distinguishedNameSyntax
# ::= {pilotAttributeType 38}
#
attributetype ( 0.9.2342.19200300.100.1.38 NAME 'associatedName'
DESC 'RFC1274: DN of entry associated with domain'
EQUALITY distinguishedNameMatch
SYNTAX 1.3.6.1.4.1.1466.115.121.1.12 )
# 9.3.29. Home postal address
#
# The Home postal address attribute type specifies a home postal
# address for an object. This should be limited to up to 6 lines of 30
# characters each.
#
# homePostalAddress ATTRIBUTE
# WITH ATTRIBUTE-SYNTAX
# postalAddress
# MATCHES FOR EQUALITY
# ::= {pilotAttributeType 39}
#
attributetype ( 0.9.2342.19200300.100.1.39 NAME 'homePostalAddress'
DESC 'RFC1274: home postal address'
EQUALITY caseIgnoreListMatch
SUBSTR caseIgnoreListSubstringsMatch
SYNTAX 1.3.6.1.4.1.1466.115.121.1.41 )
# 9.3.30. Personal Title
#
# The Personal Title attribute type specifies a personal title for a
# person. Examples of personal titles are "Ms", "Dr", "Prof" and "Rev".
#
# personalTitle ATTRIBUTE
# WITH ATTRIBUTE-SYNTAX
# caseIgnoreStringSyntax
# (SIZE (1 .. ub-personal-title))
# ::= {pilotAttributeType 40}
#
attributetype ( 0.9.2342.19200300.100.1.40 NAME 'personalTitle'
DESC 'RFC1274: personal title'
EQUALITY caseIgnoreMatch
SUBSTR caseIgnoreSubstringsMatch
SYNTAX 1.3.6.1.4.1.1466.115.121.1.15{256} )
# 9.3.31. Mobile Telephone Number
#
# The Mobile Telephone Number attribute type specifies a mobile
# telephone number associated with a person. Attribute values should
# follow the agreed format for international telephone numbers: i.e.,
# "+44 71 123 4567".
#
# mobileTelephoneNumber ATTRIBUTE
# WITH ATTRIBUTE-SYNTAX
# telephoneNumberSyntax
# ::= {pilotAttributeType 41}
#
attributetype ( 0.9.2342.19200300.100.1.41
NAME ( 'mobile' 'mobileTelephoneNumber' )
DESC 'RFC1274: mobile telephone number'
EQUALITY telephoneNumberMatch
SUBSTR telephoneNumberSubstringsMatch
SYNTAX 1.3.6.1.4.1.1466.115.121.1.50 )
# 9.3.32. Pager Telephone Number
#
# The Pager Telephone Number attribute type specifies a pager telephone
# number for an object. Attribute values should follow the agreed
# format for international telephone numbers: i.e., "+44 71 123 4567".
#
# pagerTelephoneNumber ATTRIBUTE
# WITH ATTRIBUTE-SYNTAX
# telephoneNumberSyntax
# ::= {pilotAttributeType 42}
#
attributetype ( 0.9.2342.19200300.100.1.42
NAME ( 'pager' 'pagerTelephoneNumber' )
DESC 'RFC1274: pager telephone number'
EQUALITY telephoneNumberMatch
SUBSTR telephoneNumberSubstringsMatch
SYNTAX 1.3.6.1.4.1.1466.115.121.1.50 )
# 9.3.33. Friendly Country Name
#
# The Friendly Country Name attribute type specifies names of countries
# in human readable format. The standard attribute country name must
# be one of the two-letter codes defined in ISO 3166.
#
# friendlyCountryName ATTRIBUTE
# WITH ATTRIBUTE-SYNTAX
# caseIgnoreStringSyntax
# ::= {pilotAttributeType 43}
#
attributetype ( 0.9.2342.19200300.100.1.43
NAME ( 'co' 'friendlyCountryName' )
DESC 'RFC1274: friendly country name'
EQUALITY caseIgnoreMatch
SUBSTR caseIgnoreSubstringsMatch
SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 )
# 9.3.34. Unique Identifier
#
# The Unique Identifier attribute type specifies a "unique identifier"
# for an object represented in the Directory. The domain within which
# the identifier is unique, and the exact semantics of the identifier,
# are for local definition. For a person, this might be an
# institution-wide payroll number. For an organisational unit, it
# might be a department code.
#
# uniqueIdentifier ATTRIBUTE
# WITH ATTRIBUTE-SYNTAX
# caseIgnoreStringSyntax
# (SIZE (1 .. ub-unique-identifier))
# ::= {pilotAttributeType 44}
#
attributetype ( 0.9.2342.19200300.100.1.44 NAME 'uniqueIdentifier'
DESC 'RFC1274: unique identifer'
EQUALITY caseIgnoreMatch
SYNTAX 1.3.6.1.4.1.1466.115.121.1.15{256} )
# 9.3.35. Organisational Status
#
# The Organisational Status attribute type specifies a category by
# which a person is often referred to in an organisation. Examples of
# usage in academia might include undergraduate student, researcher,
# lecturer, etc.
#
# A Directory administrator should probably consider carefully the
# distinctions between this and the title and userClass attributes.
#
# organizationalStatus ATTRIBUTE
# WITH ATTRIBUTE-SYNTAX
# caseIgnoreStringSyntax
# (SIZE (1 .. ub-organizational-status))
# ::= {pilotAttributeType 45}
#
attributetype ( 0.9.2342.19200300.100.1.45 NAME 'organizationalStatus'
DESC 'RFC1274: organizational status'
EQUALITY caseIgnoreMatch
SUBSTR caseIgnoreSubstringsMatch
SYNTAX 1.3.6.1.4.1.1466.115.121.1.15{256} )
# 9.3.36. Janet Mailbox
#
# The Janet Mailbox attribute type specifies an electronic mailbox
# attribute following the syntax specified in the Grey Book of the
# Coloured Book series. This attribute is intended for the convenience
# of U.K users unfamiliar with rfc822 and little-endian mail addresses.
# Entries using this attribute MUST also include an rfc822Mailbox
# attribute.
#
# janetMailbox ATTRIBUTE
# WITH ATTRIBUTE-SYNTAX
# caseIgnoreIA5StringSyntax
# (SIZE (1 .. ub-janet-mailbox))
# ::= {pilotAttributeType 46}
#
attributetype ( 0.9.2342.19200300.100.1.46 NAME 'janetMailbox'
DESC 'RFC1274: Janet mailbox'
EQUALITY caseIgnoreIA5Match
SUBSTR caseIgnoreIA5SubstringsMatch
SYNTAX 1.3.6.1.4.1.1466.115.121.1.26{256} )
# 9.3.37. Mail Preference Option
#
# An attribute to allow users to indicate a preference for inclusion of
# their names on mailing lists (electronic or physical). The absence
# of such an attribute should be interpreted as if the attribute was
# present with value "no-list-inclusion". This attribute should be
# interpreted by anyone using the directory to derive mailing lists,
# and its value respected.
#
# mailPreferenceOption ATTRIBUTE
# WITH ATTRIBUTE-SYNTAX ENUMERATED {
# no-list-inclusion(0),
# any-list-inclusion(1), -- may be added to any lists
# professional-list-inclusion(2)
# -- may be added to lists
# -- which the list provider
# -- views as related to the
# -- users professional inter-
# -- ests, perhaps evaluated
# -- from the business of the
# -- organisation or keywords
# -- in the entry.
# }
# ::= {pilotAttributeType 47}
#
attributetype ( 0.9.2342.19200300.100.1.47
NAME 'mailPreferenceOption'
DESC 'RFC1274: mail preference option'
SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 )
# 9.3.38. Building Name
#
# The Building Name attribute type specifies the name of the building
# where an organisation or organisational unit is based.
#
# buildingName ATTRIBUTE
# WITH ATTRIBUTE-SYNTAX
# caseIgnoreStringSyntax
# (SIZE (1 .. ub-building-name))
# ::= {pilotAttributeType 48}
#
attributetype ( 0.9.2342.19200300.100.1.48 NAME 'buildingName'
DESC 'RFC1274: name of building'
EQUALITY caseIgnoreMatch
SUBSTR caseIgnoreSubstringsMatch
SYNTAX 1.3.6.1.4.1.1466.115.121.1.15{256} )
# 9.3.39. DSA Quality
#
# The DSA Quality attribute type specifies the purported quality of a
# DSA. It allows a DSA manager to indicate the expected level of
# availability of the DSA. See [8] for details of the syntax.
#
# dSAQuality ATTRIBUTE
# WITH ATTRIBUTE-SYNTAX DSAQualitySyntax
# SINGLE VALUE
# ::= {pilotAttributeType 49}
#
attributetype ( 0.9.2342.19200300.100.1.49 NAME 'dSAQuality'
DESC 'RFC1274: DSA Quality'
SYNTAX 1.3.6.1.4.1.1466.115.121.1.19 SINGLE-VALUE )
# 9.3.40. Single Level Quality
#
# The Single Level Quality attribute type specifies the purported data
# quality at the level immediately below in the DIT. See [8] for
# details of the syntax.
#
# singleLevelQuality ATTRIBUTE
# WITH ATTRIBUTE-SYNTAX DataQualitySyntax
# SINGLE VALUE
# ::= {pilotAttributeType 50}
#
attributetype ( 0.9.2342.19200300.100.1.50 NAME 'singleLevelQuality'
DESC 'RFC1274: Single Level Quality'
SYNTAX 1.3.6.1.4.1.1466.115.121.1.13 SINGLE-VALUE )
# 9.3.41. Subtree Minimum Quality
#
# The Subtree Minimum Quality attribute type specifies the purported
# minimum data quality for a DIT subtree. See [8] for more discussion
# and details of the syntax.
#
# subtreeMinimumQuality ATTRIBUTE
# WITH ATTRIBUTE-SYNTAX DataQualitySyntax
# SINGLE VALUE
# -- Defaults to singleLevelQuality
# ::= {pilotAttributeType 51}
#
attributetype ( 0.9.2342.19200300.100.1.51 NAME 'subtreeMinimumQuality'
DESC 'RFC1274: Subtree Mininum Quality'
SYNTAX 1.3.6.1.4.1.1466.115.121.1.13 SINGLE-VALUE )
# 9.3.42. Subtree Maximum Quality
#
# The Subtree Maximum Quality attribute type specifies the purported
# maximum data quality for a DIT subtree. See [8] for more discussion
# and details of the syntax.
#
# subtreeMaximumQuality ATTRIBUTE
# WITH ATTRIBUTE-SYNTAX DataQualitySyntax
# SINGLE VALUE
# -- Defaults to singleLevelQuality
# ::= {pilotAttributeType 52}
#
attributetype ( 0.9.2342.19200300.100.1.52 NAME 'subtreeMaximumQuality'
DESC 'RFC1274: Subtree Maximun Quality'
SYNTAX 1.3.6.1.4.1.1466.115.121.1.13 SINGLE-VALUE )
# 9.3.43. Personal Signature
#
# The Personal Signature attribute type allows for a representation of
# a person's signature. This should be encoded in G3 fax as explained
# in recommendation T.4, with an ASN.1 wrapper to make it compatible
# with an X.400 BodyPart as defined in X.420.
#
# IMPORT G3FacsimileBodyPart FROM { mhs-motis ipms modules
# information-objects }
#
# personalSignature ATTRIBUTE
# WITH ATTRIBUTE-SYNTAX
# CHOICE {
# g3-facsimile [3] G3FacsimileBodyPart
# }
# (SIZE (1 .. ub-personal-signature))
# ::= {pilotAttributeType 53}
#
attributetype ( 0.9.2342.19200300.100.1.53 NAME 'personalSignature'
DESC 'RFC1274: Personal Signature (G3 fax)'
SYNTAX 1.3.6.1.4.1.1466.115.121.1.23 )
# 9.3.44. DIT Redirect
#
# The DIT Redirect attribute type is used to indicate that the object
# described by one entry now has a newer entry in the DIT. The entry
# containing the redirection attribute should be expired after a
# suitable grace period. This attribute may be used when an individual
# changes his/her place of work, and thus acquires a new organisational
# DN.
#
# dITRedirect ATTRIBUTE
# WITH ATTRIBUTE-SYNTAX
# distinguishedNameSyntax
# ::= {pilotAttributeType 54}
#
attributetype ( 0.9.2342.19200300.100.1.54 NAME 'dITRedirect'
DESC 'RFC1274: DIT Redirect'
EQUALITY distinguishedNameMatch
SYNTAX 1.3.6.1.4.1.1466.115.121.1.12 )
# 9.3.45. Audio
#
# The Audio attribute type allows the storing of sounds in the
# Directory. The attribute uses a u-law encoded sound file as used by
# the "play" utility on a Sun 4. This is an interim format.
#
# audio ATTRIBUTE
# WITH ATTRIBUTE-SYNTAX
# Audio
# (SIZE (1 .. ub-audio))
# ::= {pilotAttributeType 55}
#
attributetype ( 0.9.2342.19200300.100.1.55 NAME 'audio'
DESC 'RFC1274: audio (u-law)'
SYNTAX 1.3.6.1.4.1.1466.115.121.1.4{25000} )
# 9.3.46. Publisher of Document
#
#
# The Publisher of Document attribute is the person and/or organization
# that published a document.
#
# documentPublisher ATTRIBUTE
# WITH ATTRIBUTE SYNTAX caseIgnoreStringSyntax
# ::= {pilotAttributeType 56}
#
attributetype ( 0.9.2342.19200300.100.1.56 NAME 'documentPublisher'
DESC 'RFC1274: publisher of document'
EQUALITY caseIgnoreMatch
SUBSTR caseIgnoreSubstringsMatch
SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 )
# 9.4. Generally useful syntaxes
#
# caseIgnoreIA5StringSyntax ATTRIBUTE-SYNTAX
# IA5String
# MATCHES FOR EQUALITY SUBSTRINGS
#
# iA5StringSyntax ATTRIBUTE-SYNTAX
# IA5String
# MATCHES FOR EQUALITY SUBSTRINGS
#
#
# -- Syntaxes to support the DNS attributes
#
# DNSRecordSyntax ATTRIBUTE-SYNTAX
# IA5String
# MATCHES FOR EQUALITY
#
#
# NRSInformationSyntax ATTRIBUTE-SYNTAX
# NRSInformation
# MATCHES FOR EQUALITY
#
#
# NRSInformation ::= SET {
# [0] Context,
# [1] Address-space-id,
# routes [2] SEQUENCE OF SEQUENCE {
# Route-cost,
# Addressing-info }
# }
#
#
# 9.5. Upper bounds on length of attribute values
#
#
# ub-document-identifier INTEGER ::= 256
#
# ub-document-location INTEGER ::= 256
#
# ub-document-title INTEGER ::= 256
#
# ub-document-version INTEGER ::= 256
#
# ub-favourite-drink INTEGER ::= 256
#
# ub-host INTEGER ::= 256
#
# ub-information INTEGER ::= 2048
#
# ub-unique-identifier INTEGER ::= 256
#
# ub-personal-title INTEGER ::= 256
#
# ub-photo INTEGER ::= 250000
#
# ub-rfc822-mailbox INTEGER ::= 256
#
# ub-room-number INTEGER ::= 256
#
# ub-text-or-address INTEGER ::= 256
#
# ub-user-class INTEGER ::= 256
#
# ub-user-identifier INTEGER ::= 256
#
# ub-organizational-status INTEGER ::= 256
#
# ub-janet-mailbox INTEGER ::= 256
#
# ub-building-name INTEGER ::= 256
#
# ub-personal-signature ::= 50000
#
# ub-audio INTEGER ::= 250000
#
# [back to 8]
# 8. Object Classes
#
# 8.1. X.500 standard object classes
#
# A number of generally useful object classes are defined in X.521, and
# these are supported. Refer to that document for descriptions of the
# suggested usage of these object classes. The ASN.1 for these object
# classes is reproduced for completeness in Appendix C.
#
# 8.2. X.400 standard object classes
#
# A number of object classes defined in X.400 are supported. Refer to
# X.402 for descriptions of the usage of these object classes. The
# ASN.1 for these object classes is reproduced for completeness in
# Appendix C.
#
# 8.3. COSINE/Internet object classes
#
# This section attempts to fuse together the object classes designed
# for use in the COSINE and Internet pilot activities. Descriptions
# are given of the suggested usage of these object classes. The ASN.1
# for these object classes is also reproduced in Appendix C.
#
# 8.3.1. Pilot Object
#
# The PilotObject object class is used as a sub-class to allow some
# common, useful attributes to be assigned to entries of all other
# object classes.
#
# pilotObject OBJECT-CLASS
# SUBCLASS OF top
# MAY CONTAIN {
# info,
# photo,
# manager,
# uniqueIdentifier,
# lastModifiedTime,
# lastModifiedBy,
# dITRedirect,
# audio}
# ::= {pilotObjectClass 3}
#
#objectclass ( 0.9.2342.19200300.100.4.3 NAME 'pilotObject'
# DESC 'RFC1274: pilot object'
# SUP top AUXILIARY
# MAY ( info $ photo $ manager $ uniqueIdentifier $
# lastModifiedTime $ lastModifiedBy $ dITRedirect $ audio )
# )
# 8.3.2. Pilot Person
#
# The PilotPerson object class is used as a sub-class of person, to
# allow the use of a number of additional attributes to be assigned to
# entries of object class person.
#
# pilotPerson OBJECT-CLASS
# SUBCLASS OF person
# MAY CONTAIN {
# userid,
# textEncodedORAddress,
# rfc822Mailbox,
# favouriteDrink,
# roomNumber,
# userClass,
# homeTelephoneNumber,
# homePostalAddress,
# secretary,
# personalTitle,
# preferredDeliveryMethod,
# businessCategory,
# janetMailbox,
# otherMailbox,
# mobileTelephoneNumber,
# pagerTelephoneNumber,
# organizationalStatus,
# mailPreferenceOption,
# personalSignature}
# ::= {pilotObjectClass 4}
#
objectclass ( 0.9.2342.19200300.100.4.4
NAME ( 'pilotPerson' 'newPilotPerson' )
SUP person STRUCTURAL
MAY ( userid $ textEncodedORAddress $ rfc822Mailbox $
favouriteDrink $ roomNumber $ userClass $
homeTelephoneNumber $ homePostalAddress $ secretary $
personalTitle $ preferredDeliveryMethod $ businessCategory $
janetMailbox $ otherMailbox $ mobileTelephoneNumber $
pagerTelephoneNumber $ organizationalStatus $
mailPreferenceOption $ personalSignature )
)
# 8.3.3. Account
#
# The Account object class is used to define entries representing
# computer accounts. The userid attribute should be used for naming
# entries of this object class.
#
# account OBJECT-CLASS
# SUBCLASS OF top
# MUST CONTAIN {
# userid}
# MAY CONTAIN {
# description,
# seeAlso,
# localityName,
# organizationName,
# organizationalUnitName,
# host}
# ::= {pilotObjectClass 5}
#
objectclass ( 0.9.2342.19200300.100.4.5 NAME 'account'
SUP top STRUCTURAL
MUST userid
MAY ( description $ seeAlso $ localityName $
organizationName $ organizationalUnitName $ host )
)
# 8.3.4. Document
#
# The Document object class is used to define entries which represent
# documents.
#
# document OBJECT-CLASS
# SUBCLASS OF top
# MUST CONTAIN {
# documentIdentifier}
# MAY CONTAIN {
# commonName,
# description,
# seeAlso,
# localityName,
# organizationName,
# organizationalUnitName,
# documentTitle,
# documentVersion,
# documentAuthor,
# documentLocation,
# documentPublisher}
# ::= {pilotObjectClass 6}
#
objectclass ( 0.9.2342.19200300.100.4.6 NAME 'document'
SUP top STRUCTURAL
MUST documentIdentifier
MAY ( commonName $ description $ seeAlso $ localityName $
organizationName $ organizationalUnitName $
documentTitle $ documentVersion $ documentAuthor $
documentLocation $ documentPublisher )
)
# 8.3.5. Room
#
# The Room object class is used to define entries representing rooms.
# The commonName attribute should be used for naming pentries of this
# object class.
#
# room OBJECT-CLASS
# SUBCLASS OF top
# MUST CONTAIN {
# commonName}
# MAY CONTAIN {
# roomNumber,
# description,
# seeAlso,
# telephoneNumber}
# ::= {pilotObjectClass 7}
#
objectclass ( 0.9.2342.19200300.100.4.7 NAME 'room'
SUP top STRUCTURAL
MUST commonName
MAY ( roomNumber $ description $ seeAlso $ telephoneNumber )
)
# 8.3.6. Document Series
#
# The Document Series object class is used to define an entry which
# represents a series of documents (e.g., The Request For Comments
# papers).
#
# documentSeries OBJECT-CLASS
# SUBCLASS OF top
# MUST CONTAIN {
# commonName}
# MAY CONTAIN {
# description,
# seeAlso,
# telephoneNumber,
# localityName,
# organizationName,
# organizationalUnitName}
# ::= {pilotObjectClass 9}
#
objectclass ( 0.9.2342.19200300.100.4.9 NAME 'documentSeries'
SUP top STRUCTURAL
MUST commonName
MAY ( description $ seeAlso $ telephonenumber $
localityName $ organizationName $ organizationalUnitName )
)
# 8.3.7. Domain
#
# The Domain object class is used to define entries which represent DNS
# or NRS domains. The domainComponent attribute should be used for
# naming entries of this object class. The usage of this object class
# is described in more detail in [3].
#
# domain OBJECT-CLASS
# SUBCLASS OF top
# MUST CONTAIN {
# domainComponent}
# MAY CONTAIN {
# associatedName,
# organizationName,
# organizationalAttributeSet}
# ::= {pilotObjectClass 13}
#
objectclass ( 0.9.2342.19200300.100.4.13 NAME 'domain'
SUP top STRUCTURAL
MUST domainComponent
MAY ( associatedName $ organizationName $ description $
businessCategory $ seeAlso $ searchGuide $ userPassword $
localityName $ stateOrProvinceName $ streetAddress $
physicalDeliveryOfficeName $ postalAddress $ postalCode $
postOfficeBox $ streetAddress $
facsimileTelephoneNumber $ internationalISDNNumber $
telephoneNumber $ teletexTerminalIdentifier $ telexNumber $
preferredDeliveryMethod $ destinationIndicator $
registeredAddress $ x121Address )
)
# 8.3.8. RFC822 Local Part
#
# The RFC822 Local Part object class is used to define entries which
# represent the local part of RFC822 mail addresses. This treats this
# part of an RFC822 address as a domain. The usage of this object
# class is described in more detail in [3].
#
# rFC822localPart OBJECT-CLASS
# SUBCLASS OF domain
# MAY CONTAIN {
# commonName,
# surname,
# description,
# seeAlso,
# telephoneNumber,
# postalAttributeSet,
# telecommunicationAttributeSet}
# ::= {pilotObjectClass 14}
#
objectclass ( 0.9.2342.19200300.100.4.14 NAME 'RFC822localPart'
SUP domain STRUCTURAL
MAY ( commonName $ surname $ description $ seeAlso $ telephoneNumber $
physicalDeliveryOfficeName $ postalAddress $ postalCode $
postOfficeBox $ streetAddress $
facsimileTelephoneNumber $ internationalISDNNumber $
telephoneNumber $ teletexTerminalIdentifier $
telexNumber $ preferredDeliveryMethod $ destinationIndicator $
registeredAddress $ x121Address )
)
# 8.3.9. DNS Domain
#
# The DNS Domain (Domain NameServer) object class is used to define
# entries for DNS domains. The usage of this object class is described
# in more detail in [3].
#
# dNSDomain OBJECT-CLASS
# SUBCLASS OF domain
# MAY CONTAIN {
# ARecord,
# MDRecord,
# MXRecord,
# NSRecord,
# SOARecord,
# CNAMERecord}
# ::= {pilotObjectClass 15}
#
objectclass ( 0.9.2342.19200300.100.4.15 NAME 'dNSDomain'
SUP domain STRUCTURAL
MAY ( ARecord $ MDRecord $ MXRecord $ NSRecord $
SOARecord $ CNAMERecord )
)
# 8.3.10. Domain Related Object
#
# The Domain Related Object object class is used to define entries
# which represent DNS/NRS domains which are "equivalent" to an X.500
# domain: e.g., an organisation or organisational unit. The usage of
# this object class is described in more detail in [3].
#
# domainRelatedObject OBJECT-CLASS
# SUBCLASS OF top
# MUST CONTAIN {
# associatedDomain}
# ::= {pilotObjectClass 17}
#
objectclass ( 0.9.2342.19200300.100.4.17 NAME 'domainRelatedObject'
DESC 'RFC1274: an object related to an domain'
SUP top AUXILIARY
MUST associatedDomain )
# 8.3.11. Friendly Country
#
# The Friendly Country object class is used to define country entries
# in the DIT. The object class is used to allow friendlier naming of
# countries than that allowed by the object class country. The naming
# attribute of object class country, countryName, has to be a 2 letter
# string defined in ISO 3166.
#
# friendlyCountry OBJECT-CLASS
# SUBCLASS OF country
# MUST CONTAIN {
# friendlyCountryName}
# ::= {pilotObjectClass 18}
#
objectclass ( 0.9.2342.19200300.100.4.18 NAME 'friendlyCountry'
SUP country STRUCTURAL
MUST friendlyCountryName )
# 8.3.12. Simple Security Object
#
# The Simple Security Object object class is used to allow an entry to
# have a userPassword attribute when an entry's principal object
# classes do not allow userPassword as an attribute type.
#
# simpleSecurityObject OBJECT-CLASS
# SUBCLASS OF top
# MUST CONTAIN {
# userPassword }
# ::= {pilotObjectClass 19}
#
## (in core.schema)
## objectclass ( 0.9.2342.19200300.100.4.19 NAME 'simpleSecurityObject'
## SUP top AUXILIARY
## MUST userPassword )
# 8.3.13. Pilot Organization
#
# The PilotOrganization object class is used as a sub-class of
# organization and organizationalUnit to allow a number of additional
# attributes to be assigned to entries of object classes organization
# and organizationalUnit.
#
# pilotOrganization OBJECT-CLASS
# SUBCLASS OF organization, organizationalUnit
# MAY CONTAIN {
# buildingName}
# ::= {pilotObjectClass 20}
#
objectclass ( 0.9.2342.19200300.100.4.20 NAME 'pilotOrganization'
SUP ( organization $ organizationalUnit ) STRUCTURAL
MAY buildingName )
# 8.3.14. Pilot DSA
#
# The PilotDSA object class is used as a sub-class of the dsa object
# class to allow additional attributes to be assigned to entries for
# DSAs.
#
# pilotDSA OBJECT-CLASS
# SUBCLASS OF dsa
# MUST CONTAIN {
# dSAQuality}
# ::= {pilotObjectClass 21}
#
objectclass ( 0.9.2342.19200300.100.4.21 NAME 'pilotDSA'
SUP dsa STRUCTURAL
MAY dSAQuality )
# 8.3.15. Quality Labelled Data
#
# The Quality Labelled Data object class is used to allow the
# assignment of the data quality attributes to subtrees in the DIT.
#
# See [8] for more details.
#
# qualityLabelledData OBJECT-CLASS
# SUBCLASS OF top
# MUST CONTAIN {
# dSAQuality}
# MAY CONTAIN {
# subtreeMinimumQuality,
# subtreeMaximumQuality}
# ::= {pilotObjectClass 22}
objectclass ( 0.9.2342.19200300.100.4.22 NAME 'qualityLabelledData'
SUP top AUXILIARY
MUST dsaQuality
MAY ( subtreeMinimumQuality $ subtreeMaximumQuality )
)
# References
#
# [1] CCITT/ISO, "X.500, The Directory - overview of concepts,
# models and services, CCITT /ISO IS 9594.
#
# [2] Kille, S., "The THORN and RARE X.500 Naming Architecture, in
# University College London, Department of Computer Science
# Research Note 89/48, May 1989.
#
# [3] Kille, S., "X.500 and Domains", RFC 1279, University College
# London, November 1991.
#
# [4] Rose, M., "PSI/NYSERNet White Pages Pilot Project: Status
# Report", Technical Report 90-09-10-1, published by NYSERNet
# Inc, 1990.
#
# [5] Craigie, J., "UK Academic Community Directory Service Pilot
# Project, pp. 305-310 in Computer Networks and ISDN Systems
# 17 (1989), published by North Holland.
#
# [6] Mockapetris, P., "Domain Names - Concepts and Facilities",
# RFC 1034, USC/Information Sciences Institute, November 1987.
#
# [7] Mockapetris, P., "Domain Names - Implementation and
# Specification, RFC 1035, USC/Information Sciences Institute,
# November 1987.
#
# [8] Kille, S., "Handling QOS (Quality of service) in the
# Directory," publication in process, March 1991.
#
#
# APPENDIX C - Summary of all Object Classes and Attribute Types
#
# -- Some Important Object Identifiers
#
# data OBJECT IDENTIFIER ::= {ccitt 9}
# pss OBJECT IDENTIFIER ::= {data 2342}
# ucl OBJECT IDENTIFIER ::= {pss 19200300}
# pilot OBJECT IDENTIFIER ::= {ucl 100}
#
# pilotAttributeType OBJECT IDENTIFIER ::= {pilot 1}
# pilotAttributeSyntax OBJECT IDENTIFIER ::= {pilot 3}
# pilotObjectClass OBJECT IDENTIFIER ::= {pilot 4}
# pilotGroups OBJECT IDENTIFIER ::= {pilot 10}
#
# iA5StringSyntax OBJECT IDENTIFIER ::= {pilotAttributeSyntax 4}
# caseIgnoreIA5StringSyntax OBJECT IDENTIFIER ::=
# {pilotAttributeSyntax 5}
#
# -- Standard Object Classes
#
# top OBJECT-CLASS
# MUST CONTAIN {
# objectClass}
# ::= {objectClass 0}
#
#
# alias OBJECT-CLASS
# SUBCLASS OF top
# MUST CONTAIN {
# aliasedObjectName}
# ::= {objectClass 1}
#
#
# country OBJECT-CLASS
# SUBCLASS OF top
# MUST CONTAIN {
# countryName}
# MAY CONTAIN {
# description,
# searchGuide}
# ::= {objectClass 2}
#
#
# locality OBJECT-CLASS
# SUBCLASS OF top
# MAY CONTAIN {
# description,
# localityName,
# stateOrProvinceName,
# searchGuide,
# seeAlso,
# streetAddress}
# ::= {objectClass 3}
#
#
# organization OBJECT-CLASS
# SUBCLASS OF top
# MUST CONTAIN {
# organizationName}
# MAY CONTAIN {
# organizationalAttributeSet}
# ::= {objectClass 4}
#
#
# organizationalUnit OBJECT-CLASS
# SUBCLASS OF top
# MUST CONTAIN {
# organizationalUnitName}
# MAY CONTAIN {
# organizationalAttributeSet}
# ::= {objectClass 5}
#
#
# person OBJECT-CLASS
# SUBCLASS OF top
# MUST CONTAIN {
# commonName,
# surname}
# MAY CONTAIN {
# description,
# seeAlso,
# telephoneNumber,
# userPassword}
# ::= {objectClass 6}
#
#
# organizationalPerson OBJECT-CLASS
# SUBCLASS OF person
# MAY CONTAIN {
# localeAttributeSet,
# organizationalUnitName,
# postalAttributeSet,
# telecommunicationAttributeSet,
# title}
# ::= {objectClass 7}
#
#
# organizationalRole OBJECT-CLASS
# SUBCLASS OF top
# MUST CONTAIN {
# commonName}
# MAY CONTAIN {
# description,
# localeAttributeSet,
# organizationalUnitName,
# postalAttributeSet,
# preferredDeliveryMethod,
# roleOccupant,
# seeAlso,
# telecommunicationAttributeSet}
# ::= {objectClass 8}
#
#
# groupOfNames OBJECT-CLASS
# SUBCLASS OF top
# MUST CONTAIN {
# commonName,
# member}
# MAY CONTAIN {
# description,
# organizationName,
# organizationalUnitName,
# owner,
# seeAlso,
# businessCategory}
# ::= {objectClass 9}
#
#
# residentialPerson OBJECT-CLASS
# SUBCLASS OF person
# MUST CONTAIN {
# localityName}
# MAY CONTAIN {
# localeAttributeSet,
# postalAttributeSet,
# preferredDeliveryMethod,
# telecommunicationAttributeSet,
# businessCategory}
# ::= {objectClass 10}
#
#
# applicationProcess OBJECT-CLASS
# SUBCLASS OF top
# MUST CONTAIN {
# commonName}
# MAY CONTAIN {
# description,
# localityName,
# organizationalUnitName,
# seeAlso}
# ::= {objectClass 11}
#
#
# applicationEntity OBJECT-CLASS
# SUBCLASS OF top
# MUST CONTAIN {
# commonName,
# presentationAddress}
# MAY CONTAIN {
# description,
# localityName,
# organizationName,
# organizationalUnitName,
# seeAlso,
# supportedApplicationContext}
# ::= {objectClass 12}
#
#
# dSA OBJECT-CLASS
# SUBCLASS OF applicationEntity
# MAY CONTAIN {
# knowledgeInformation}
# ::= {objectClass 13}
#
#
# device OBJECT-CLASS
# SUBCLASS OF top
# MUST CONTAIN {
# commonName}
# MAY CONTAIN {
# description,
# localityName,
# organizationName,
# organizationalUnitName,
# owner,
# seeAlso,
# serialNumber}
# ::= {objectClass 14}
#
#
# strongAuthenticationUser OBJECT-CLASS
# SUBCLASS OF top
# MUST CONTAIN {
# userCertificate}
# ::= {objectClass 15}
#
#
# certificationAuthority OBJECT-CLASS
# SUBCLASS OF top
# MUST CONTAIN {
# cACertificate,
# certificateRevocationList,
# authorityRevocationList}
# MAY CONTAIN {
# crossCertificatePair}
# ::= {objectClass 16}
#
# -- Standard MHS Object Classes
#
# mhsDistributionList OBJECT-CLASS
# SUBCLASS OF top
# MUST CONTAIN {
# commonName,
# mhsDLSubmitPermissions,
# mhsORAddresses}
# MAY CONTAIN {
# description,
# organizationName,
# organizationalUnitName,
# owner,
# seeAlso,
# mhsDeliverableContentTypes,
# mhsdeliverableEits,
# mhsDLMembers,
# mhsPreferredDeliveryMethods}
# ::= {mhsObjectClass 0}
#
#
# mhsMessageStore OBJECT-CLASS
# SUBCLASS OF applicationEntity
# MAY CONTAIN {
# description,
# owner,
# mhsSupportedOptionalAttributes,
# mhsSupportedAutomaticActions,
# mhsSupportedContentTypes}
# ::= {mhsObjectClass 1}
#
#
# mhsMessageTransferAgent OBJECT-CLASS
# SUBCLASS OF applicationEntity
# MAY CONTAIN {
# description,
# owner,
# mhsDeliverableContentLength}
# ::= {mhsObjectClass 2}
#
#
# mhsOrganizationalUser OBJECT-CLASS
# SUBCLASS OF organizationalPerson
# MUST CONTAIN {
# mhsORAddresses}
# MAY CONTAIN {
# mhsDeliverableContentLength,
# mhsDeliverableContentTypes,
# mhsDeliverableEits,
# mhsMessageStoreName,
# mhsPreferredDeliveryMethods }
# ::= {mhsObjectClass 3}
#
#
# mhsResidentialUser OBJECT-CLASS
# SUBCLASS OF residentialPerson
# MUST CONTAIN {
# mhsORAddresses}
# MAY CONTAIN {
# mhsDeliverableContentLength,
# mhsDeliverableContentTypes,
# mhsDeliverableEits,
# mhsMessageStoreName,
# mhsPreferredDeliveryMethods }
# ::= {mhsObjectClass 4}
#
#
# mhsUserAgent OBJECT-CLASS
# SUBCLASS OF applicationEntity
# MAY CONTAIN {
# mhsDeliverableContentLength,
# mhsDeliverableContentTypes,
# mhsDeliverableEits,
# mhsORAddresses,
# owner}
# ::= {mhsObjectClass 5}
#
#
#
#
# -- Pilot Object Classes
#
# pilotObject OBJECT-CLASS
# SUBCLASS OF top
# MAY CONTAIN {
# info,
# photo,
# manager,
# uniqueIdentifier,
# lastModifiedTime,
# lastModifiedBy,
# dITRedirect,
# audio}
# ::= {pilotObjectClass 3}
# pilotPerson OBJECT-CLASS
# SUBCLASS OF person
# MAY CONTAIN {
# userid,
# textEncodedORAddress,
# rfc822Mailbox,
# favouriteDrink,
# roomNumber,
# userClass,
# homeTelephoneNumber,
# homePostalAddress,
# secretary,
# personalTitle,
# preferredDeliveryMethod,
# businessCategory,
# janetMailbox,
# otherMailbox,
# mobileTelephoneNumber,
# pagerTelephoneNumber,
# organizationalStatus,
# mailPreferenceOption,
# personalSignature}
# ::= {pilotObjectClass 4}
#
#
# account OBJECT-CLASS
# SUBCLASS OF top
# MUST CONTAIN {
# userid}
# MAY CONTAIN {
# description,
# seeAlso,
# localityName,
# organizationName,
# organizationalUnitName,
# host}
# ::= {pilotObjectClass 5}
#
#
# document OBJECT-CLASS
# SUBCLASS OF top
# MUST CONTAIN {
# documentIdentifier}
# MAY CONTAIN {
# commonName,
# description,
# seeAlso,
# localityName,
# organizationName,
# organizationalUnitName,
# documentTitle,
# documentVersion,
# documentAuthor,
# documentLocation,
# documentPublisher}
# ::= {pilotObjectClass 6}
#
#
# room OBJECT-CLASS
# SUBCLASS OF top
# MUST CONTAIN {
# commonName}
# MAY CONTAIN {
# roomNumber,
# description,
# seeAlso,
# telephoneNumber}
# ::= {pilotObjectClass 7}
#
#
# documentSeries OBJECT-CLASS
# SUBCLASS OF top
# MUST CONTAIN {
# commonName}
# MAY CONTAIN {
# description,
# seeAlso,
# telephoneNumber,
# localityName,
# organizationName,
# organizationalUnitName}
# ::= {pilotObjectClass 9}
#
#
# domain OBJECT-CLASS
# SUBCLASS OF top
# MUST CONTAIN {
# domainComponent}
# MAY CONTAIN {
# associatedName,
# organizationName,
# organizationalAttributeSet}
# ::= {pilotObjectClass 13}
#
#
# rFC822localPart OBJECT-CLASS
# SUBCLASS OF domain
# MAY CONTAIN {
# commonName,
# surname,
# description,
# seeAlso,
# telephoneNumber,
# postalAttributeSet,
# telecommunicationAttributeSet}
# ::= {pilotObjectClass 14}
#
#
# dNSDomain OBJECT-CLASS
# SUBCLASS OF domain
# MAY CONTAIN {
# ARecord,
# MDRecord,
# MXRecord,
# NSRecord,
# SOARecord,
# CNAMERecord}
# ::= {pilotObjectClass 15}
#
#
# domainRelatedObject OBJECT-CLASS
# SUBCLASS OF top
# MUST CONTAIN {
# associatedDomain}
# ::= {pilotObjectClass 17}
#
#
# friendlyCountry OBJECT-CLASS
# SUBCLASS OF country
# MUST CONTAIN {
# friendlyCountryName}
# ::= {pilotObjectClass 18}
#
#
# simpleSecurityObject OBJECT-CLASS
# SUBCLASS OF top
# MUST CONTAIN {
# userPassword }
# ::= {pilotObjectClass 19}
#
#
# pilotOrganization OBJECT-CLASS
# SUBCLASS OF organization, organizationalUnit
# MAY CONTAIN {
# buildingName}
# ::= {pilotObjectClass 20}
#
#
# pilotDSA OBJECT-CLASS
# SUBCLASS OF dsa
# MUST CONTAIN {
# dSAQuality}
# ::= {pilotObjectClass 21}
#
#
# qualityLabelledData OBJECT-CLASS
# SUBCLASS OF top
# MUST CONTAIN {
# dSAQuality}
# MAY CONTAIN {
# subtreeMinimumQuality,
# subtreeMaximumQuality}
# ::= {pilotObjectClass 22}
#
#
#
#
# -- Standard Attribute Types
#
# objectClass ObjectClass
# ::= {attributeType 0}
#
#
# aliasedObjectName AliasedObjectName
# ::= {attributeType 1}
#
#
# knowledgeInformation ATTRIBUTE
# WITH ATTRIBUTE-SYNTAX caseIgnoreString
# ::= {attributeType 2}
#
#
# commonName ATTRIBUTE
# WITH ATTRIBUTE-SYNTAX caseIgnoreStringSyntax
# (SIZE (1..ub-common-name))
# ::= {attributeType 3}
#
#
# surname ATTRIBUTE
# WITH ATTRIBUTE-SYNTAX caseIgnoreStringSyntax
# (SIZE (1..ub-surname))
# ::= {attributeType 4}
#
#
# serialNumber ATTRIBUTE
# WITH ATTRIBUTE-SYNTAX printableStringSyntax
# (SIZE (1..ub-serial-number))
# ::= {attributeType 5}
#
#
# countryName ATTRIBUTE
# WITH ATTRIBUTE-SYNTAX PrintableString
# (SIZE (1..ub-country-code))
# SINGLE VALUE
# ::= {attributeType 6}
#
#
# localityName ATTRIBUTE
# WITH ATTRIBUTE-SYNTAX caseIgnoreStringSyntax
# (SIZE (1..ub-locality-name))
# ::= {attributeType 7}
#
#
# stateOrProvinceName ATTRIBUTE
# WITH ATTRIBUTE-SYNTAX caseIgnoreStringSyntax
# (SIZE (1..ub-state-name))
# ::= {attributeType 8}
#
#
# streetAddress ATTRIBUTE
# WITH ATTRIBUTE-SYNTAX caseIgnoreStringSyntax
# (SIZE (1..ub-street-address))
# ::= {attributeType 9}
#
#
# organizationName ATTRIBUTE
# WITH ATTRIBUTE-SYNTAX caseIgnoreStringSyntax
# (SIZE (1..ub-organization-name))
# ::= {attributeType 10}
#
#
# organizationalUnitName ATTRIBUTE
# WITH ATTRIBUTE-SYNTAX caseIgnoreStringSyntax
# (SIZE (1..ub-organizational-unit-name))
# ::= {attributeType 11}
#
#
# title ATTRIBUTE
# WITH ATTRIBUTE-SYNTAX caseIgnoreStringSyntax
# (SIZE (1..ub-title))
# ::= {attributeType 12}
#
#
# description ATTRIBUTE
# WITH ATTRIBUTE-SYNTAX caseIgnoreStringSyntax
# (SIZE (1..ub-description))
# ::= {attributeType 13}
#
#
# searchGuide ATTRIBUTE
# WITH ATTRIBUTE-SYNTAX Guide
# ::= {attributeType 14}
#
#
# businessCategory ATTRIBUTE
# WITH ATTRIBUTE-SYNTAX caseIgnoreStringSyntax
# (SIZE (1..ub-business-category))
# ::= {attributeType 15}
#
#
# postalAddress ATTRIBUTE
# WITH ATTRIBUTE-SYNTAX PostalAddress
# MATCHES FOR EQUALITY
# ::= {attributeType 16}
#
#
# postalCode ATTRIBUTE
# WITH ATTRIBUTE-SYNTAX caseIgnoreStringSyntax
# (SIZE (1..ub-postal-code))
# ::= {attributeType 17}
#
#
# postOfficeBox ATTRIBUTE
# WITH ATTRIBUTE-SYNTAX caseIgnoreStringSyntax
# (SIZE (1..ub-post-office-box))
# ::= {attributeType 18}
#
#
# physicalDeliveryOfficeName ATTRIBUTE
# WITH ATTRIBUTE-SYNTAX caseIgnoreStringSyntax
# (SIZE (1..ub-physical-office-name))
# ::= {attributeType 19}
#
#
# telephoneNumber ATTRIBUTE
# WITH ATTRIBUTE-SYNTAX telephoneNumberSyntax
# (SIZE (1..ub-telephone-number))
# ::= {attributeType 20}
#
#
# telexNumber ATTRIBUTE
# WITH ATTRIBUTE-SYNTAX TelexNumber
# (SIZE (1..ub-telex))
# ::= {attributeType 21}
#
#
# teletexTerminalIdentifier ATTRIBUTE
# WITH ATTRIBUTE-SYNTAX TeletexTerminalIdentifier
# (SIZE (1..ub-teletex-terminal-id))
# ::= {attributeType 22}
#
#
# facsimileTelephoneNumber ATTRIBUTE
# WITH ATTRIBUTE-SYNTAX FacsimileTelephoneNumber
# ::= {attributeType 23}
#
#
# x121Address ATTRIBUTE
# WITH ATTRIBUTE-SYNTAX NumericString
# (SIZE (1..ub-x121-address))
# ::= {attributeType 24}
#
#
# internationaliSDNNumber ATTRIBUTE
# WITH ATTRIBUTE-SYNTAX NumericString
# (SIZE (1..ub-isdn-address))
# ::= {attributeType 25}
#
#
# registeredAddress ATTRIBUTE
# WITH ATTRIBUTE-SYNTAX PostalAddress
# ::= {attributeType 26}
#
#
# destinationIndicator ATTRIBUTE
# WITH ATTRIBUTE-SYNTAX PrintableString
# (SIZE (1..ub-destination-indicator))
# MATCHES FOR EQUALITY SUBSTRINGS
# ::= {attributeType 27}
#
#
# preferredDeliveryMethod ATTRIBUTE
# WITH ATTRIBUTE-SYNTAX deliveryMethod
# ::= {attributeType 28}
#
#
# presentationAddress ATTRIBUTE
# WITH ATTRIBUTE-SYNTAX PresentationAddress
# MATCHES FOR EQUALITY
# ::= {attributeType 29}
#
#
# supportedApplicationContext ATTRIBUTE
# WITH ATTRIBUTE-SYNTAX objectIdentifierSyntax
# ::= {attributeType 30}
#
#
# member ATTRIBUTE
# WITH ATTRIBUTE-SYNTAX distinguishedNameSyntax
# ::= {attributeType 31}
#
#
# owner ATTRIBUTE
# WITH ATTRIBUTE-SYNTAX distinguishedNameSyntax
# ::= {attributeType 32}
#
#
# roleOccupant ATTRIBUTE
# WITH ATTRIBUTE-SYNTAX distinguishedNameSyntax
# ::= {attributeType 33}
#
#
# seeAlso ATTRIBUTE
# WITH ATTRIBUTE-SYNTAX distinguishedNameSyntax
# ::= {attributeType 34}
#
#
# userPassword ATTRIBUTE
# WITH ATTRIBUTE-SYNTAX Userpassword
# ::= {attributeType 35}
#
#
# userCertificate ATTRIBUTE
# WITH ATTRIBUTE-SYNTAX UserCertificate
# ::= {attributeType 36}
#
#
# cACertificate ATTRIBUTE
# WITH ATTRIBUTE-SYNTAX cACertificate
# ::= {attributeType 37}
#
#
# authorityRevocationList ATTRIBUTE
# WITH ATTRIBUTE-SYNTAX AuthorityRevocationList
# ::= {attributeType 38}
#
#
# certificateRevocationList ATTRIBUTE
# WITH ATTRIBUTE-SYNTAX CertificateRevocationList
# ::= {attributeType 39}
#
#
# crossCertificatePair ATTRIBUTE
# WITH ATTRIBUTE-SYNTAX CrossCertificatePair
# ::= {attributeType 40}
#
#
#
#
# -- Standard MHS Attribute Types
#
# mhsDeliverableContentLength ATTRIBUTE
# WITH ATTRIBUTE-SYNTAX integer
# ::= {mhsAttributeType 0}
#
#
# mhsDeliverableContentTypes ATTRIBUTE
# WITH ATTRIBUTE-SYNTAX oID
# ::= {mhsAttributeType 1}
#
#
# mhsDeliverableEits ATTRIBUTE
# WITH ATTRIBUTE-SYNTAX oID
# ::= {mhsAttributeType 2}
#
#
# mhsDLMembers ATTRIBUTE
# WITH ATTRIBUTE-SYNTAX oRName
# ::= {mhsAttributeType 3}
#
#
# mhsDLSubmitPermissions ATTRIBUTE
# WITH ATTRIBUTE-SYNTAX dLSubmitPermission
# ::= {mhsAttributeType 4}
#
#
# mhsMessageStoreName ATTRIBUTE
# WITH ATTRIBUTE-SYNTAX dN
# ::= {mhsAttributeType 5}
#
#
# mhsORAddresses ATTRIBUTE
# WITH ATTRIBUTE-SYNTAX oRAddress
# ::= {mhsAttributeType 6}
#
#
# mhsPreferredDeliveryMethods ATTRIBUTE
# WITH ATTRIBUTE-SYNTAX deliveryMethod
# ::= {mhsAttributeType 7}
#
#
# mhsSupportedAutomaticActions ATTRIBUTE
# WITH ATTRIBUTE-SYNTAX oID
# ::= {mhsAttributeType 8}
#
#
# mhsSupportedContentTypes ATTRIBUTE
#
# WITH ATTRIBUTE-SYNTAX oID
# ::= {mhsAttributeType 9}
#
#
# mhsSupportedOptionalAttributes ATTRIBUTE
# WITH ATTRIBUTE-SYNTAX oID
# ::= {mhsAttributeType 10}
#
#
#
#
# -- Pilot Attribute Types
#
# userid ATTRIBUTE
# WITH ATTRIBUTE-SYNTAX
# caseIgnoreStringSyntax
# (SIZE (1 .. ub-user-identifier))
# ::= {pilotAttributeType 1}
#
#
# textEncodedORAddress ATTRIBUTE
# WITH ATTRIBUTE-SYNTAX
# caseIgnoreStringSyntax
# (SIZE (1 .. ub-text-encoded-or-address))
# ::= {pilotAttributeType 2}
#
#
# rfc822Mailbox ATTRIBUTE
# WITH ATTRIBUTE-SYNTAX
# caseIgnoreIA5StringSyntax
# (SIZE (1 .. ub-rfc822-mailbox))
# ::= {pilotAttributeType 3}
#
#
# info ATTRIBUTE
# WITH ATTRIBUTE-SYNTAX
# caseIgnoreStringSyntax
# (SIZE (1 .. ub-information))
# ::= {pilotAttributeType 4}
#
#
# favouriteDrink ATTRIBUTE
# WITH ATTRIBUTE-SYNTAX
# caseIgnoreStringSyntax
# (SIZE (1 .. ub-favourite-drink))
# ::= {pilotAttributeType 5}
#
#
# roomNumber ATTRIBUTE
# WITH ATTRIBUTE-SYNTAX
# caseIgnoreStringSyntax
# (SIZE (1 .. ub-room-number))
# ::= {pilotAttributeType 6}
#
#
# photo ATTRIBUTE
# WITH ATTRIBUTE-SYNTAX
# CHOICE {
# g3-facsimile [3] G3FacsimileBodyPart
# }
# (SIZE (1 .. ub-photo))
# ::= {pilotAttributeType 7}
#
#
# userClass ATTRIBUTE
# WITH ATTRIBUTE-SYNTAX
# caseIgnoreStringSyntax
# (SIZE (1 .. ub-user-class))
# ::= {pilotAttributeType 8}
#
#
# host ATTRIBUTE
# WITH ATTRIBUTE-SYNTAX
# caseIgnoreStringSyntax
# (SIZE (1 .. ub-host))
# ::= {pilotAttributeType 9}
#
#
# manager ATTRIBUTE
# WITH ATTRIBUTE-SYNTAX
# distinguishedNameSyntax
# ::= {pilotAttributeType 10}
#
#
# documentIdentifier ATTRIBUTE
# WITH ATTRIBUTE-SYNTAX
# caseIgnoreStringSyntax
# (SIZE (1 .. ub-document-identifier))
# ::= {pilotAttributeType 11}
#
#
# documentTitle ATTRIBUTE
# WITH ATTRIBUTE-SYNTAX
# caseIgnoreStringSyntax
# (SIZE (1 .. ub-document-title))
# ::= {pilotAttributeType 12}
#
#
# documentVersion ATTRIBUTE
# WITH ATTRIBUTE-SYNTAX
# caseIgnoreStringSyntax
# (SIZE (1 .. ub-document-version))
# ::= {pilotAttributeType 13}
#
#
# documentAuthor ATTRIBUTE
# WITH ATTRIBUTE-SYNTAX
# distinguishedNameSyntax
# ::= {pilotAttributeType 14}
#
#
# documentLocation ATTRIBUTE
# WITH ATTRIBUTE-SYNTAX
# caseIgnoreStringSyntax
# (SIZE (1 .. ub-document-location))
# ::= {pilotAttributeType 15}
#
#
# homeTelephoneNumber ATTRIBUTE
# WITH ATTRIBUTE-SYNTAX
# telephoneNumberSyntax
# ::= {pilotAttributeType 20}
#
#
# secretary ATTRIBUTE
# WITH ATTRIBUTE-SYNTAX
# distinguishedNameSyntax
# ::= {pilotAttributeType 21}
#
#
# otherMailbox ATTRIBUTE
# WITH ATTRIBUTE-SYNTAX
# SEQUENCE {
# mailboxType PrintableString, -- e.g. Telemail
# mailbox IA5String -- e.g. X378:Joe
# }
# ::= {pilotAttributeType 22}
#
#
# lastModifiedTime ATTRIBUTE
# WITH ATTRIBUTE-SYNTAX
# uTCTimeSyntax
# ::= {pilotAttributeType 23}
#
#
# lastModifiedBy ATTRIBUTE
# WITH ATTRIBUTE-SYNTAX
# distinguishedNameSyntax
# ::= {pilotAttributeType 24}
#
#
# domainComponent ATTRIBUTE
# WITH ATTRIBUTE-SYNTAX
# caseIgnoreIA5StringSyntax
# SINGLE VALUE
# ::= {pilotAttributeType 25}
#
#
# aRecord ATTRIBUTE
# WITH ATTRIBUTE-SYNTAX
# DNSRecordSyntax
# ::= {pilotAttributeType 26}
#
#
# mXRecord ATTRIBUTE
# WITH ATTRIBUTE-SYNTAX
# DNSRecordSyntax
# ::= {pilotAttributeType 28}
#
#
# nSRecord ATTRIBUTE
# WITH ATTRIBUTE-SYNTAX
# DNSRecordSyntax
# ::= {pilotAttributeType 29}
#
# sOARecord ATTRIBUTE
# WITH ATTRIBUTE-SYNTAX
# DNSRecordSyntax
# ::= {pilotAttributeType 30}
#
#
# cNAMERecord ATTRIBUTE
# WITH ATTRIBUTE-SYNTAX
# iA5StringSyntax
# ::= {pilotAttributeType 31}
#
#
# associatedDomain ATTRIBUTE
# WITH ATTRIBUTE-SYNTAX
# caseIgnoreIA5StringSyntax
# ::= {pilotAttributeType 37}
#
#
# associatedName ATTRIBUTE
# WITH ATTRIBUTE-SYNTAX
# distinguishedNameSyntax
# ::= {pilotAttributeType 38}
#
#
# homePostalAddress ATTRIBUTE
# WITH ATTRIBUTE-SYNTAX
# postalAddress
# MATCHES FOR EQUALITY
# ::= {pilotAttributeType 39}
#
#
# personalTitle ATTRIBUTE
# WITH ATTRIBUTE-SYNTAX
# caseIgnoreStringSyntax
# (SIZE (1 .. ub-personal-title))
# ::= {pilotAttributeType 40}
#
#
# mobileTelephoneNumber ATTRIBUTE
# WITH ATTRIBUTE-SYNTAX
# telephoneNumberSyntax
# ::= {pilotAttributeType 41}
#
#
# pagerTelephoneNumber ATTRIBUTE
# WITH ATTRIBUTE-SYNTAX
# telephoneNumberSyntax
# ::= {pilotAttributeType 42}
#
#
# friendlyCountryName ATTRIBUTE
# WITH ATTRIBUTE-SYNTAX
# caseIgnoreStringSyntax
# ::= {pilotAttributeType 43}
#
#
# uniqueIdentifier ATTRIBUTE
# WITH ATTRIBUTE-SYNTAX
# caseIgnoreStringSyntax
# (SIZE (1 .. ub-unique-identifier))
# ::= {pilotAttributeType 44}
#
#
# organizationalStatus ATTRIBUTE
# WITH ATTRIBUTE-SYNTAX
# caseIgnoreStringSyntax
# (SIZE (1 .. ub-organizational-status))
# ::= {pilotAttributeType 45}
#
#
# janetMailbox ATTRIBUTE
# WITH ATTRIBUTE-SYNTAX
# caseIgnoreIA5StringSyntax
# (SIZE (1 .. ub-janet-mailbox))
# ::= {pilotAttributeType 46}
#
#
# mailPreferenceOption ATTRIBUTE
# WITH ATTRIBUTE-SYNTAX ENUMERATED {
# no-list-inclusion(0),
# any-list-inclusion(1), -- may be added to any lists
# professional-list-inclusion(2)
# -- may be added to lists
# -- which the list provider
# -- views as related to the
# -- users professional inter-
# -- ests, perhaps evaluated
# -- from the business of the
# -- organisation or keywords
# -- in the entry.
# }
# ::= {pilotAttributeType 47}
#
#
# buildingName ATTRIBUTE
# WITH ATTRIBUTE-SYNTAX
# caseIgnoreStringSyntax
# (SIZE (1 .. ub-building-name))
# ::= {pilotAttributeType 48}
#
#
# dSAQuality ATTRIBUTE
# WITH ATTRIBUTE-SYNTAX DSAQualitySyntax
# SINGLE VALUE
# ::= {pilotAttributeType 49}
#
#
# singleLevelQuality ATTRIBUTE
# WITH ATTRIBUTE-SYNTAX DataQualitySyntax
# SINGLE VALUE
#
#
# subtreeMinimumQuality ATTRIBUTE
# WITH ATTRIBUTE-SYNTAX DataQualitySyntax
# SINGLE VALUE
# -- Defaults to singleLevelQuality
# ::= {pilotAttributeType 51}
#
#
# subtreeMaximumQuality ATTRIBUTE
# WITH ATTRIBUTE-SYNTAX DataQualitySyntax
# SINGLE VALUE
# -- Defaults to singleLevelQuality
# ::= {pilotAttributeType 52}
#
#
# personalSignature ATTRIBUTE
# WITH ATTRIBUTE-SYNTAX
# CHOICE {
# g3-facsimile [3] G3FacsimileBodyPart
# }
# (SIZE (1 .. ub-personal-signature))
# ::= {pilotAttributeType 53}
#
#
# dITRedirect ATTRIBUTE
# WITH ATTRIBUTE-SYNTAX
# distinguishedNameSyntax
# ::= {pilotAttributeType 54}
#
#
# audio ATTRIBUTE
# WITH ATTRIBUTE-SYNTAX
# Audio
# (SIZE (1 .. ub-audio))
# ::= {pilotAttributeType 55}
#
# documentPublisher ATTRIBUTE
# WITH ATTRIBUTE SYNTAX caseIgnoreStringSyntax
# ::= {pilotAttributeType 56}
#
#
#
# -- Generally useful syntaxes
#
#
# caseIgnoreIA5StringSyntax ATTRIBUTE-SYNTAX
# IA5String
# MATCHES FOR EQUALITY SUBSTRINGS
#
#
# iA5StringSyntax ATTRIBUTE-SYNTAX
# IA5String
# MATCHES FOR EQUALITY SUBSTRINGS
#
#
# -- Syntaxes to support the DNS attributes
#
# DNSRecordSyntax ATTRIBUTE-SYNTAX
# IA5String
# MATCHES FOR EQUALITY
#
#
# NRSInformationSyntax ATTRIBUTE-SYNTAX
# NRSInformation
# MATCHES FOR EQUALITY
#
#
# NRSInformation ::= SET {
# [0] Context,
# [1] Address-space-id,
# routes [2] SEQUENCE OF SEQUENCE {
# Route-cost,
# Addressing-info }
# }
#
#
# -- Upper bounds on length of attribute values
#
#
# ub-document-identifier INTEGER ::= 256
#
# ub-document-location INTEGER ::= 256
#
# ub-document-title INTEGER ::= 256
#
# ub-document-version INTEGER ::= 256
#
# ub-favourite-drink INTEGER ::= 256
#
# ub-host INTEGER ::= 256
#
# ub-information INTEGER ::= 2048
#
# ub-unique-identifier INTEGER ::= 256
#
# ub-personal-title INTEGER ::= 256
#
# ub-photo INTEGER ::= 250000
#
# ub-rfc822-mailbox INTEGER ::= 256
#
# ub-room-number INTEGER ::= 256
#
# ub-text-or-address INTEGER ::= 256
#
# ub-user-class INTEGER ::= 256
#
# ub-user-identifier INTEGER ::= 256
#
# ub-organizational-status INTEGER ::= 256
#
# ub-janet-mailbox INTEGER ::= 256
#
# ub-building-name INTEGER ::= 256
#
# ub-personal-signature ::= 50000
#
# ub-audio INTEGER ::= 250000
#
# [remainder of memo trimmed]