Commit cb4f0fb2 authored by Kurt Zeilenga's avatar Kurt Zeilenga
Browse files

RFC 1274 cosine pilot schema

(pilot.schema is actually closer to newPilot)
parent bb4ee30a
# $OpenLDAP$
#
# RFC1274: Cosine and Internet X.500 schema
#
# This file contains LDAPv3 schema derived from X.500 "pilot"
# schema. As this schema was defined for X.500(89), some
# oddities were introduced in the mapping to LDAPv3.
#
# The syntax and matching rules of attribute types listed may be
# incomplete or otherwise incorrect.
#
# It may be best to avoid use this schema.
#
# Note: It seems that the pilot schema evolved beyond what was
# described in RFC1274. However, this document describes RFC1274
# as published. So called "newPilot" objects, such as found on
# U-Mich/OpenLDAP 1.x servers is available in newpilot.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 ( 'userid' $ 'uid' )
## SUP 'name' )
# 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 )
# 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 inetorgperson.schema)
attributetype ( 0.9.2342.19200300.100.1.3 NAME ( 'rfc822Mailbox' 'mail' )
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'
EQUALITY caseIgnoreMatch
SUBSTR caseIgnoreSubstringsMatch
SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 )
# 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 ( 'favouriteDrink' )
EQUALITY caseIgnoreMatch
SUBSTR caseIgnoreSubstringsMatch
SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 )
# 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'
EQUALITY caseIgnoreMatch
SUBSTR caseIgnoreSubstringsMatch
SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 )
# 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'
SYNTAX 1.3.6.1.4.1.1466.115.121.1.5 )
# 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'
EQUALITY caseIgnoreMatch
SUBSTR caseIgnoreSubstringsMatch
SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 )
# 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'
EQUALITY caseIgnoreMatch
SUBSTR caseIgnoreSubstringsMatch
SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 )
# 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'
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'
EQUALITY caseIgnoreMatch
SUBSTR caseIgnoreSubstringsMatch
SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 )
# 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'
EQUALITY caseIgnoreMatch
SUBSTR caseIgnoreSubstringsMatch
SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 )
# 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'
EQUALITY caseIgnoreMatch
SUBSTR caseIgnoreSubstringsMatch
SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 )
# 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'
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'
EQUALITY caseIgnoreMatch
SUBSTR caseIgnoreSubstringsMatch
SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 )
# 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 ( 'homeTelephoneNumber' 'homePhone' )
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'
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}
#
attributetype ( 0.9.2342.19200300.100.1.23 NAME 'lastModifiedTime'
SYNTAX 1.3.6.1.4.1.1466.115.121.1.53 )
# 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}
#
attributetype ( 0.9.2342.19200300.100.1.24 NAME 'lastModifiedBy'
EQUALITY distinguishedNameMatch
SYNTAX 1.3.6.1.4.1.1466.115.121.1.12 )
# 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'
## 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'
SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 )
## missing from RFC1274
attributetype ( 0.9.2342.19200300.100.1.27 NAME 'mDRecord'
SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 )
# 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'
SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 )
# 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'
SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 )
# 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'
SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 )
# 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'
SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 )
# 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.15 )
# 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'
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'
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'
EQUALITY caseIgnoreMatch
SUBSTR caseIgnoreSubstringsMatch
SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 )
# 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 ( 'mobileTelephoneNumber' 'mobile' )
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 ( 'pagerTelephoneNumber' 'pager' )
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 'friendlyCountryName'
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'
EQUALITY caseIgnoreMatch
SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 )
# 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