3 # These come from RFC1274 and are in ASN.1 syntax. They have been
4 # translated with some imagination. Only attributes and classes we
5 # already had are here. In general, the matching rules in the
6 # attribute types are incomplete or incorrect and have to be checked.
8 # Note: It seems that the pilot schema evolved beyond what was
9 # described in RFC1274. It also seems that Umich followed the changes
10 # but we don't know where are documented. More worrisome is that it
11 # seems that Netscape does not know either. Searches on Altavista
12 # have not shed any light, so we will have to ask for help.
14 # This file uses definitions from core.schema
16 # ccitt.data.pss.ucl.pilot ( 0.9.2342.19200300.100 )
17 # 1 pilotAttributeType
18 # 3 pilotAttributeSyntax
22 # Believe it or not, this is case-insensitive
24 attributetype ( 0.9.2342.19200300.100.1.2 NAME 'textEncodedORAddress'
25 EQUALITY caseIgnoreMatch
26 SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 )
28 attributetype ( 0.9.2342.19200300.100.1.3 NAME ( 'mail' 'rfc822Mailbox' )
29 EQUALITY caseIgnoreIA5Match
30 SYNTAX 1.3.6.1.4.1.1466.115.121.1.15{256} )
32 attributetype ( 0.9.2342.19200300.100.1.4 NAME 'info' EQUALITY caseIgnoreMatch
33 SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 )
35 attributetype ( 0.9.2342.19200300.100.1.5 NAME ( 'drink' 'favouriteDrink' )
36 EQUALITY caseIgnoreMatch
37 SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 )
39 attributetype ( 0.9.2342.19200300.100.1.6 NAME 'roomNumber'
40 EQUALITY caseIgnoreMatch
41 SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 )
43 attributetype ( 0.9.2342.19200300.100.1.7 NAME 'photo'
44 SYNTAX 1.3.6.1.4.1.1466.115.121.1.5 )
46 attributetype ( 0.9.2342.19200300.100.1.8 NAME 'userClass'
47 EQUALITY caseIgnoreMatch
48 SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 )
50 attributetype ( 0.9.2342.19200300.100.1.9 NAME 'host'
51 EQUALITY caseIgnoreMatch
52 SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 )
54 attributetype ( 0.9.2342.19200300.100.1.10 NAME 'manager'
55 EQUALITY distinguishedNameMatch
56 SYNTAX 1.3.6.1.4.1.1466.115.121.1.12 )
58 attributetype ( 0.9.2342.19200300.100.1.11 NAME 'documentIdentifier'
59 EQUALITY caseIgnoreMatch
60 SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 )
62 attributetype ( 0.9.2342.19200300.100.1.12 NAME 'documentTitle'
63 EQUALITY caseIgnoreMatch
64 SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 )
66 attributetype ( 0.9.2342.19200300.100.1.13 NAME 'documentVersion'
67 EQUALITY caseIgnoreMatch
68 SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 )
70 attributetype ( 0.9.2342.19200300.100.1.14 NAME 'documentAuthor'
71 EQUALITY distinguishedNameMatch
72 SYNTAX 1.3.6.1.4.1.1466.115.121.1.12 )
74 attributetype ( 0.9.2342.19200300.100.1.15 NAME 'documentLocation'
75 EQUALITY caseIgnoreMatch
76 SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 )
78 attributetype ( 0.9.2342.19200300.100.1.20 NAME ( 'homeTelephoneNumber' 'homePhone' )
79 EQUALITY telephoneNumberMatch
80 SUBSTR telephoneNumberSubstringsMatch
81 SYNTAX 1.3.6.1.4.1.1466.115.121.1.50 )
83 attributetype ( 0.9.2342.19200300.100.1.21 NAME 'secretary'
84 EQUALITY distinguishedNameMatch
85 SYNTAX 1.3.6.1.4.1.1466.115.121.1.12 )
87 # Netscape defines this with syntax 1.15 TBC
89 attributetype ( 0.9.2342.19200300.100.1.22 NAME 'otherMailbox'
90 SYNTAX 1.3.6.1.4.1.1466.115.121.1.39 )
92 # Netscape defines this with syntax 1.15 TBC
93 # Mathcing rules for this are unknown
95 attributetype ( 0.9.2342.19200300.100.1.23 NAME 'lastModifiedTime'
96 SYNTAX 1.3.6.1.4.1.1466.115.121.1.53 )
98 attributetype ( 0.9.2342.19200300.100.1.24 NAME 'lastModifiedBy'
99 EQUALITY distinguishedNameMatch
100 SYNTAX 1.3.6.1.4.1.1466.115.121.1.12 )
102 # This is the definition as defined in RFC2247
103 # Terrific, we don't know about caseIgnoreIA5SubstringsMatch
105 # See RFC2247 define in core.schema
106 #attributetype ( 0.9.2342.19200300.100.1.25 NAME 'dc'
107 # EQUALITY caseIgnoreIA5Match
108 # SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 SINGLE-VALUE )
110 # This is aRecord in RFC1274. However, objectclass dNSDomain as we
111 # and Netscape use it is very different.
113 attributetype ( 0.9.2342.19200300.100.1.26 NAME 'dNSRecord'
114 SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 )
116 # 0.9.2342.19200300.100.1.27 was probably intended to be mDRecord in
117 # RFC1274, but they got it wrong and did not define it, thought it
118 # is referenced by dNSDomain in it.
120 # 0.9.2342.19200300.100.1.28 was mXRecord in RFC1274
121 # 0.9.2342.19200300.100.1.29 was nSRecord in RFC1274
122 # 0.9.2342.19200300.100.1.30 was sOARecord in RFC1274
123 # 0.9.2342.19200300.100.1.31 was cNAMERecord in RFC1274
125 # Terrific, we don't know about caseIgnoreIA5SubstringsMatch
126 #attribute ( 0.9.2342.19200300.100.1.37 NAME 'associatedDomain'
127 # EQUALITY caseIgnoreIA5Match
128 # SUBSTR caseIgnoreIA5SubstringsMatch
129 # SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 )
130 attributetype ( 0.9.2342.19200300.100.1.37 NAME 'associatedDomain'
131 EQUALITY caseIgnoreIA5Match
132 SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 )
134 attributetype ( 0.9.2342.19200300.100.1.38 NAME 'associatedName'
135 EQUALITY distinguishedNameMatch
136 SYNTAX 1.3.6.1.4.1.1466.115.121.1.12 )
138 # Netscape gives syntax 1.15 to this. TBC
139 # We take the matching rules from postalAddress in RFC2256
140 # Show stopper: we don't have the definition of caseIgnoreListSubstringsMatch
142 attributetype ( 0.9.2342.19200300.100.1.39 NAME 'homePostalAddress'
143 EQUALITY caseIgnoreListMatch
144 SYNTAX 1.3.6.1.4.1.1466.115.121.1.41 )
146 attributetype ( 0.9.2342.19200300.100.1.40 NAME 'personalTitle'
147 EQUALITY caseIgnoreMatch
148 SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 )
150 attributetype ( 0.9.2342.19200300.100.1.41 NAME ( 'mobileTelephoneNumber' 'mobile' )
151 EQUALITY telephoneNumberMatch
152 SUBSTR telephoneNumberSubstringsMatch
153 SYNTAX 1.3.6.1.4.1.1466.115.121.1.50 )
155 attributetype ( 0.9.2342.19200300.100.1.42 NAME ( 'pagerTelephoneNumber' 'pager' )
156 EQUALITY telephoneNumberMatch
157 SUBSTR telephoneNumberSubstringsMatch
158 SYNTAX 1.3.6.1.4.1.1466.115.121.1.50 )
160 attributetype ( 0.9.2342.19200300.100.1.43 NAME ( 'co' 'friendlyCountryName' )
161 EQUALITY caseIgnoreMatch
162 SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 )
164 attributetype ( 0.9.2342.19200300.100.1.44 NAME 'uniqueIdentifier'
165 EQUALITY caseIgnoreMatch
166 SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 )
168 attributetype ( 0.9.2342.19200300.100.1.45 NAME 'organizationalStatus'
169 EQUALITY caseIgnoreMatch
170 SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 )
172 attributetype ( 0.9.2342.19200300.100.1.46 NAME 'janetMailbox'
173 EQUALITY caseIgnoreIA5Match
174 SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 )
176 # Netscape gives syntax 1.27 (integer). However, 1.32 is only listed
177 # in RFC2252 without explanation. The SINGLE-VALUE thing comes from
178 # Netscape and is not backed by RFC1274.
180 attributetype ( 0.9.2342.19200300.100.1.47 NAME 'mailPreferenceOption'
181 SYNTAX 1.3.6.1.4.1.1466.115.121.1.32 SINGLE-VALUE )
183 attributetype ( 0.9.2342.19200300.100.1.48 NAME 'buildingName'
184 EQUALITY caseIgnoreMatch
185 SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 SINGLE-VALUE )
187 # 0.9.2342.19200300.100.1.49 was dSAQuality in RFC1274
188 # 0.9.2342.19200300.100.1.50 was singleLevelQuality in RFC1274
189 # 0.9.2342.19200300.100.1.51 was subtreeMinimumQuality in RFC1274
190 # 0.9.2342.19200300.100.1.52 was subtreeMaximumQuality in RFC1274
192 # Netscape assigns binary syntax to this. RFC1274 is more detailed
193 # about this but RFC2252 does not seem to list a specific syntax.
194 # We had this as 'bin'
196 attributetype ( 0.9.2342.19200300.100.1.53 NAME 'personalSignature'
197 SYNTAX 1.3.6.1.4.1.1466.115.121.1.5 )
199 attributetype ( 0.9.2342.19200300.100.1.54 NAME 'dITRedirect'
200 EQUALITY distinguishedNameMatch
201 SYNTAX 1.3.6.1.4.1.1466.115.121.1.12 )
203 # Netscape gives syntax 1.5 to this. We had it as 'bin'.
205 attributetype ( 0.9.2342.19200300.100.1.55 NAME 'audio'
206 SYNTAX 1.3.6.1.4.1.1466.115.121.1.4 )
208 attributetype ( 0.9.2342.19200300.100.1.56 NAME 'documentPublisher'
209 EQUALITY caseIgnoreMatch
210 SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 )
212 # From ietf-draft-smith-inetorgperson-xx.txt
213 attributetype ( 0.9.2342.19200300.100.1.60
216 SYNTAX 1.3.6.1.4.1.1466.115.121.1.28 )
218 # These attributes are pilot-related attributes that we had and Netscape
219 # has too, however, the OID is unknown for them and Netscape uses a
220 # string in place of the missing OID. We will do the same until we
221 # can make head or tails of this.
223 attributetype ( abstract-oid NAME 'abstract'
224 SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 )
226 attributetype ( authorcn-oid NAME ( 'documentAuthorCommonName' 'authorCn' )
227 SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 )
229 attributetype ( authorsn-oid NAME ( 'documentAuthorSurname' 'authorSn' )
230 SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 )
232 attributetype ( documentStore-oid NAME 'documentStore'
233 SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 )
235 attributetype ( keyWords-oid NAME 'keyWords'
236 SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 )
238 attributetype ( obsoletedByDocument-oid NAME 'obsoletedByDocument'
239 SYNTAX 1.3.6.1.4.1.1466.115.121.1.12 )
241 attributetype ( obsoletesDocument-oid NAME 'obsoletesDocument'
242 SYNTAX 1.3.6.1.4.1.1466.115.121.1.12 )
244 attributetype ( subject-oid NAME 'subject'
245 SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 )
247 attributetype ( updatedByDocument-oid NAME 'updatedByDocument'
248 SYNTAX 1.3.6.1.4.1.1466.115.121.1.12 )
250 attributetype ( updatesDocument-oid NAME 'updatesDocument'
251 SYNTAX 1.3.6.1.4.1.1466.115.121.1.12 )
253 # In classes, STRUCTURAL or AUXILIARY is chosen depending on the
254 # textual description that accompanies the class in RFC1274
256 # This is pilotObject from the RFC. However, we had both photo
257 # and jpegPhoto attributes. Nestcape does too.
259 objectclass ( 0.9.2342.19200300.100.4.3 NAME 'pilotObject' SUP top
260 AUXILIARY MAY ( info $ photo $ manager $ uniqueIdentifier $
261 lastModifiedTime $ lastModifiedBy $ dITRedirect $ audio $
264 # This is probably wrong. RFC1274 defines a pilotPerson. We did not
265 # have it and we did have a newPilotPerson instead. However, the
266 # definition is the same. Maybe it changed and was not reflected
269 objectclass ( 0.9.2342.19200300.100.4.4 NAME 'newPilotPerson' SUP person
270 STRUCTURAL MAY ( uid $ textEncodedORAddress $ mail $ drink $
271 roomNumber $ userClass $ homePhone $ homePostalAddress $
272 secretary $ personalTitle $ preferredDeliveryMethod $
273 businessCategory $ janetMailbox $ otherMailbox $ mobile $
274 pager $ organizationalStatus $ mailPreferenceOption $
275 personalSignature ) )
277 # The text is unclear about whether it is STRUCTURAL or AUXILIARY
278 # I think it was meant to be STRUCTURAL, it is the least restrictive
279 # of the options and RFC2377 explains uidObject as an auxiliary.
281 objectclass ( 0.9.2342.19200300.100.4.5 NAME 'account' SUP top
282 STRUCTURAL MUST uid MAY ( description $ seeAlso $ l $ o $ ou $
285 # Netscape says this is derived from pilotObject, but RFC1274 says top.
286 # Which is it? Our attribute list matches that of Netscape, so we will
287 # go with Netscape for the time being.
289 # Besides, this objectclass is a mess. I can only presume that
290 # originally documentAuthor, but later someone noticed that not all
291 # authors had DN's, so authorCN and authorSN were added. Other
292 # attributes were added as well. However, either no one remembered to
293 # assign OIDs to these attribute types or their assignments have been
294 # lost. See their definitions above for the Netscape kludge that we
295 # have adopted. FIX NEEDED.
297 objectclass ( 0.9.2342.19200300.100.4.6 NAME 'document' SUP pilotObject
298 MUST documentIdentifier MAY ( cn $ description $ seeAlso $ l $
299 o $ ou $ documentTitle $ documentVersion $ documentAuthor $
300 documentLocation $ documentPublisher $
301 abstract $ authorCN $ authorSN $ documentStore $ keywords $
302 obsoletedByDocument $ obsoletesDocument $ subject $
303 updatedByDocument $ updatesDocument ) )
305 objectclass ( 0.9.2342.19200300.100.4.7 NAME 'room' SUP top STRUCTURAL
306 MUST cn MAY ( roomNumber $ description $ seeAlso $ telephoneNumber ) )
308 objectclass ( 0.9.2342.19200300.100.4.9 NAME 'documentSeries' SUP top
309 STRUCTURAL MUST cn MAY ( description $ seeAlso $ telephonenumber $
312 # This definition is much longer than that in RFC1274 and is taken from RFC2247
313 objectclass ( 0.9.2342.19200300.100.4.13 NAME 'domain' SUP top STRUCTURAL
315 MAY ( userPassword $ searchGuide $ seeAlso $ businessCategory $
316 x121Address $ registeredAddress $ destinationIndicator $
317 preferredDeliveryMethod $ telexNumber $ teletexTerminalIdentifier $
318 telephoneNumber $ internationaliSDNNumber $ facsimileTelephoneNumber $
319 street $ postOfficeBox $ postalCode $ postalAddress $
320 physicalDeliveryOfficeName $ st $ l $ description $ o $
323 # This class has in RFC1274 two attributes postalAttributeSet and
324 # telecomunicationAttributeSet that we did not have. We let them out
325 # for now. Netscape does not have them either.
327 objectclass ( 0.9.2342.19200300.100.4.14 NAME 'RFC822localPart' SUP domain
328 MAY ( cn $ sn $ description $ seeAlso $ telephonenumber ) )
330 # Another wonderful inconsistency. This objectclass has little
331 # relationship to the way it was defined in RFC1274, that was derived
332 # from domain, adding ARecord, MDRecord, MXRecord, NSRecord, SOARecord
333 # and CNAMERecord attribute types of syntax DNSRecordSyntax. On the
334 # other hand, we had dNSRecord and Netscape has it too. The OID for
335 # dNSRecord is the one used in RFC1274 for ARecord. Netscape also has
336 # a manager attribute type here that we did not. It seems a mistake
337 # and we do not include it.
339 objectclass ( 0.9.2342.19200300.100.4.15 NAME 'dNSDomain' SUP 'domain'
342 objectclass ( 0.9.2342.19200300.100.4.17 NAME 'domainRelatedObject'
343 SUP 'top' MUST associatedDomain )
345 # Well, first notice we (and Netscape) were using co as short for
346 # friendlyCountryName
348 objectclass ( 0.9.2342.19200300.100.4.18 NAME 'friendlyCountry' SUP country
351 objectclass ( 0.9.2342.19200300.100.4.19 NAME 'simpleSecurityObject'
352 SUP top MUST userPassword )
354 # Nice test case of class with two superiors. Netscape does not give
355 # OID for this objectclass and gives top as its superior. We use the
356 # OID given in RFC1274
358 objectclass ( 0.9.2342.19200300.100.4.20 NAME 'pilotOrganization'
359 SUP ( organization $ organizationalUnit ) MAY buildingName )