{
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")
{
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
}
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
}
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}
-- Standard Object Classes
top OBJECT-CLASS
MUST CONTAIN {
objectClass}
::= {objectClass 0}
alias OBJECT-CLASS
SUBCLASS OF top
MUST CONTAIN {
aliasedObjectName}
::= {objectClass 1}
country OBJECT-CLASS
SUBCLASS OF top
MUST CONTAIN {
countryName}
MAY CONTAIN {
description,
searchGuide}
::= {objectClass 2}
locality OBJECT-CLASS
SUBCLASS OF top
MAY CONTAIN {
description,
localityName,
stateOrProvinceName,
searchGuide,
seeAlso,
streetAddress}
::= {objectClass 3}
organization OBJECT-CLASS
SUBCLASS OF top
MUST CONTAIN {
organizationName}
MAY CONTAIN {
organizationalAttributeSet}
::= {objectClass 4}
organizationalUnit OBJECT-CLASS
SUBCLASS OF top
MUST CONTAIN {
organizationalUnitName}
MAY CONTAIN {
organizationalAttributeSet}
::= {objectClass 5}
person OBJECT-CLASS
SUBCLASS OF top
MUST CONTAIN {
commonName,
surname}
MAY CONTAIN {
description,
seeAlso,
telephoneNumber,
userPassword}
::= {objectClass 6}
organizationalPerson OBJECT-CLASS
SUBCLASS OF person
MAY CONTAIN {
localeAttributeSet,
organizationalUnitName,
postalAttributeSet,
telecommunicationAttributeSet,
title}
::= {objectClass 7}
organizationalRole OBJECT-CLASS
SUBCLASS OF top
MUST CONTAIN {
commonName}
MAY CONTAIN {
description,
localeAttributeSet,
organizationalUnitName,
postalAttributeSet,
preferredDeliveryMethod,
roleOccupant,
seeAlso,
telecommunicationAttributeSet}
::= {objectClass 8}
groupOfNames OBJECT-CLASS
SUBCLASS OF top
MUST CONTAIN {
commonName,
member}
MAY CONTAIN {
description,
organizationName,
organizationalUnitName,
owner,
seeAlso,
businessCategory}
::= {objectClass 9}
residentialPerson OBJECT-CLASS
SUBCLASS OF person
MUST CONTAIN {
localityName}
MAY CONTAIN {
localeAttributeSet,
postalAttributeSet,
preferredDeliveryMethod,
telecommunicationAttributeSet,
businessCategory}
::= {objectClass 10}
applicationProcess OBJECT-CLASS
SUBCLASS OF top
MUST CONTAIN {
commonName}
MAY CONTAIN {
description,
localityName,
organizationalUnitName,
seeAlso}
::= {objectClass 11}
applicationEntity OBJECT-CLASS
SUBCLASS OF top
MUST CONTAIN {
commonName,
presentationAddress}
MAY CONTAIN {
description,
localityName,
organizationName,
organizationalUnitName,
seeAlso,
supportedApplicationContext}
::= {objectClass 12}
dSA OBJECT-CLASS
SUBCLASS OF applicationEntity
MAY CONTAIN {
knowledgeInformation}
::= {objectClass 13}
device OBJECT-CLASS
SUBCLASS OF top
MUST CONTAIN {
commonName}
MAY CONTAIN {
description,
localityName,
organizationName,
organizationalUnitName,
owner,
seeAlso,
serialNumber}
::= {objectClass 14}
strongAuthenticationUser OBJECT-CLASS
SUBCLASS OF top
MUST CONTAIN {
userCertificate}
::= {objectClass 15}
certificationAuthority OBJECT-CLASS
SUBCLASS OF top
MUST CONTAIN {
cACertificate,
certificateRevocationList,
authorityRevocationList}
MAY CONTAIN {
crossCertificatePair}
::= {objectClass 16}
-- Standard MHS Object Classes
mhsDistributionList OBJECT-CLASS
SUBCLASS OF top
MUST CONTAIN {
commonName,
mhsDLSubmitPermissions,
mhsORAddresses}
MAY CONTAIN {
description,
organizationName,
organizationalUnitName,
owner,
seeAlso,
mhsDeliverableContentTypes,
mhsdeliverableEits,
mhsDLMembers,
mhsPreferredDeliveryMethods}
::= {mhsObjectClass 0}
mhsMessageStore OBJECT-CLASS
SUBCLASS OF applicationEntity
MAY CONTAIN {
description,
owner,
mhsSupportedOptionalAttributes,
mhsSupportedAutomaticActions,
mhsSupportedContentTypes}
::= {mhsObjectClass 1}
mhsMessageTransferAgent OBJECT-CLASS
SUBCLASS OF applicationEntity
MAY CONTAIN {
description,
owner,
mhsDeliverableContentLength}
::= {mhsObjectClass 2}
mhsOrganizationalUser OBJECT-CLASS
SUBCLASS OF organizationalPerson
MUST CONTAIN {
mhsORAddresses}
MAY CONTAIN {
mhsDeliverableContentLength,
mhsDeliverableContentTypes,
mhsDeliverableEits,
mhsMessageStoreName,
mhsPreferredDeliveryMethods }
::= {mhsObjectClass 3}
mhsResidentialUser OBJECT-CLASS
SUBCLASS OF residentialPerson
MUST CONTAIN {
mhsORAddresses}
MAY CONTAIN {
mhsDeliverableContentLength,
mhsDeliverableContentTypes,
mhsDeliverableEits,
mhsMessageStoreName,
mhsPreferredDeliveryMethods }
::= {mhsObjectClass 4}
mhsUserAgent OBJECT-CLASS
SUBCLASS OF applicationEntity
MAY CONTAIN {
mhsDeliverableContentLength,
mhsDeliverableContentTypes,
mhsDeliverableEits,
mhsORAddresses,
owner}
::= {mhsObjectClass 5}
-- Pilot Object Classes
pilotObject OBJECT-CLASS
SUBCLASS OF top
MAY CONTAIN {
info,
photo,
manager,
uniqueIdentifier,
lastModifiedTime,
lastModifiedBy,
dITRedirect,
audio}
::= {pilotObjectClass 3}
pilotPerson OBJECT-CLASS
SUBCLASS OF person
MAY CONTAIN {
userid,
textEncodedORAddress,
rfc822Mailbox,
favouriteDrink,
roomNumber,
userClass,
homeTelephoneNumber,
homePostalAddress,
secretary,
personalTitle,
preferredDeliveryMethod,
businessCategory,
janetMailbox,
otherMailbox,
mobileTelephoneNumber,
pagerTelephoneNumber,
organizationalStatus,
mailPreferenceOption,
personalSignature}
::= {pilotObjectClass 4}
account OBJECT-CLASS
SUBCLASS OF top
MUST CONTAIN {
userid}
MAY CONTAIN {
description,
seeAlso,
localityName,
organizationName,
organizationalUnitName,
host}
::= {pilotObjectClass 5}
document OBJECT-CLASS
SUBCLASS OF top
MUST CONTAIN {
documentIdentifier}
MAY CONTAIN {
commonName,
description,
seeAlso,
localityName,
organizationName,
organizationalUnitName,
documentTitle,
documentVersion,
documentAuthor,
documentLocation,
documentPublisher}
::= {pilotObjectClass 6}
room OBJECT-CLASS
SUBCLASS OF top
MUST CONTAIN {
commonName}
MAY CONTAIN {
roomNumber,
description,
seeAlso,
telephoneNumber}
::= {pilotObjectClass 7}
documentSeries OBJECT-CLASS
SUBCLASS OF top
MUST CONTAIN {
commonName}
MAY CONTAIN {
description,
seeAlso,
telephoneNumber,
localityName,
organizationName,
organizationalUnitName}
::= {pilotObjectClass 9}
domain OBJECT-CLASS
SUBCLASS OF top
MUST CONTAIN {
domainComponent}
MAY CONTAIN {
associatedName,
organizationName,
organizationalAttributeSet}
::= {pilotObjectClass 13}
rFC822localPart OBJECT-CLASS
SUBCLASS OF domain
MAY CONTAIN {
commonName,
surname,
description,
seeAlso,
telephoneNumber,
postalAttributeSet,
telecommunicationAttributeSet}
::= {pilotObjectClass 14}
dNSDomain OBJECT-CLASS
SUBCLASS OF domain
MAY CONTAIN {
ARecord,
MDRecord,
MXRecord,
NSRecord,
SOARecord,
CNAMERecord}
::= {pilotObjectClass 15}
domainRelatedObject OBJECT-CLASS
SUBCLASS OF top
MUST CONTAIN {
associatedDomain}
::= {pilotObjectClass 17}
friendlyCountry OBJECT-CLASS
SUBCLASS OF country
MUST CONTAIN {
friendlyCountryName}
::= {pilotObjectClass 18}
simpleSecurityObject OBJECT-CLASS
SUBCLASS OF top
MUST CONTAIN {
userPassword }
::= {pilotObjectClass 19}
pilotOrganization OBJECT-CLASS
SUBCLASS OF organization, organizationalUnit
MAY CONTAIN {
buildingName}
::= {pilotObjectClass 20}
pilotDSA OBJECT-CLASS
SUBCLASS OF dsa
MUST CONTAIN {
dSAQuality}
::= {pilotObjectClass 21}
qualityLabelledData OBJECT-CLASS
SUBCLASS OF top
MUST CONTAIN {
dSAQuality}
MAY CONTAIN {
subtreeMinimumQuality,
subtreeMaximumQuality}
::= {pilotObjectClass 22}
-- Standard Attribute Types
objectClass ObjectClass
::= {attributeType 0}
aliasedObjectName AliasedObjectName
::= {attributeType 1}
knowledgeInformation ATTRIBUTE
WITH ATTRIBUTE-SYNTAX caseIgnoreString
::= {attributeType 2}
commonName ATTRIBUTE
WITH ATTRIBUTE-SYNTAX caseIgnoreStringSyntax
(SIZE (1..ub-common-name))
::= {attributeType 3}
surname ATTRIBUTE
WITH ATTRIBUTE-SYNTAX caseIgnoreStringSyntax
(SIZE (1..ub-surname))
::= {attributeType 4}
serialNumber ATTRIBUTE
WITH ATTRIBUTE-SYNTAX printableStringSyntax
(SIZE (1..ub-serial-number))
::= {attributeType 5}
countryName ATTRIBUTE
WITH ATTRIBUTE-SYNTAX PrintableString
(SIZE (1..ub-country-code))
SINGLE VALUE
::= {attributeType 6}
localityName ATTRIBUTE
WITH ATTRIBUTE-SYNTAX caseIgnoreStringSyntax
(SIZE (1..ub-locality-name))
::= {attributeType 7}
stateOrProvinceName ATTRIBUTE
WITH ATTRIBUTE-SYNTAX caseIgnoreStringSyntax
(SIZE (1..ub-state-name))
::= {attributeType 8}
streetAddress ATTRIBUTE
WITH ATTRIBUTE-SYNTAX caseIgnoreStringSyntax
(SIZE (1..ub-street-address))
::= {attributeType 9}
organizationName ATTRIBUTE
WITH ATTRIBUTE-SYNTAX caseIgnoreStringSyntax
(SIZE (1..ub-organization-name))
::= {attributeType 10}
organizationalUnitName ATTRIBUTE
WITH ATTRIBUTE-SYNTAX caseIgnoreStringSyntax
(SIZE (1..ub-organizational-unit-name))
::= {attributeType 11}
title ATTRIBUTE
WITH ATTRIBUTE-SYNTAX caseIgnoreStringSyntax
(SIZE (1..ub-title))
::= {attributeType 12}
description ATTRIBUTE
WITH ATTRIBUTE-SYNTAX caseIgnoreStringSyntax
(SIZE (1..ub-description))
::= {attributeType 13}
searchGuide ATTRIBUTE
WITH ATTRIBUTE-SYNTAX Guide
::= {attributeType 14}
businessCategory ATTRIBUTE
WITH ATTRIBUTE-SYNTAX caseIgnoreStringSyntax
(SIZE (1..ub-business-category))
::= {attributeType 15}
postalAddress ATTRIBUTE
WITH ATTRIBUTE-SYNTAX PostalAddress
MATCHES FOR EQUALITY
::= {attributeType 16}
postalCode ATTRIBUTE
WITH ATTRIBUTE-SYNTAX caseIgnoreStringSyntax
(SIZE (1..ub-postal-code))
::= {attributeType 17}
postOfficeBox ATTRIBUTE
WITH ATTRIBUTE-SYNTAX caseIgnoreStringSyntax
(SIZE (1..ub-post-office-box))
::= {attributeType 18}
physicalDeliveryOfficeName ATTRIBUTE
WITH ATTRIBUTE-SYNTAX caseIgnoreStringSyntax
(SIZE (1..ub-physical-office-name))
::= {attributeType 19}
telephoneNumber ATTRIBUTE
WITH ATTRIBUTE-SYNTAX telephoneNumberSyntax
(SIZE (1..ub-telephone-number))
::= {attributeType 20}
telexNumber ATTRIBUTE
WITH ATTRIBUTE-SYNTAX TelexNumber
(SIZE (1..ub-telex))
::= {attributeType 21}
teletexTerminalIdentifier ATTRIBUTE
WITH ATTRIBUTE-SYNTAX TeletexTerminalIdentifier
(SIZE (1..ub-teletex-terminal-id))
::= {attributeType 22}
facsimileTelephoneNumber ATTRIBUTE
WITH ATTRIBUTE-SYNTAX FacsimileTelephoneNumber
::= {attributeType 23}
x121Address ATTRIBUTE
WITH ATTRIBUTE-SYNTAX NumericString
(SIZE (1..ub-x121-address))
::= {attributeType 24}
internationaliSDNNumber ATTRIBUTE
WITH ATTRIBUTE-SYNTAX NumericString
(SIZE (1..ub-isdn-address))
::= {attributeType 25}
registeredAddress ATTRIBUTE
WITH ATTRIBUTE-SYNTAX PostalAddress
::= {attributeType 26}
destinationIndicator ATTRIBUTE
WITH ATTRIBUTE-SYNTAX PrintableString
(SIZE (1..ub-destination-indicator))
MATCHES FOR EQUALITY SUBSTRINGS
::= {attributeType 27}
preferredDeliveryMethod ATTRIBUTE
WITH ATTRIBUTE-SYNTAX deliveryMethod
::= {attributeType 28}
presentationAddress ATTRIBUTE
WITH ATTRIBUTE-SYNTAX PresentationAddress
MATCHES FOR EQUALITY
::= {attributeType 29}
supportedApplicationContext ATTRIBUTE
WITH ATTRIBUTE-SYNTAX objectIdentifierSyntax
::= {attributeType 30}
member ATTRIBUTE
WITH ATTRIBUTE-SYNTAX distinguishedNameSyntax
::= {attributeType 31}
owner ATTRIBUTE
WITH ATTRIBUTE-SYNTAX distinguishedNameSyntax
::= {attributeType 32}
roleOccupant ATTRIBUTE
WITH ATTRIBUTE-SYNTAX distinguishedNameSyntax
::= {attributeType 33}
seeAlso ATTRIBUTE
WITH ATTRIBUTE-SYNTAX distinguishedNameSyntax
::= {attributeType 34}
userPassword ATTRIBUTE
WITH ATTRIBUTE-SYNTAX Userpassword
::= {attributeType 35}
userCertificate ATTRIBUTE
WITH ATTRIBUTE-SYNTAX UserCertificate
::= {attributeType 36}
cACertificate ATTRIBUTE
WITH ATTRIBUTE-SYNTAX cACertificate
::= {attributeType 37}
authorityRevocationList ATTRIBUTE
WITH ATTRIBUTE-SYNTAX AuthorityRevocationList
::= {attributeType 38}
certificateRevocationList ATTRIBUTE
WITH ATTRIBUTE-SYNTAX CertificateRevocationList
::= {attributeType 39}
crossCertificatePair ATTRIBUTE
WITH ATTRIBUTE-SYNTAX CrossCertificatePair
::= {attributeType 40}
-- Standard MHS Attribute Types
mhsDeliverableContentLength ATTRIBUTE
WITH ATTRIBUTE-SYNTAX integer
::= {mhsAttributeType 0}
mhsDeliverableContentTypes ATTRIBUTE
WITH ATTRIBUTE-SYNTAX oID
::= {mhsAttributeType 1}
mhsDeliverableEits ATTRIBUTE
WITH ATTRIBUTE-SYNTAX oID
::= {mhsAttributeType 2}
mhsDLMembers ATTRIBUTE
WITH ATTRIBUTE-SYNTAX oRName
::= {mhsAttributeType 3}
mhsDLSubmitPermissions ATTRIBUTE
WITH ATTRIBUTE-SYNTAX dLSubmitPermission
::= {mhsAttributeType 4}
mhsMessageStoreName ATTRIBUTE
WITH ATTRIBUTE-SYNTAX dN
::= {mhsAttributeType 5}
mhsORAddresses ATTRIBUTE
WITH ATTRIBUTE-SYNTAX oRAddress
::= {mhsAttributeType 6}
mhsPreferredDeliveryMethods ATTRIBUTE
WITH ATTRIBUTE-SYNTAX deliveryMethod
::= {mhsAttributeType 7}
mhsSupportedAutomaticActions ATTRIBUTE
WITH ATTRIBUTE-SYNTAX oID
::= {mhsAttributeType 8}
mhsSupportedContentTypes ATTRIBUTE
WITH ATTRIBUTE-SYNTAX oID
::= {mhsAttributeType 9}
mhsSupportedOptionalAttributes ATTRIBUTE
WITH ATTRIBUTE-SYNTAX oID
::= {mhsAttributeType 10}
-- Pilot Attribute Types
userid ATTRIBUTE
WITH ATTRIBUTE-SYNTAX
caseIgnoreStringSyntax
(SIZE (1 .. ub-user-identifier))
::= {pilotAttributeType 1}
textEncodedORAddress ATTRIBUTE
WITH ATTRIBUTE-SYNTAX
caseIgnoreStringSyntax
(SIZE (1 .. ub-text-encoded-or-address))
::= {pilotAttributeType 2}
rfc822Mailbox ATTRIBUTE
WITH ATTRIBUTE-SYNTAX
caseIgnoreIA5StringSyntax
(SIZE (1 .. ub-rfc822-mailbox))
::= {pilotAttributeType 3}
info ATTRIBUTE
WITH ATTRIBUTE-SYNTAX
caseIgnoreStringSyntax
(SIZE (1 .. ub-information))
::= {pilotAttributeType 4}
favouriteDrink ATTRIBUTE
WITH ATTRIBUTE-SYNTAX
caseIgnoreStringSyntax
(SIZE (1 .. ub-favourite-drink))
::= {pilotAttributeType 5}
roomNumber ATTRIBUTE
WITH ATTRIBUTE-SYNTAX
caseIgnoreStringSyntax
(SIZE (1 .. ub-room-number))
::= {pilotAttributeType 6}
photo ATTRIBUTE
WITH ATTRIBUTE-SYNTAX
CHOICE {
g3-facsimile [3] G3FacsimileBodyPart
}
(SIZE (1 .. ub-photo))
::= {pilotAttributeType 7}
userClass ATTRIBUTE
WITH ATTRIBUTE-SYNTAX
caseIgnoreStringSyntax
(SIZE (1 .. ub-user-class))
::= {pilotAttributeType 8}
host ATTRIBUTE
WITH ATTRIBUTE-SYNTAX
caseIgnoreStringSyntax
(SIZE (1 .. ub-host))
::= {pilotAttributeType 9}
manager ATTRIBUTE
WITH ATTRIBUTE-SYNTAX
distinguishedNameSyntax
::= {pilotAttributeType 10}
documentIdentifier ATTRIBUTE
WITH ATTRIBUTE-SYNTAX
caseIgnoreStringSyntax
(SIZE (1 .. ub-document-identifier))
::= {pilotAttributeType 11}
documentTitle ATTRIBUTE
WITH ATTRIBUTE-SYNTAX
caseIgnoreStringSyntax
(SIZE (1 .. ub-document-title))
::= {pilotAttributeType 12}
documentVersion ATTRIBUTE
WITH ATTRIBUTE-SYNTAX
caseIgnoreStringSyntax
(SIZE (1 .. ub-document-version))
::= {pilotAttributeType 13}
documentAuthor ATTRIBUTE
WITH ATTRIBUTE-SYNTAX
distinguishedNameSyntax
::= {pilotAttributeType 14}
documentLocation ATTRIBUTE
WITH ATTRIBUTE-SYNTAX
caseIgnoreStringSyntax
(SIZE (1 .. ub-document-location))
::= {pilotAttributeType 15}
homeTelephoneNumber ATTRIBUTE
WITH ATTRIBUTE-SYNTAX
telephoneNumberSyntax
::= {pilotAttributeType 20}
secretary ATTRIBUTE
WITH ATTRIBUTE-SYNTAX
distinguishedNameSyntax
::= {pilotAttributeType 21}
otherMailbox ATTRIBUTE
WITH ATTRIBUTE-SYNTAX
SEQUENCE {
mailboxType PrintableString, -- e.g. Telemail
mailbox IA5String -- e.g. X378:Joe
}
::= {pilotAttributeType 22}
lastModifiedTime ATTRIBUTE
WITH ATTRIBUTE-SYNTAX
uTCTimeSyntax
::= {pilotAttributeType 23}
lastModifiedBy ATTRIBUTE
WITH ATTRIBUTE-SYNTAX
distinguishedNameSyntax
::= {pilotAttributeType 24}
domainComponent ATTRIBUTE
WITH ATTRIBUTE-SYNTAX
caseIgnoreIA5StringSyntax
SINGLE VALUE
::= {pilotAttributeType 25}
aRecord ATTRIBUTE
WITH ATTRIBUTE-SYNTAX
DNSRecordSyntax
::= {pilotAttributeType 26}
mXRecord ATTRIBUTE
WITH ATTRIBUTE-SYNTAX
DNSRecordSyntax
::= {pilotAttributeType 28}
nSRecord ATTRIBUTE
WITH ATTRIBUTE-SYNTAX
DNSRecordSyntax
::= {pilotAttributeType 29}
sOARecord ATTRIBUTE
WITH ATTRIBUTE-SYNTAX
DNSRecordSyntax
::= {pilotAttributeType 30}
cNAMERecord ATTRIBUTE
WITH ATTRIBUTE-SYNTAX
iA5StringSyntax
::= {pilotAttributeType 31}
associatedDomain ATTRIBUTE
WITH ATTRIBUTE-SYNTAX
caseIgnoreIA5StringSyntax
::= {pilotAttributeType 37}
associatedName ATTRIBUTE
WITH ATTRIBUTE-SYNTAX
distinguishedNameSyntax
::= {pilotAttributeType 38}
homePostalAddress ATTRIBUTE
WITH ATTRIBUTE-SYNTAX
postalAddress
MATCHES FOR EQUALITY
::= {pilotAttributeType 39}
personalTitle ATTRIBUTE
WITH ATTRIBUTE-SYNTAX
caseIgnoreStringSyntax
(SIZE (1 .. ub-personal-title))
::= {pilotAttributeType 40}
mobileTelephoneNumber ATTRIBUTE
WITH ATTRIBUTE-SYNTAX
telephoneNumberSyntax
::= {pilotAttributeType 41}
pagerTelephoneNumber ATTRIBUTE
WITH ATTRIBUTE-SYNTAX
telephoneNumberSyntax
::= {pilotAttributeType 42}
friendlyCountryName ATTRIBUTE
WITH ATTRIBUTE-SYNTAX
caseIgnoreStringSyntax
::= {pilotAttributeType 43}
uniqueIdentifier ATTRIBUTE
WITH ATTRIBUTE-SYNTAX
caseIgnoreStringSyntax
(SIZE (1 .. ub-unique-identifier))
::= {pilotAttributeType 44}
organizationalStatus ATTRIBUTE
WITH ATTRIBUTE-SYNTAX
caseIgnoreStringSyntax
(SIZE (1 .. ub-organizational-status))
::= {pilotAttributeType 45}
janetMailbox ATTRIBUTE
WITH ATTRIBUTE-SYNTAX
caseIgnoreIA5StringSyntax
(SIZE (1 .. ub-janet-mailbox))
::= {pilotAttributeType 46}
mailPreferenceOption ATTRIBUTE
WITH ATTRIBUTE-SYNTAX ENUMERATED {
no-list-inclusion(0),
any-list-inclusion(1), -- may be added to any lists
professional-list-inclusion(2)
-- may be added to lists
-- which the list provider
-- views as related to the
-- users professional inter-
-- ests, perhaps evaluated
-- from the business of the
-- organisation or keywords
-- in the entry.
}
::= {pilotAttributeType 47}
buildingName ATTRIBUTE
WITH ATTRIBUTE-SYNTAX
caseIgnoreStringSyntax
(SIZE (1 .. ub-building-name))
::= {pilotAttributeType 48}
dSAQuality ATTRIBUTE
WITH ATTRIBUTE-SYNTAX DSAQualitySyntax
SINGLE VALUE
::= {pilotAttributeType 49}
singleLevelQuality ATTRIBUTE
WITH ATTRIBUTE-SYNTAX DataQualitySyntax
SINGLE VALUE
subtreeMinimumQuality ATTRIBUTE
WITH ATTRIBUTE-SYNTAX DataQualitySyntax
SINGLE VALUE
-- Defaults to singleLevelQuality
::= {pilotAttributeType 51}
subtreeMaximumQuality ATTRIBUTE
WITH ATTRIBUTE-SYNTAX DataQualitySyntax
SINGLE VALUE
-- Defaults to singleLevelQuality
::= {pilotAttributeType 52}
personalSignature ATTRIBUTE
WITH ATTRIBUTE-SYNTAX
CHOICE {
g3-facsimile [3] G3FacsimileBodyPart
}
(SIZE (1 .. ub-personal-signature))
::= {pilotAttributeType 53}
dITRedirect ATTRIBUTE
WITH ATTRIBUTE-SYNTAX
distinguishedNameSyntax
::= {pilotAttributeType 54}
audio ATTRIBUTE
WITH ATTRIBUTE-SYNTAX
Audio
(SIZE (1 .. ub-audio))
::= {pilotAttributeType 55}
documentPublisher ATTRIBUTE
WITH ATTRIBUTE SYNTAX caseIgnoreStringSyntax
::= {pilotAttributeType 56}
-- Generally useful syntaxes
caseIgnoreIA5StringSyntax ATTRIBUTE-SYNTAX
IA5String
MATCHES FOR EQUALITY SUBSTRINGS
iA5StringSyntax ATTRIBUTE-SYNTAX
IA5String
MATCHES FOR EQUALITY SUBSTRINGS
-- Syntaxes to support the DNS attributes
DNSRecordSyntax ATTRIBUTE-SYNTAX
IA5String
MATCHES FOR EQUALITY
NRSInformationSyntax ATTRIBUTE-SYNTAX
NRSInformation
MATCHES FOR EQUALITY
NRSInformation ::= SET {
[0] Context,
[1] Address-space-id,
routes [2] SEQUENCE OF SEQUENCE {
Route-cost,
Addressing-info }
}
-- Upper bounds on length of attribute values
ub-document-identifier INTEGER ::= 256
ub-document-location INTEGER ::= 256
ub-document-title INTEGER ::= 256
ub-document-version INTEGER ::= 256
ub-favourite-drink INTEGER ::= 256
ub-host INTEGER ::= 256
ub-information INTEGER ::= 2048
ub-unique-identifier INTEGER ::= 256
ub-personal-title INTEGER ::= 256
ub-photo INTEGER ::= 250000
ub-rfc822-mailbox INTEGER ::= 256
ub-room-number INTEGER ::= 256
ub-text-or-address INTEGER ::= 256
ub-user-class INTEGER ::= 256
ub-user-identifier INTEGER ::= 256
ub-organizational-status INTEGER ::= 256
ub-janet-mailbox INTEGER ::= 256
ub-building-name INTEGER ::= 256
ub-personal-signature ::= 50000
ub-audio INTEGER ::= 250000
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>.