3 # - [PP] Now version controlled in db.d.o git repository, also see debian/changelog - 2009
4 # - [PP] Now version controlled in db.d.o bzr repository - 2007-12-25
7 # - [HE] Add 'purpose', 'physicalHost' to debianServer - 2007-12-25
8 # - [zobel] Add 'VoIP' - 2008-05-10
9 # - [luk] Add 'subGroup' to group - 2008-11-22
12 # - Add 'gender' and 'birthDate' to debianDeveloper
13 # - Add 'mailDisableMessage' to debianAccount
14 # - Add 'mailDisableMessage', 'mailCallout', 'mailGreylisting', 'mailRBL',
15 # 'mailRHSBL', and 'mailWhitelist' to debianDeveloper and debianRoleAccount
18 # - Add 'access' as a MAY for debianServer objectclass.
19 # - Make activity-from a UTF-8 string rather than ASCII.
20 # - add new debianRoleAccount objectclass.
23 # - Add 'access' as a MAY for debianDeveloper objectclass.
24 # - Add 'gid' attribute.
25 # - Make homeDirectory a MAY not MUST for debianAccount.
26 # - drop userPassword and memberUID MAYs from debianGroup.
27 # - add SUP top STRUCTURAL to debianGroup.
30 # - add a UTF8-enabled 'gecos' attribute type, conflicts with RFC2307
31 # - add debianAccount, which is roughly equivalent to posixAccount but
32 # permits UTF8 gecos fields
33 # - add debianGroup, which is the same as above but for posixGroup
36 # - Remove labeledURI, jpegPhoto from the list of supported
37 # attributes; using inetOrgPerson instead of organizationalPerson as
38 # a structural objectclass gives us both of these, and several other
39 # attributes that may be useful.
40 # - Add echelon attributes for MIA work to the debiandeveloper
41 # objectclass. (accountcomment,accountstatus)
42 # - Add specification for debianServer objectclass, used for Debian
46 # - grammarfied 'allowedHosts' to 'allowedHost' as
47 # 1.3.6.1.4.1.9586.100.4.2.12.
48 # - add 'privateSub' as 1.3.6.1.4.1.9586.100.4.4.5.
49 # - add 'jabberJID' as 1.3.6.1.4.1.9586.100.4.2.13.
50 # - change 'icqUIN' to an integer type (see? I told you it wasn't
51 # approved for use yet! ;)
57 # Project: db.debian.org
58 # Contact: Debian directory administrators <admin@db.debian.org>
62 # enterprise.Debian.project.userdir / 1.3.6.1.4.1.9586.100.4
64 # .1 - public LDAP objectClasses
68 # .2 - public LDAP attributeTypes
77 # .9 - middlename (mn)
79 # .11 - supplementaryGid
100 # .32 - mailDisableMessage
106 # .38 - mailContentInspectionAction
107 # .39 - allowedGroups
108 # .40 - exportOptions
109 # .41 - sshdistAuthKeysHost
112 # .3 - experimental LDAP objectClasses
113 # .1 - debianDeveloper
115 # .3 - debianRoleAccount
117 # .4 - experimental LDAP attributeTypes
118 # .1 - allowedHosts - OBSOLETED
121 # .4 - keyFingerPrint
123 # .6 - accountComment
125 # .8 - perform callouts
126 # .9 - perform greylisting
131 # Public attribute types
132 attributetype ( 1.3.6.1.4.1.9586.100.4.2.1
134 DESC 'textual form of an SSH public key compatible with authorized_keys'
135 EQUALITY caseIgnoreMatch
136 SUBSTR caseIgnoreSubstringsMatch
137 SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 )
139 attributetype ( 1.3.6.1.4.1.9586.100.4.2.2
141 DESC 'last known activity from user email address'
142 EQUALITY caseExactMatch
143 SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 SINGLE-VALUE )
145 attributetype ( 1.3.6.1.4.1.9586.100.4.2.3
147 DESC 'last known activity from user PGP key'
148 EQUALITY caseExactIA5Match
149 SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 SINGLE-VALUE )
151 attributetype ( 1.3.6.1.4.1.9586.100.4.2.4
153 DESC 'user-editable comment'
154 EQUALITY caseExactIA5Match
155 SUBSTR caseIgnoreIA5SubstringsMatch
156 SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 )
158 attributetype ( 1.3.6.1.4.1.9586.100.4.2.5
160 DESC 'UIN for ICQ instant messaging system'
161 EQUALITY integerMatch
162 SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 )
164 attributetype ( 1.3.6.1.4.1.9586.100.4.2.6
166 DESC 'Internet Relay Chat nickname'
167 EQUALITY caseIgnoreIA5Match
168 SUBSTR caseIgnoreIA5SubstringsMatch
169 SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 )
171 attributetype ( 1.3.6.1.4.1.9586.100.4.2.7
173 DESC 'latitude coordinate'
174 EQUALITY caseExactIA5Match
175 SUBSTR caseExactIA5SubstringsMatch
176 SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 SINGLE-VALUE )
178 attributetype ( 1.3.6.1.4.1.9586.100.4.2.8
180 DESC 'longitude coordinate'
181 EQUALITY caseExactIA5Match
182 SUBSTR caseExactIA5SubstringsMatch
183 SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 SINGLE-VALUE )
185 attributetype ( 1.3.6.1.4.1.9586.100.4.2.9
186 NAME ( 'mn' 'middlename' )
189 attributetype ( 1.3.6.1.4.1.9586.100.4.2.10
191 DESC 'vacation message'
192 EQUALITY caseIgnoreMatch
193 SUBSTR caseIgnoreSubstringsMatch
194 SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 SINGLE-VALUE )
196 attributetype ( 1.3.6.1.4.1.9586.100.4.2.11
197 NAME 'supplementaryGid'
198 DESC 'additional Unix group id of user'
199 EQUALITY caseIgnoreMatch
200 SUBSTR caseIgnoreSubstringsMatch
201 SYNTAX 1.3.6.1.4.1.1466.115.121.1.15{256} )
203 attributetype ( 1.3.6.1.4.1.9586.100.4.2.12
205 DESC 'host name this account is allowed access to'
206 EQUALITY caseIgnoreIA5Match
207 SUBSTR caseIgnoreIA5SubstringsMatch
208 SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 )
210 attributetype ( 1.3.6.1.4.1.9586.100.4.2.13
212 DESC 'JID for Jabber instant messaging protocol'
213 EQUALITY caseIgnoreIA5Match
214 SUBSTR caseIgnoreIA5SubstringsMatch
215 SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 )
217 attributetype ( 1.3.6.1.4.1.9586.100.4.2.14
219 DESC 'nature of access allowed to server'
220 EQUALITY caseIgnoreMatch
221 SUBSTR caseIgnoreSubstringsMatch
222 SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 )
224 attributetype ( 1.3.6.1.4.1.9586.100.4.2.15
226 DESC 'email address of server administrator'
227 EQUALITY caseIgnoreIA5Match
228 SUBSTR caseIgnoreIA5SubstringsMatch
229 SYNTAX 1.3.6.1.4.1.1466.115.121.1.26{256} )
231 attributetype ( 1.3.6.1.4.1.9586.100.4.2.16
233 DESC 'hardware architecture of server'
234 EQUALITY caseIgnoreIA5Match
235 SUBSTR caseIgnoreIA5SubstringsMatch
236 SYNTAX 1.3.6.1.4.1.1466.115.121.1.26{256} SINGLE-VALUE )
238 attributetype ( 1.3.6.1.4.1.9586.100.4.2.17
240 DESC 'type of network connection for server'
241 EQUALITY caseIgnoreMatch
242 SUBSTR caseIgnoreSubstringsMatch
243 SYNTAX 1.3.6.1.4.1.1466.115.121.1.15{128} )
245 attributetype ( 1.3.6.1.4.1.9586.100.4.2.18
247 DESC 'amount of disk space available to server'
248 EQUALITY caseIgnoreMatch
249 SUBSTR caseIgnoreSubstringsMatch
250 SYNTAX 1.3.6.1.4.1.1466.115.121.1.15{64} )
252 attributetype ( 1.3.6.1.4.1.9586.100.4.2.19
254 DESC 'host OS distribution'
255 EQUALITY caseIgnoreIA5Match
256 SUBSTR caseIgnoreIA5SubstringsMatch
257 SYNTAX 1.3.6.1.4.1.1466.115.121.1.26{256} SINGLE-VALUE )
259 #attributetype ( 1.3.6.1.4.1.9586.100.4.2.20
261 # DESC '(short) host name of server'
262 # EQUALITY caseIgnoreIA5Match
263 # SUBSTR caseIgnoreIA5SubstringsMatch
264 # SYNTAX 1.3.6.1.4.1.1466.115.121.1.26{128} SINGLE-VALUE )
266 attributetype ( 1.3.6.1.4.1.9586.100.4.2.21
268 DESC 'FQDN of the server'
269 EQUALITY caseIgnoreIA5Match
270 SUBSTR caseIgnoreIA5SubstringsMatch
271 SYNTAX 1.3.6.1.4.1.1466.115.121.1.26{256} )
273 attributetype ( 1.3.6.1.4.1.9586.100.4.2.22
275 DESC 'description of physical hardware'
276 EQUALITY caseIgnoreMatch
277 SUBSTR caseIgnoreSubstringsMatch
278 SYNTAX 1.3.6.1.4.1.1466.115.121.1.15{256} SINGLE-VALUE )
280 attributetype ( 1.3.6.1.4.1.9586.100.4.2.23
282 DESC 'amount of RAM available to server'
283 EQUALITY caseIgnoreMatch
284 SUBSTR caseIgnoreSubstringsMatch
285 SYNTAX 1.3.6.1.4.1.1466.115.121.1.15{64} )
287 attributetype ( 1.3.6.1.4.1.9586.100.4.2.24
289 DESC 'name of the sponsor of this server'
290 EQUALITY caseIgnoreMatch
291 SUBSTR caseIgnoreSubstringsMatch
292 SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 )
294 attributetype ( 1.3.6.1.4.1.9586.100.4.2.25
296 DESC 'email address of sponsoring server administrator'
297 EQUALITY caseIgnoreIA5Match
298 SUBSTR caseIgnoreIA5SubstringsMatch
299 SYNTAX 1.3.6.1.4.1.1466.115.121.1.26{256} )
301 attributetype ( 1.3.6.1.4.1.9586.100.4.2.26
303 DESC 'textual form of an SSH public host key compatible with known_hosts'
304 EQUALITY caseIgnoreMatch
305 SUBSTR caseIgnoreSubstringsMatch
306 SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 )
308 attributetype ( 1.3.6.1.4.1.9586.100.4.2.27
310 DESC 'administrative status of server'
311 EQUALITY caseIgnoreMatch
312 SUBSTR caseIgnoreSubstringsMatch
313 SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 )
315 attributetype ( 1.3.6.1.4.1.9586.100.4.2.28
317 DESC 'The GECOS field; the common name'
318 EQUALITY caseIgnoreMatch
319 SUBSTR caseIgnoreSubstringsMatch
320 SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 SINGLE-VALUE )
322 attributetype ( 1.3.6.1.4.1.9586.100.4.2.29
325 EQUALITY caseExactIA5Match
326 SUBSTR caseExactIA5SubstringsMatch
327 SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 SINGLE-VALUE )
329 attributetype ( 1.3.6.1.4.1.9586.100.4.2.30
331 DESC 'ISO 5218 representation of human gender'
332 EQUALITY integerMatch
334 SYNTAX 1.3.6.1.4.1.1466.115.121.1.27{1} )
336 attributetype ( 1.3.6.1.4.1.9586.100.4.2.31
338 DESC 'Date of birth in YYYYMMDD format'
339 EQUALITY numericStringMatch
341 SYNTAX 1.3.6.1.4.1.1466.115.121.1.36{8} )
343 attributetype ( 1.3.6.1.4.1.9586.100.4.2.32
344 NAME 'mailDisableMessage'
345 DESC 'Message returned when all mail is disabled'
346 EQUALITY caseIgnoreIA5Match
347 SUBSTR caseIgnoreIA5SubstringsMatch
348 SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 SINGLE-VALUE )
350 attributetype ( 1.3.6.1.4.1.9586.100.4.2.33
352 DESC 'purposes of this server'
353 EQUALITY caseIgnoreMatch
354 SUBSTR caseIgnoreSubstringsMatch
355 SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 )
357 attributetype ( 1.3.6.1.4.1.9586.100.4.2.34
359 DESC 'FQDN of the physical host of this virtual server'
360 EQUALITY caseIgnoreIA5Match
361 SUBSTR caseIgnoreIA5SubstringsMatch
363 SYNTAX 1.3.6.1.4.1.1466.115.121.1.26{256} )
365 attributetype ( 1.3.6.1.4.1.9586.100.4.2.35
367 DESC 'VoIP URL to communicate with that person'
368 EQUALITY caseIgnoreIA5Match
369 SUBSTR caseIgnoreIA5SubstringsMatch
370 SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 )
372 attributetype ( 1.3.6.1.4.1.9586.100.4.2.36
375 EQUALITY octetStringMatch
376 SYNTAX 1.3.6.1.4.1.1466.115.121.1.40 )
378 attributetype ( 1.3.6.1.4.1.9586.100.4.2.37
380 DESC 'name of other group for which membership implied by memberschip to this group'
381 EQUALITY caseIgnoreIA5Match
382 SUBSTR caseIgnoreIA5SubstringsMatch
383 SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 )
385 # more attributes below
386 attributetype ( 1.3.6.1.4.1.9586.100.4.2.39
388 DESC 'Groups that have access to a host'
389 EQUALITY caseExactIA5Match
390 SUBSTR caseExactIA5SubstringsMatch
391 SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 )
393 attributetype ( 1.3.6.1.4.1.9586.100.4.2.40
395 DESC 'export options for servers'
396 EQUALITY caseIgnoreIA5Match
397 SUBSTR caseIgnoreIA5SubstringsMatch
398 SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 )
400 # Experimental attribute types
402 # There are existing schemas for doing DNS in LDAP; would one of
403 # these be better? c.f. draft-miller-dns-ldap-schema-00 (expired)
404 attributetype ( 1.3.6.1.4.1.9586.100.4.4.2
406 DESC 'DNS zone record for user'
407 EQUALITY octetStringMatch
408 SUBSTR caseIgnoreSubstringsMatch
409 SYNTAX 1.3.6.1.4.1.1466.115.121.1.40 )
411 # rfc822mailbox (RFC1274) is recommended as a replacement for this in
413 attributetype ( 1.3.6.1.4.1.9586.100.4.4.3
415 DESC 'forwarding address for email sent to this account'
416 EQUALITY caseIgnoreIA5Match
417 SUBSTR caseIgnoreIA5SubstringsMatch
418 SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 SINGLE-VALUE)
420 # Network Associates also has a schema for PGP keys / key IDs which may
421 # or may not be applicable:
422 # http://www.openldap.org/lists/openldap-devel/200010/msg00071.html
423 attributetype ( 1.3.6.1.4.1.9586.100.4.4.4
424 NAME 'keyFingerPrint'
425 EQUALITY caseIgnoreMatch
426 SUBSTR caseIgnoreSubstringsMatch
427 SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 )
429 # Rather Debian-specific, not useful to the public.
430 attributetype ( 1.3.6.1.4.1.9586.100.4.4.5
432 DESC 'email subscription address for debian-private mailing list'
433 EQUALITY caseIgnoreIA5Match
434 SUBSTR caseIgnoreIA5SubstringsMatch
435 SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 SINGLE-VALUE)
437 # Echelon attributes; re-evaluate later
438 attributetype ( 1.3.6.1.4.1.9586.100.4.4.6
439 NAME 'accountComment'
440 DESC 'additional comments regarding the account status'
441 EQUALITY caseIgnoreIA5Match
442 SUBSTR caseIgnoreIA5SubstringsMatch
443 SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 )
445 attributetype ( 1.3.6.1.4.1.9586.100.4.4.7
447 DESC 'Debian developer account status'
448 EQUALITY caseIgnoreIA5Match
449 SUBSTR caseIgnoreIA5SubstringsMatch
450 SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 SINGLE-VALUE )
452 # mail attributes; not public information
453 attributetype ( 1.3.6.1.4.1.9586.100.4.4.8
455 DESC 'Whether or not to require a successful callout attempt on email delivery'
456 EQUALITY booleanMatch
457 SYNTAX 1.3.6.1.4.1.1466.115.121.1.7 SINGLE-VALUE )
459 attributetype ( 1.3.6.1.4.1.9586.100.4.4.9
460 NAME 'mailGreylisting'
461 DESC 'Whether or not to perform greylisting on email delivery'
462 EQUALITY booleanMatch
463 SYNTAX 1.3.6.1.4.1.1466.115.121.1.7 SINGLE-VALUE )
465 attributetype ( 1.3.6.1.4.1.9586.100.4.4.11
467 DESC 'RBL sites to check at SMTP accept time'
468 EQUALITY caseIgnoreIA5Match
469 SUBSTR caseIgnoreIA5SubstringsMatch
470 SYNTAX 1.3.6.1.4.1.1466.115.121.1.26{256} )
472 attributetype ( 1.3.6.1.4.1.9586.100.4.4.12
474 DESC 'RHSBL sites to check at SMTP accept time'
475 EQUALITY caseIgnoreIA5Match
476 SUBSTR caseIgnoreIA5SubstringsMatch
477 SYNTAX 1.3.6.1.4.1.1466.115.121.1.26{256} )
479 attributetype ( 1.3.6.1.4.1.9586.100.4.4.13
481 DESC 'sites to whitelist from additional SMTP accept time checks'
482 EQUALITY caseIgnoreIA5Match
483 SUBSTR caseIgnoreIA5SubstringsMatch
484 SYNTAX 1.3.6.1.4.1.1466.115.121.1.26{256} )
486 attributetype ( 1.3.6.1.4.1.9586.100.4.2.38
487 NAME 'mailContentInspectionAction'
488 DESC 'what to do on content inspection hits'
489 EQUALITY caseIgnoreIA5Match
490 SUBSTR caseIgnoreIA5SubstringsMatch
491 SYNTAX 1.3.6.1.4.1.1466.115.121.1.26{256} SINGLE-VALUE )
493 attributetype ( 1.3.6.1.4.1.9586.100.4.2.41
494 NAME ( 'sshdistAuthKeysHost' )
497 attributetype ( 1.3.6.1.4.1.9586.100.4.4.42
499 DESC 'DNS Time To Live value'
500 EQUALITY caseIgnoreIA5Match
501 SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 SINGLE-VALUE )
503 # Public object classes
505 objectclass ( 1.3.6.1.4.1.9586.100.4.1.1
507 DESC 'Abstraction of an account with POSIX attributes and UTF8 support'
509 MUST ( cn $ uid $ uidNumber $ gidNumber )
510 MAY ( userPassword $ loginShell $ gecos $ homeDirectory $ description $ mailDisableMessage $ sudoPassword ) )
512 objectclass ( 1.3.6.1.4.1.9586.100.4.1.2
515 DESC 'attributes used for Debian groups'
516 MUST ( gid $ gidNumber )
517 MAY ( description $ subGroup $ accountStatus ) )
519 # Experimental objectclasses:
521 objectclass ( 1.3.6.1.4.1.9586.100.4.3.1
522 NAME 'debianDeveloper'
523 DESC 'additional account attributes used by Debian'
525 MUST ( uid $ cn $ sn )
526 MAY ( accountComment $ accountStatus $ activity-from $
527 activity-pgp $ allowedHost $ comment $ countryName $
528 dnsZoneEntry $ emailForward $ icqUin $ ircNick $
529 jabberJID $ keyFingerPrint $ latitude $ longitude $ mn $
530 onVacation $ privateSub $ sshRSAAuthKey $ supplementaryGid $
531 access $ gender $ birthDate $ mailCallout $ mailGreylisting $
532 mailRBL $ mailRHSBL $ mailWhitelist $ VoIP $ mailContentInspectionAction
535 objectclass ( 1.3.6.1.4.1.9586.100.4.3.2
537 DESC 'Internet-connected server associated with Debian'
539 MUST ( host $ hostname )
540 MAY ( c $ access $ admin $ architecture $ bandwidth $ description $ disk $
541 distribution $ l $ machine $ memory $ sponsor $
542 sponsor-admin $ status $ physicalHost $ ipHostNumber $ dnsTTL $
543 sshRSAHostKey $ purpose $ allowedGroups $ exportOptions $ MXRecord $
547 objectclass ( 1.3.6.1.4.1.9586.100.4.3.3
548 NAME 'debianRoleAccount'
549 DESC 'Abstraction of an account with POSIX attributes and UTF8 support'
550 SUP account STRUCTURAL
551 MAY ( emailForward $ supplementaryGid $ allowedHost $ labeledURI $
552 mailCallout $ mailGreylisting $ mailRBL $ mailRHSBL $
553 mailWhitelist $ dnsZoneEntry $ mailContentInspectionAction