summaryrefslogtreecommitdiff
path: root/doc/rfc/rfc1274.txt
diff options
context:
space:
mode:
Diffstat (limited to 'doc/rfc/rfc1274.txt')
-rw-r--r--doc/rfc/rfc1274.txt3363
1 files changed, 3363 insertions, 0 deletions
diff --git a/doc/rfc/rfc1274.txt b/doc/rfc/rfc1274.txt
new file mode 100644
index 0000000..3ae2709
--- /dev/null
+++ b/doc/rfc/rfc1274.txt
@@ -0,0 +1,3363 @@
+
+
+
+
+
+
+Network Working Group P. Barker
+Request for Comments: 1274 S. Kille
+ University College London
+ November 1991
+
+
+ The COSINE and Internet X.500 Schema
+
+Status of this Memo
+
+ This RFC specifies an IAB standards track protocol for the Internet
+ community, and requests discussion and suggestions for improvements.
+ Please refer to the current edition of the "IAB Official Protocol
+ Standards" for the standardization state and status of this protocol.
+ Distribution of this memo is unlimited.
+
+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.
+
+ This document also proposes a mechanism for allowing the schema to
+ evolve in line with emerging requirements. Proformas to support this
+ process are included.
+
+ Corrections and additions to the schema should be sent to na-
+ update@cs.ucl.ac.uk list, as described within.
+
+1. Introduction
+
+ Directory Services are a fundamental requirement of both human and
+ computer communications' systems. Human users need to be able to
+ look up various details about other people: for example, telephone
+ numbers, facsimile numbers and paper mail addresses. Computing
+ systems also need Directory Services for several purposes: for
+ example, to support address look-ups for a variety of services, and
+ to support user-friendly naming and distribution lists in electronic
+ mail systems.
+
+ Directory Services have recently been standardised and published as
+ the 1988 CCITT X.500 / ISO IS9594 recommendations [1]. The standard
+ provides a good basis for the provision of real services, and a
+ considerable amount of Directory Service piloting activity is
+
+
+
+Barker & Kille [Page 1]
+
+RFC 1274 COSINE and Internet X.500 Schema November 1991
+
+
+ currently underway. In the U.S., the PSI White Pages Pilot [4] has
+ stimulated use of X.500 on the Internet. In Britain, the U.K.
+ Academic Community Directory Pilot [5] is similarly promoting use of
+ X.500.
+
+2. Motivation and aims of this document
+
+ In a number of areas the X.500 standard only provides a basis for
+ services. One such area is the Directory's Schema or Naming
+ Architecture. The standard defines a number of useful object
+ classes, in X.521, and attribute types, in X.520. These are intended
+ to be generally useful across a range of directory applications.
+ However, while these standard definitions are a useful starting
+ point, they are insufficient as a basis for a large scale pilot
+ directory.
+
+ While it is possible for directory administrators to define their own
+ sets of additional attribute types and object classes, this is
+ undesirable for some common attributes and objects. The same objects
+ and attribute types would be privately defined many times over. This
+ would result in the directory's generality being diminished as remote
+ systems would be unable to determine the semantics of these privately
+ defined data types.
+
+ A number of useful additions to the standard definitions were made in
+ this note's forerunner, "The THORN and RARE Naming Architecture" [2].
+ These have been heavily used in early X.500 piloting activities.
+ Furthermore, both the THORN and Quipu X.500 implementations have made
+ use of these definitions.
+
+ Since the afore-mentioned note was issued, a number of further
+ requirements have come to light as the volume and variety of piloting
+ activity has increased. Yet further requirements seem likely as the
+ scale of X.500 pilot services increases. Thus, it is argued that it
+ is not sufficient to merely reissue an updated version of the
+ original note. The schema is a "living document" that needs
+ procedures for:
+
+ - Allowing submission of requests for new attributes and
+ object classes to be added into the schema;
+
+ - Allowing groups of object classes and attribute types
+ defined elsewhere to be integrated into the schema.
+
+ - Checking for the redundancy of any previously defined
+ attribute types and object classes.
+
+ This document attempts to establish procedures to allow for the
+
+
+
+Barker & Kille [Page 2]
+
+RFC 1274 COSINE and Internet X.500 Schema November 1991
+
+
+ continual updating of the schema. Two proformas are set out for this
+ purpose. In addition, descriptive detail is provided for the
+ additional object classes and attribute types defined in the schema.
+ These descriptions follow the style used in X.520 and X.521.
+ Finally, also following the style adopted in the standards documents,
+ appendices will include the entire schema. Plain text versions of
+ the document's appendices are intended to be machine processable to
+ allow derivation of a system's schema tables. Appendix C lists all
+ the schema's object classes and attribute types in their respective
+ ASN.1 macro formats.
+
+ The scope and intended remit of this coordination activity should be
+ clearly understood.
+
+ - Esoteric and local, highly experimental requirements should
+ continue to be met by private definitions.
+
+ - Requirements which have support from more than one site will
+ usually be integrated into the schema. Put in other words,
+ the tendency will be for the inclusion, as opposed to the
+ exclusion, of useful additions to the schema.
+
+ - An attempt will be made to avoid duplication of object
+ classes and attribute types for essentially similar real
+ world objects.
+
+3. What conformance to this schema means
+
+ It is not reasonable to require that a DSA which supports this schema
+ has specific code to handle each of the defined syntaxes. However,
+ the following requirements are made of a system which claims
+ conformance to this specification:
+
+ 1. A DSA shall be able to store all of the attributes and
+ object class values specified. (Note that this implies
+ support for all the object classes and attribute types
+ required by strong authentication as defined in X.509.)
+
+ 2. A DUA shall be able to identify each attribute type and
+ object class to the user, with an appropriate representation
+ (e.g., a string).
+
+ 3. These statement are qualified for large attributes values
+ (>1kbyte). A conforming DSA does not have to store such
+ attribute values, and a DUA does not have to display such
+ values, although it must indicate their presence.
+
+ The following are desirable, but not required:
+
+
+
+Barker & Kille [Page 3]
+
+RFC 1274 COSINE and Internet X.500 Schema November 1991
+
+
+ 1. For a DSA to match correctly on the basis of all attribute
+ syntaxes defined
+
+ 2. For a DSA to enforce the Object Class schema implied by
+ these definitions
+
+ 3. For a DUA to correctly display the attribute values
+ (syntaxes) defined
+
+ 4. For DUAs and DSAs to maintain compatibility with a previous
+ version of the schema.
+
+4. Requesting new object classes and attribute types
+
+ This section defines procedures for requesting new object classes and
+ attribute types to be added to the schema. Proformas for object
+ classes and attribute types are specified, and examples given of how
+ to use them. A mechanism for making requests for large groups of new
+ object classes and attribute types is described in the next section.
+
+ As stated earlier, it is anticipated that the schema will evolve
+ considerably over time. As X.500 is used to support a widening range
+ of applications, there will be requirements for extensions to the
+ schema. This document proposes formalising this procedure by
+ requiring requests for additions to the schema to be submitted as
+ completed proformas. This stipulation will greatly simplify
+ subsequent revisions of the schema.
+
+ There is one qualification to the above with respect to requests for
+ modifications to an existing object class. If a modification to an
+ object class merely involves additional, optional attributes, the
+ object class will be enhanced as requested. Systems are expected to
+ be resilient to such changes to the schema. However, requests to
+ modify an object class, such that the mandatory attribute types
+ require altering, will not be met. Instead, a new object class will
+ be created, and the original object class expired following the
+ scheme described in the next main section.
+
+ It is anticipated that most requests for modifications to the schema
+ will be met without any need for editorial intervention. Sometimes,
+ however, some discussion between the submitter of a request and the
+ schema's editor may be required. For example, the editor may have to
+ judge the relative merits of two very similar requests and, as a
+ result, one of the parties may not get quite what they want. In
+ cases such as this where the submitter of a request feels aggrieved
+ about an editorial decision, the requestor may appeal to a broader
+ community by explaining their views to the mailing list osi-
+ ds@cs.ucl.ac.uk. Heed will be paid to any consensus that emerges
+
+
+
+Barker & Kille [Page 4]
+
+RFC 1274 COSINE and Internet X.500 Schema November 1991
+
+
+ from discussions on the schema on this list. If it proves that this
+ list is used almost solely for discussions on schema issues, a
+ separate discussion list will be created.
+
+ To facilitate the production of the afore-mentioned proformas, tools
+ are included in Appendix B which will verify that a proforma has been
+ correctly formatted.
+
+ Completed proformas should be mailed to na-update@cs.ucl.ac.uk
+
+4.1. Object Class proforma
+
+ This section gives an example, completed proforma for a new object
+ class, alcoholic drink. A proforma for object class specified in BNF
+ is included in Appendix A.
+
+ Object Class: Alcoholic Drink
+
+ Description: The Alcoholic Drink object class is used to define
+ entries representing intoxicating beverages.
+
+ ASN1OCMacro: alcoholicDrink OBJECT-CLASS
+ SUBCLASS OF drink
+ MUST CONTAIN {
+ percentAlcohol}
+ MAY CONTAIN {
+ normalServing,
+ hue}
+
+ An object class description consists of three fields, separated by
+ blank lines. The keywords Object Class, Description and ASN1OCMacro,
+ and their suffixed colons, must be included exactly as above.
+
+ The Object Class field should be used for a textual description of
+ the object class. This will be at most three or four words.
+
+ The Description field should contain some explanatory text about the
+ intended use of the object class. This can run to a number of lines.
+
+ The ASN1OCMacro field should follow the definition of the object
+ class macro as specified in X.501. The above example shows the main
+ features. There are many more examples which can studied in the
+ section defining the Pilot Object Classes.
+
+4.2. Attribute type proforma
+
+ This section gives an example completed proforma for a new attribute
+ type, hue (one of the attribute types in the alcoholic drink object
+
+
+
+Barker & Kille [Page 5]
+
+RFC 1274 COSINE and Internet X.500 Schema November 1991
+
+
+ class).
+
+ Attribute Type: Hue
+
+ Description: The Hue attribute type specifies the hue of
+ an object. (Note that a description may run to several
+ lines.)
+
+ OCMust:
+
+ OCMay: alcoholicDrink
+
+ ASN1ATMacro:hue ATTRIBUTE
+ WITH ATTRIBUTE SYNTAX
+ caseIgnoreStringSyntax
+ (SIZE (1 .. ub-hue))
+
+ ub-hue INTEGER ::= 256
+
+ An attribute type description consists of five fields, separated by
+ blank lines. The keywords Attribute Type, Description, OCMust, OCMay
+ and ASN1ATMacro, and their suffixed colons, must be included exactly
+ as above.
+
+ The Attribute Type field should be used for a textual description of
+ the attribute type. This will be at most three or four words.
+
+ The Description field should contain some explanatory text about the
+ intended use of the attribute type. This can run to a number of
+ lines.
+
+ The OCMust field should contain a comma-separated list of object
+ classes for which this attribute is mandatory.
+
+ The OCMay field should contain a comma-separated list of object
+ classes for which this attribute is optional.
+
+ The ASN1ATMacro field should follow the definition of the attribute
+ macro as specified in X.501. The above example shows some of the
+ features. In particular, please note the format for specifying size
+ constraints.
+
+5. Integrating groups of object classes and attribute types.
+
+ This section describes two mechanisms that may be employed to allow
+ the integration of a substantial number of new object classes and
+ attribute types into the schema.
+
+
+
+
+Barker & Kille [Page 6]
+
+RFC 1274 COSINE and Internet X.500 Schema November 1991
+
+
+ The first mechanism allows for the transition of groups of related,
+ privately defined object classes and attribute types into the schema.
+ An example of when such a transition might be appropriate is when
+ some experimental use of the Directory is widely adopted within the
+ pilot. Such a transition will be made if the following conditions
+ hold:
+
+ - The definitions are well structured: i.e., they are not
+ scattered over a multiplicity of object identifier subtrees.
+
+ - The definitions are in use at a number of sites, and having
+ to adopt new object identifiers would be unnecessarily
+ disruptive.
+
+ A second mechanism allows for the allocation of an object subtree for
+ a group of new definitions. A pilotGroups object identifier has been
+ defined for this purpose. This method will be suitable for an
+ experiment requiring a considerable number of new object identifiers
+ to be defined. This approach allows for flexibility during
+ experimentation and should simplify both the management and the
+ coherence of the pilot's object identifiers.
+
+ In both cases, the object classes, attribute types and syntaxes
+ should be defined and described in an RFC. It is suggested that such
+ documents should follow the style used in this document for object
+ class and attribute type definitions. A reference will be given in
+ this schema to the document containing the definitions.
+
+6. Removing "old" object classes and attribute types.
+
+ It is also important that object classes and attribute types which
+ are no longer used or useful are removed from the schema. Some
+ object classes and attribute types initially defined as pilot
+ extensions may be included as standard definitions in future versions
+ of the standard. In such a case, it is important that there should
+ be a fairly rapid transition to the standard definitions. Another
+ possibility is that newer, more specific definitions obviate the
+ original definitions.
+
+ Two things are essential. First, it is crucial that "old"
+ definitions are retired as gracefully as possible. The intention to
+ retire a definition will be sent to the osi-ds@cs.ucl.ac.uk mail
+ list. In the absence of objections, the definition will be marked
+ for expiry with a given expiry date. The definition will remain in
+ the schema until the expiry date. Users of the schema should ensure
+ that they make the transition to new, alternative definitions in the
+ interim.
+
+
+
+
+Barker & Kille [Page 7]
+
+RFC 1274 COSINE and Internet X.500 Schema November 1991
+
+
+ Second, users of the schema must have the right to argue for the
+ retention of definitions which they regard as necessary, there being
+ no other definitions which closely meet their requirements. It is
+ clearly impossible to lay down hard and fast rules on this point, as
+ no two instances will ever be quite the same. It is intended that
+ the refereeing on these matters will be sympathetic! As for requests
+ for additions, an aggrieved user can "go to arbitration" by
+ initiating a discussion on the osi-ds@cs.ucl.ac.uk mail list.
+
+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
+
+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
+
+
+
+Barker & Kille [Page 8]
+
+RFC 1274 COSINE and Internet X.500 Schema November 1991
+
+
+ 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}
+
+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,
+
+
+
+Barker & Kille [Page 9]
+
+RFC 1274 COSINE and Internet X.500 Schema November 1991
+
+
+ mailPreferenceOption,
+ personalSignature}
+ ::= {pilotObjectClass 4}
+
+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}
+
+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}
+
+
+
+
+
+
+Barker & Kille [Page 10]
+
+RFC 1274 COSINE and Internet X.500 Schema November 1991
+
+
+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}
+
+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}
+
+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 {
+
+
+
+Barker & Kille [Page 11]
+
+RFC 1274 COSINE and Internet X.500 Schema November 1991
+
+
+ associatedName,
+ organizationName,
+ organizationalAttributeSet}
+ ::= {pilotObjectClass 13}
+
+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}
+
+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}
+
+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].
+
+
+
+
+Barker & Kille [Page 12]
+
+RFC 1274 COSINE and Internet X.500 Schema November 1991
+
+
+ domainRelatedObject OBJECT-CLASS
+ SUBCLASS OF top
+ MUST CONTAIN {
+ associatedDomain}
+ ::= {pilotObjectClass 17}
+
+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}
+
+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}
+
+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}
+
+
+
+
+
+
+
+Barker & Kille [Page 13]
+
+RFC 1274 COSINE and Internet X.500 Schema November 1991
+
+
+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}
+
+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}
+
+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
+
+
+
+Barker & Kille [Page 14]
+
+RFC 1274 COSINE and Internet X.500 Schema November 1991
+
+
+ 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}
+
+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}
+
+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}
+
+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
+
+
+
+Barker & Kille [Page 15]
+
+RFC 1274 COSINE and Internet X.500 Schema November 1991
+
+
+ caseIgnoreStringSyntax
+ (SIZE (1 .. ub-information))
+ ::= {pilotAttributeType 4}
+
+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}
+
+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}
+
+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}
+
+
+
+
+
+
+
+Barker & Kille [Page 16]
+
+RFC 1274 COSINE and Internet X.500 Schema November 1991
+
+
+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}
+
+9.3.9. Host
+
+ The Host attribute type specifies a host computer.
+
+ host ATTRIBUTE
+ WITH ATTRIBUTE-SYNTAX
+ caseIgnoreStringSyntax
+ (SIZE (1 .. ub-host))
+ ::= {pilotAttributeType 9}
+
+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}
+
+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}
+
+
+
+
+
+
+Barker & Kille [Page 17]
+
+RFC 1274 COSINE and Internet X.500 Schema November 1991
+
+
+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}
+
+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}
+
+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}
+
+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}
+
+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".
+
+
+
+Barker & Kille [Page 18]
+
+RFC 1274 COSINE and Internet X.500 Schema November 1991
+
+
+ homeTelephoneNumber ATTRIBUTE
+ WITH ATTRIBUTE-SYNTAX
+ telephoneNumberSyntax
+ ::= {pilotAttributeType 20}
+
+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}
+
+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}
+
+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}
+
+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
+
+
+
+Barker & Kille [Page 19]
+
+RFC 1274 COSINE and Internet X.500 Schema November 1991
+
+
+ ::= {pilotAttributeType 24}
+
+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}
+
+ 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}
+
+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}
+
+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}
+
+9.3.25. SOA Record
+
+ The SOA Record attribute type specifies a type SOA (Start of
+ Authority) DNS resorce record [6] [7].
+
+
+
+
+Barker & Kille [Page 20]
+
+RFC 1274 COSINE and Internet X.500 Schema November 1991
+
+
+ sOARecord ATTRIBUTE
+ WITH ATTRIBUTE-SYNTAX
+ DNSRecordSyntax
+ ::= {pilotAttributeType 30}
+
+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}
+
+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}
+
+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}
+
+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
+
+
+
+Barker & Kille [Page 21]
+
+RFC 1274 COSINE and Internet X.500 Schema November 1991
+
+
+ postalAddress
+ MATCHES FOR EQUALITY
+ ::= {pilotAttributeType 39}
+
+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}
+
+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}
+
+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}
+
+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}
+
+
+
+Barker & Kille [Page 22]
+
+RFC 1274 COSINE and Internet X.500 Schema November 1991
+
+
+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}
+
+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}
+
+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}
+
+
+
+
+
+
+Barker & Kille [Page 23]
+
+RFC 1274 COSINE and Internet X.500 Schema November 1991
+
+
+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}
+
+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}
+
+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}
+
+
+
+
+
+Barker & Kille [Page 24]
+
+RFC 1274 COSINE and Internet X.500 Schema November 1991
+
+
+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}
+
+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}
+
+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}
+
+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 {
+
+
+
+Barker & Kille [Page 25]
+
+RFC 1274 COSINE and Internet X.500 Schema November 1991
+
+
+ g3-facsimile [3] G3FacsimileBodyPart
+ }
+ (SIZE (1 .. ub-personal-signature))
+ ::= {pilotAttributeType 53}
+
+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}
+
+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}
+
+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}
+
+9.4. Generally useful syntaxes
+
+ caseIgnoreIA5StringSyntax ATTRIBUTE-SYNTAX
+ IA5String
+ MATCHES FOR EQUALITY SUBSTRINGS
+
+
+
+
+
+Barker & Kille [Page 26]
+
+RFC 1274 COSINE and Internet X.500 Schema November 1991
+
+
+ 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
+
+
+
+Barker & Kille [Page 27]
+
+RFC 1274 COSINE and Internet X.500 Schema November 1991
+
+
+ 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
+
+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
+
+
+
+Barker & Kille [Page 28]
+
+RFC 1274 COSINE and Internet X.500 Schema November 1991
+
+
+ Directory," publication in process, March 1991.
+
+APPENDIX A - Object Class and Attribute Type proformas
+
+ These are specified in BNF. First some useful definitions, common to
+ both proformas.
+
+ EOL ::= -- the end of line character(s)
+
+ BlankLine ::= -- a line consisting solely of an EOL character
+
+ String ::= <anychar> | <String> <anychar>
+
+ anychar ::= --any character occurring in general text, excluding
+ -- the end of line character
+
+ lString ::= <lowercase> <otherstring>
+
+ lowercase ::= [a-z]
+
+ UString ::= <uppercase> <otherstring>
+
+ uppercase ::= [A-Z]
+
+ otherstring ::= <otherchar> | <otherstring> <otherchar>
+
+ otherchar ::= <lowercase> | <uppercase> | <digit>
+
+ Integer ::= <digit> | <Integer> <digit>
+
+ digit ::= [0-9]
+
+1. Object Class
+
+
+ OCProforma ::= <ObjectClassName> <BlankLine> <Description> \
+ <BlankLine> <OCMacro>
+
+ ObjectClassName ::= "ObjectClass:" <String> <EOL>
+
+ Description ::= "Description:" <DescriptiveText> <EOL>
+
+ DescriptiveText ::= <String> | <DescriptiveText> <EOL> <String>
+
+ OCMacro ::= "ASN1OCMacro:" <ObjectClassMacro>
+
+ -- The definition of ObjectClassMacro is adapted from
+ -- that given in X.501
+
+
+
+Barker & Kille [Page 29]
+
+RFC 1274 COSINE and Internet X.500 Schema November 1991
+
+
+ ObjectClassMacro ::= <OCname> "OBJECT-CLASS" <SubclassOf> \
+ <MandatoryAttributes> <OptionalAttributes>
+
+ OCName ::= <lString>
+
+ SubclassOf ::= "SUBCLASS OF" Subclasses | <empty>
+
+ Subclasses ::= <Subclass> | <Subclass> "," <Subclasses>
+
+ Subclass ::= <OCName>
+
+ MandatoryAttributes ::= "MUST CONTAIN {" <Attributes> "}" \
+ | <empty>
+ OptionalAttributes ::= "MAY CONTAIN {" <Attributes> "}" | <empty>
+
+ Attributes ::= <AttributeTerm> | <AttributeTerm> "," <Attributes>
+
+ AttributeTerm ::= <Attribute> | <AttributeSet>
+
+ Attribute ::= <lString>
+
+ AttributeSet ::= <lString>
+
+2. Attribute Type
+
+
+ ATProforma ::= <AttributeTypeName> <BlankLine> <Description> \
+ <BlankLine> <OCMust> <Blankline> <OCMay> \
+ <BlankLine> <ATMacro>
+
+ AttributeTypeName ::= "Attribute Type:" <String> <EOL>
+
+ Description ::= "Description:" <DescriptiveText> <EOL>
+
+ DescriptiveText ::= <String> | <DescriptiveText> <EOL> <String>
+
+ OCMust ::= "OCMust:" <OCList> <EOL>
+
+ OCList ::= <OCName> | <OCList> "," <OCName> | <empty>
+
+ OCMay ::= "OCMay:" <OCList> <EOL>
+
+ ATMacro ::= "ASN1ATMacro:" <AttributeTypeMacro>
+
+ -- The definition of AttributeTypeMacro is adapted from that
+ -- given in X.501
+
+ AttributeTypeMacro ::= <ATname> "ATTRIBUTE" <AttributeSyntax> \
+
+
+
+Barker & Kille [Page 30]
+
+RFC 1274 COSINE and Internet X.500 Schema November 1991
+
+
+ <Multivalued> | <empty>
+
+ ATName ::= <lString>
+
+ AttributeSyntax ::= "WITH ATTRIBUTE SYNTAX" SyntaxChoice
+
+ SyntaxChoice ::= <Syntax> <Constraint> | <ASN1Type> <MatchTypes>
+
+ Syntax ::= <lString>
+
+ Constraint ::= "(" ConstraintAlternative ")" | <empty>
+
+ ConstraintAlternative ::= StringConstraint | IntegerConstraint
+
+ StringConstraint ::= "SIZE" "(" SizeConstraint ")"
+
+ SizeConstraint ::= SingleValue | Range
+
+ SingleValue ::= <Integer>
+
+ Range ::= <Integer> ".." <Integer>
+
+ IntegerConstraint ::= Range
+
+ ASN1Type ::= <UString>
+ -- one of ASN.1's base types: e.g. PrintableString,
+ -- NumericString, etc.
+
+ MatchTypes ::= "MATCHES FOR" Matches | <empty>
+
+ Matches ::= Match | Matches Match
+
+ Match ::= "EQUALITY" | "SUBSTRINGS" | "ORDERING"
+
+ Multivalued ::= "SINGLE VALUE" | "MULTI VALUE" | <empty>
+
+APPENDIX B - Format checking tools
+
+ This section includes the source for format checking tools for the
+ two proformas. The tools are written as Bourne shell scripts for
+ UNIX systems.
+
+1. Object class format checker
+
+
+ sed 's/ *: */:/' |
+ awk '
+ BEGIN {
+
+
+
+Barker & Kille [Page 31]
+
+RFC 1274 COSINE and Internet X.500 Schema November 1991
+
+
+ state = "initial"
+ }
+
+ /^$/ {
+ next
+ }
+
+ /^Object Class:/ {
+ n = index($0, ":")
+ if (state != "initial")
+ {
+ print "Already got object class " oc
+ print "Got another object class " substr($0, n+1)
+ state = "notOK"
+ exit 1
+ }
+ oc = substr($0, n+1)
+ state = "gotOC"
+ next
+ }
+
+ /^Description:/ {
+ n = index($0, ":")
+ if (state != "gotOC")
+ {
+ print "Got Description: " substr($0, n+1)
+ for (i = 0; i < 2 && getline > 0; i++)
+ print $0
+ print "..."
+ if (state == "initial")
+ print "Expecting Object Class:"
+ else
+ print "Expecting ASN1OCMacro:"
+ state = "notOK"
+ exit 1
+ }
+ while (getline > 0)
+ if (length($0) > 0)
+ continue
+ else
+ break
+ state = "gotDesc"
+ next
+ }
+
+ /^ASN1OCMacro:/ {
+ n = index($0, ":")
+ if (state != "gotDesc")
+
+
+
+Barker & Kille [Page 32]
+
+RFC 1274 COSINE and Internet X.500 Schema November 1991
+
+
+ {
+ print "Got ASN1Macro: " substr($0, n+1)
+ for (i = 0; i < 2 && getline > 0; i++)
+ print $0
+ print "..."
+ if (state == "initial")
+ print "Expecting Object Class:"
+ else
+ print "Expecting Description:"
+ state = "notOK"
+ exit 1
+ }
+ state = "OK"
+ exit 0
+ }
+
+ {
+ print "Parsing has got confused on seeing line: " $0
+ state = "notOK"
+ exit 1
+ }
+
+ END {
+ if (state == "OK")
+ print "Input looks OK"
+ }
+
+
+2. Attribute Type format checker
+
+
+ sed 's/ *: */:/' |
+ awk '
+ BEGIN {
+ state = "initial"
+ }
+
+ /^$/ {
+ next
+ }
+
+ /^Attribute Type:/ {
+ n = index($0, ":")
+ if (state != "initial")
+ {
+ got = "Attribute Type:"
+ exit 1
+ }
+
+
+
+Barker & Kille [Page 33]
+
+RFC 1274 COSINE and Internet X.500 Schema November 1991
+
+
+ state = "gotAT"
+ next
+ }
+
+ /^Description:/ {
+ n = index($0, ":")
+ if (state != "gotAT")
+ {
+ got = "Description:"
+ exit 1
+ }
+ while (getline > 0)
+ if (length($0) > 0)
+ continue
+ else
+ break
+ state = "gotDesc"
+ next
+ }
+
+ /^OCMust:/ {
+ n = index($0, ":")
+ if (state != "gotDesc")
+ {
+ got = "OCMust:"
+ exit 1
+ }
+ state = "gotOCMust"
+ next
+ }
+
+ /^OCMay:/ {
+ n = index($0, ":")
+ if (state != "gotOCMust")
+ {
+ got = "OCMay:"
+ exit 1
+ }
+ state = "gotOCMay"
+ next
+ }
+
+ /^ASN1ATMacro:/ {
+ n = index($0, ":")
+ if (state != "gotOCMay")
+ {
+ got = "ASN1ATMacro:"
+ exit 1
+
+
+
+Barker & Kille [Page 34]
+
+RFC 1274 COSINE and Internet X.500 Schema November 1991
+
+
+ }
+ state = "OK"
+ exit 0
+ }
+
+ {
+ print "Parsing has got confused on seeing line: " $0
+ state = "notOK"
+ exit 1
+ }
+
+ END {
+ if (state == "initial")
+ print "Expecting Attribute Type:"
+ else if (state == "gotAT")
+ print "Expecting Description:"
+ else if (state == "gotDesc")
+ print "Expecting OCMust:"
+ else if (state == "gotOCMust")
+ print "Expecting OCMay:"
+ else if (state == "gotOCMay")
+ print "Expecting ASN1ATMacro:"
+ if (state != "OK")
+ print "Got " got
+ else
+ print "Input looks OK"
+ }
+
+
+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}
+
+
+
+
+
+Barker & Kille [Page 35]
+
+RFC 1274 COSINE and Internet X.500 Schema November 1991
+
+
+ -- 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}
+
+
+
+
+
+
+
+Barker & Kille [Page 36]
+
+RFC 1274 COSINE and Internet X.500 Schema November 1991
+
+
+ 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}
+
+
+
+
+Barker & Kille [Page 37]
+
+RFC 1274 COSINE and Internet X.500 Schema November 1991
+
+
+ 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,
+
+
+
+Barker & Kille [Page 38]
+
+RFC 1274 COSINE and Internet X.500 Schema November 1991
+
+
+ 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}
+
+
+
+
+
+
+Barker & Kille [Page 39]
+
+RFC 1274 COSINE and Internet X.500 Schema November 1991
+
+
+ -- 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,
+
+
+
+Barker & Kille [Page 40]
+
+RFC 1274 COSINE and Internet X.500 Schema November 1991
+
+
+ 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}
+
+
+
+
+
+Barker & Kille [Page 41]
+
+RFC 1274 COSINE and Internet X.500 Schema November 1991
+
+
+ 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,
+
+
+
+Barker & Kille [Page 42]
+
+RFC 1274 COSINE and Internet X.500 Schema November 1991
+
+
+ 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}
+
+
+
+
+
+
+Barker & Kille [Page 43]
+
+RFC 1274 COSINE and Internet X.500 Schema November 1991
+
+
+ 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
+
+
+
+Barker & Kille [Page 44]
+
+RFC 1274 COSINE and Internet X.500 Schema November 1991
+
+
+ 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))
+
+
+
+Barker & Kille [Page 45]
+
+RFC 1274 COSINE and Internet X.500 Schema November 1991
+
+
+ ::= {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
+
+
+
+Barker & Kille [Page 46]
+
+RFC 1274 COSINE and Internet X.500 Schema November 1991
+
+
+ (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))
+
+
+
+Barker & Kille [Page 47]
+
+RFC 1274 COSINE and Internet X.500 Schema November 1991
+
+
+ ::= {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}
+
+
+
+
+Barker & Kille [Page 48]
+
+RFC 1274 COSINE and Internet X.500 Schema November 1991
+
+
+ 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
+
+
+
+Barker & Kille [Page 49]
+
+RFC 1274 COSINE and Internet X.500 Schema November 1991
+
+
+ ::= {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}
+
+
+
+
+
+
+Barker & Kille [Page 50]
+
+RFC 1274 COSINE and Internet X.500 Schema November 1991
+
+
+ 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))
+
+
+
+Barker & Kille [Page 51]
+
+RFC 1274 COSINE and Internet X.500 Schema November 1991
+
+
+ ::= {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}
+
+
+
+
+
+
+Barker & Kille [Page 52]
+
+RFC 1274 COSINE and Internet X.500 Schema November 1991
+
+
+ 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
+
+
+
+Barker & Kille [Page 53]
+
+RFC 1274 COSINE and Internet X.500 Schema November 1991
+
+
+ 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}
+
+
+
+Barker & Kille [Page 54]
+
+RFC 1274 COSINE and Internet X.500 Schema November 1991
+
+
+ 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}
+
+
+
+Barker & Kille [Page 55]
+
+RFC 1274 COSINE and Internet X.500 Schema November 1991
+
+
+ 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))
+
+
+
+Barker & Kille [Page 56]
+
+RFC 1274 COSINE and Internet X.500 Schema November 1991
+
+
+ ::= {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}
+
+
+
+Barker & Kille [Page 57]
+
+RFC 1274 COSINE and Internet X.500 Schema November 1991
+
+
+ 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 }
+ }
+
+
+
+
+
+
+
+
+
+
+
+
+
+Barker & Kille [Page 58]
+
+RFC 1274 COSINE and Internet X.500 Schema November 1991
+
+
+ -- 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
+
+
+
+
+
+
+
+
+
+Barker & Kille [Page 59]
+
+RFC 1274 COSINE and Internet X.500 Schema November 1991
+
+
+Security Considerations
+
+ Security issues are not discussed in this memo.
+
+10. Authors' Addresses
+
+ Paul Barker
+ Department of Computer Science
+ University College London
+ Gower Street
+ London WC1E 6BT
+ England
+
+ Phone: +44 71-380-7366
+ EMail: P.Barker@cs.ucl.ac.uk
+
+
+ Steve Kille
+ Department of Computer Science
+ University College London
+ Gower Street
+ London WC1E 6BT
+ England
+
+ Phone: +44 71-380-7294
+ EMail: S.Kille@cs.ucl.ac.uk
+
+ Or send comments to the discussion group: <osi-ds@cs.ucl.ac.uk>.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Barker & Kille [Page 60]
+ \ No newline at end of file