ud-generate: deal with users without loginShell
[mirror/userdir-ldap.git] / userdir-ldap.schema
1 # Revision history:
2 #
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
5 #
6 # long time ago:
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
10 #
11 # 0.7 [RM]
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
16
17 # 0.6 [JT]
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.
21 #
22 # 0.5 [JT]
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.
28 #
29 # 0.4
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
34 #
35 # 0.3
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 
43 #     server listings
44 #
45 # 0.2
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! ;)
52 #
53 # 0.1
54 #   - initial revision
55 #
56 #
57 # Project: db.debian.org
58 # Contact: Debian directory administrators <admin@db.debian.org>
59 # Type:    X.500/LDAP
60 # Section: Project
61 #
62 # enterprise.Debian.project.userdir / 1.3.6.1.4.1.9586.100.4
63 #
64 # .1 - public LDAP objectClasses
65 #   .1 - debianAccount
66 #   .2 - debianGroup
67 #
68 # .2 - public LDAP attributeTypes
69 #   .1 - sshRSAAuthKey
70 #   .2 - activity-from
71 #   .3 - activity-pgp
72 #   .4 - comment
73 #   .5 - icqUin
74 #   .6 - ircNick
75 #   .7 - latitude
76 #   .8 - longitude
77 #   .9 - middlename (mn)
78 #   .10 - onVacation
79 #   .11 - supplementaryGid
80 #   .12 - allowedHost
81 #   .13 - jabberJID
82 #   .14 - access
83 #   .15 - admin
84 #   .16 - architecture
85 #   .17 - bandwidth
86 #   .18 - disk
87 #   .19 - distribution
88 #   .20 - host
89 #   .21 - hostname
90 #   .22 - machine
91 #   .23 - memory
92 #   .24 - sponsor
93 #   .25 - sponsor-admin
94 #   .26 - sshRSAHostKey
95 #   .27 - status
96 #   .28 - gecos
97 #   .29 - gid
98 #   .30 - gender
99 #   .31 - birthdate
100 #   .32 - mailDisableMessage
101 #   .33 - purpose
102 #   .34 - physicalHost
103 #   .35 - VoIP
104 #   .36 - sudoPassword
105 #   .37 - subGroup
106 #   .38 - mailContentInspectionAction
107 #   .39 - allowedGroups
108 #   .40 - exportOptions
109 #   .41 - sshdistAuthKeysHost
110 #   .42 - dnsTTL
111 #   .43 - webPassword
112 #   .44 - rtcPassword
113 #   .45 - rebootPolicy
114 #   .46 - totpSeed
115 #   .47 - sshfpHostname
116 #
117 # .3 - experimental LDAP objectClasses
118 #   .1 - debianDeveloper
119 #   .2 - debianServer
120 #   .3 - debianRoleAccount
121
122 # .4 - experimental LDAP attributeTypes
123 #   .1 - allowedHosts - OBSOLETED
124 #   .2 - dnsZoneEntry
125 #   .3 - emailForward
126 #   .4 - keyFingerPrint
127 #   .5 - privateSub
128 #   .6 - accountComment
129 #   .7 - accountStatus
130 #   .8 - perform callouts
131 #   .9 - perform greylisting
132 #   .11 - DNS RBL
133 #   .12 - RHS RBL
134 #   .13 - whitelist
135 #   .14 - bATVToken
136 #   .15 - mailDefaultOptions
137 #   .16 - mailPreserveSuffixSeparator
138
139 # Public attribute types
140 attributetype ( 1.3.6.1.4.1.9586.100.4.2.1 
141         NAME 'sshRSAAuthKey'
142         DESC 'textual form of an SSH public key compatible with authorized_keys'
143         EQUALITY caseIgnoreMatch
144         SUBSTR caseIgnoreSubstringsMatch
145         SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 )
146
147 attributetype ( 1.3.6.1.4.1.9586.100.4.2.2
148         NAME 'activity-from'
149         DESC 'last known activity from user email address'
150         EQUALITY caseExactMatch
151         SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 SINGLE-VALUE )
152
153 attributetype ( 1.3.6.1.4.1.9586.100.4.2.3
154         NAME 'activity-pgp'
155         DESC 'last known activity from user PGP key'
156         EQUALITY caseExactIA5Match
157         SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 SINGLE-VALUE )
158
159 attributetype ( 1.3.6.1.4.1.9586.100.4.2.4
160         NAME 'comment'
161         DESC 'user-editable comment'
162         EQUALITY caseExactIA5Match
163         SUBSTR caseIgnoreIA5SubstringsMatch
164         SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 )
165
166 attributetype ( 1.3.6.1.4.1.9586.100.4.2.5
167         NAME 'icqUin'
168         DESC 'UIN for ICQ instant messaging system'
169         EQUALITY integerMatch
170         SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 )
171
172 attributetype ( 1.3.6.1.4.1.9586.100.4.2.6
173         NAME 'ircNick'
174         DESC 'Internet Relay Chat nickname'
175         EQUALITY caseIgnoreIA5Match
176         SUBSTR caseIgnoreIA5SubstringsMatch
177         SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 )
178
179 attributetype ( 1.3.6.1.4.1.9586.100.4.2.7
180         NAME 'latitude'
181         DESC 'latitude coordinate'
182         EQUALITY caseExactIA5Match
183         SUBSTR caseExactIA5SubstringsMatch
184         SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 SINGLE-VALUE )
185
186 attributetype ( 1.3.6.1.4.1.9586.100.4.2.8
187         NAME 'longitude'
188         DESC 'longitude coordinate'
189         EQUALITY caseExactIA5Match
190         SUBSTR caseExactIA5SubstringsMatch
191         SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 SINGLE-VALUE )
192
193 attributetype ( 1.3.6.1.4.1.9586.100.4.2.9
194         NAME ( 'mn' 'middlename' )
195         SUP name )
196
197 attributetype ( 1.3.6.1.4.1.9586.100.4.2.10
198         NAME 'onVacation'
199         DESC 'vacation message'   
200         EQUALITY caseIgnoreMatch
201         SUBSTR caseIgnoreSubstringsMatch
202         SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 SINGLE-VALUE )
203
204 attributetype ( 1.3.6.1.4.1.9586.100.4.2.11
205         NAME 'supplementaryGid'
206         DESC 'additional Unix group id of user'
207         EQUALITY caseIgnoreMatch
208         SUBSTR caseIgnoreSubstringsMatch
209         SYNTAX 1.3.6.1.4.1.1466.115.121.1.15{256} )
210
211 attributetype ( 1.3.6.1.4.1.9586.100.4.2.12
212         NAME 'allowedHost'
213         DESC 'host name this account is allowed access to'
214         EQUALITY caseIgnoreIA5Match
215         SUBSTR caseIgnoreIA5SubstringsMatch
216         SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 )
217
218 attributetype ( 1.3.6.1.4.1.9586.100.4.2.13
219         NAME 'jabberJID'
220         DESC 'JID for Jabber instant messaging protocol'
221         EQUALITY caseIgnoreIA5Match
222         SUBSTR caseIgnoreIA5SubstringsMatch
223         SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 )
224
225 attributetype ( 1.3.6.1.4.1.9586.100.4.2.14
226         NAME 'access'
227         DESC 'nature of access allowed to server'
228         EQUALITY caseIgnoreMatch
229         SUBSTR caseIgnoreSubstringsMatch
230         SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 )
231
232 attributetype ( 1.3.6.1.4.1.9586.100.4.2.15
233         NAME 'admin'
234         DESC 'email address of server administrator'
235         EQUALITY caseIgnoreIA5Match
236         SUBSTR caseIgnoreIA5SubstringsMatch
237         SYNTAX 1.3.6.1.4.1.1466.115.121.1.26{256} )
238
239 attributetype ( 1.3.6.1.4.1.9586.100.4.2.16
240         NAME 'architecture'
241         DESC 'hardware architecture of server'
242         EQUALITY caseIgnoreIA5Match
243         SUBSTR caseIgnoreIA5SubstringsMatch
244         SYNTAX 1.3.6.1.4.1.1466.115.121.1.26{256} SINGLE-VALUE )
245
246 attributetype ( 1.3.6.1.4.1.9586.100.4.2.17
247         NAME 'bandwidth'
248         DESC 'type of network connection for server'
249         EQUALITY caseIgnoreMatch
250         SUBSTR caseIgnoreSubstringsMatch
251         SYNTAX 1.3.6.1.4.1.1466.115.121.1.15{128} )
252
253 attributetype ( 1.3.6.1.4.1.9586.100.4.2.18
254         NAME 'disk'
255         DESC 'amount of disk space available to server'
256         EQUALITY caseIgnoreMatch
257         SUBSTR caseIgnoreSubstringsMatch
258         SYNTAX 1.3.6.1.4.1.1466.115.121.1.15{64} )
259
260 attributetype ( 1.3.6.1.4.1.9586.100.4.2.19
261         NAME 'distribution'
262         DESC 'host OS distribution'
263         EQUALITY caseIgnoreIA5Match
264         SUBSTR caseIgnoreIA5SubstringsMatch
265         SYNTAX 1.3.6.1.4.1.1466.115.121.1.26{256} SINGLE-VALUE )
266
267 #attributetype ( 1.3.6.1.4.1.9586.100.4.2.20
268 #       NAME 'host'
269 #       DESC '(short) host name of server'
270 #       EQUALITY caseIgnoreIA5Match
271 #       SUBSTR caseIgnoreIA5SubstringsMatch
272 #       SYNTAX 1.3.6.1.4.1.1466.115.121.1.26{128} SINGLE-VALUE )
273
274 attributetype ( 1.3.6.1.4.1.9586.100.4.2.21
275         NAME 'hostname'
276         DESC 'FQDN of the server'
277         EQUALITY caseIgnoreIA5Match
278         SUBSTR caseIgnoreIA5SubstringsMatch
279         SYNTAX 1.3.6.1.4.1.1466.115.121.1.26{256} )
280
281 attributetype ( 1.3.6.1.4.1.9586.100.4.2.22
282         NAME 'machine'
283         DESC 'description of physical hardware'
284         EQUALITY caseIgnoreMatch
285         SUBSTR caseIgnoreSubstringsMatch
286         SYNTAX 1.3.6.1.4.1.1466.115.121.1.15{256} SINGLE-VALUE )
287
288 attributetype ( 1.3.6.1.4.1.9586.100.4.2.23
289         NAME 'memory'
290         DESC 'amount of RAM available to server'
291         EQUALITY caseIgnoreMatch
292         SUBSTR caseIgnoreSubstringsMatch
293         SYNTAX 1.3.6.1.4.1.1466.115.121.1.15{64} )
294
295 attributetype ( 1.3.6.1.4.1.9586.100.4.2.24
296         NAME 'sponsor'
297         DESC 'name of the sponsor of this server'
298         EQUALITY caseIgnoreMatch
299         SUBSTR caseIgnoreSubstringsMatch
300         SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 )
301
302 attributetype ( 1.3.6.1.4.1.9586.100.4.2.25
303         NAME 'sponsor-admin'
304         DESC 'email address of sponsoring server administrator'
305         EQUALITY caseIgnoreIA5Match
306         SUBSTR caseIgnoreIA5SubstringsMatch
307         SYNTAX 1.3.6.1.4.1.1466.115.121.1.26{256} )
308
309 attributetype ( 1.3.6.1.4.1.9586.100.4.2.26
310         NAME 'sshRSAHostKey'
311         DESC 'textual form of an SSH public host key compatible with known_hosts'
312         EQUALITY caseIgnoreMatch
313         SUBSTR caseIgnoreSubstringsMatch
314         SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 )
315
316 attributetype ( 1.3.6.1.4.1.9586.100.4.2.27
317         NAME 'status'
318         DESC 'administrative status of server'
319         EQUALITY caseIgnoreMatch
320         SUBSTR caseIgnoreSubstringsMatch
321         SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 )
322
323 attributetype ( 1.3.6.1.4.1.9586.100.4.2.28
324         NAME 'gecos'
325         DESC 'The GECOS field; the common name'
326         EQUALITY caseIgnoreMatch
327         SUBSTR caseIgnoreSubstringsMatch
328         SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 SINGLE-VALUE )
329
330 attributetype ( 1.3.6.1.4.1.9586.100.4.2.29
331         NAME 'gid'
332         DESC 'Group Name'
333         EQUALITY caseExactIA5Match
334         SUBSTR caseExactIA5SubstringsMatch
335         SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 SINGLE-VALUE )
336
337 #attributetype ( 1.3.6.1.4.1.9586.100.4.2.30
338 #       NAME 'gender'
339 #       DESC 'ISO 5218 representation of human gender'
340 #       EQUALITY integerMatch
341 #       SINGLE-VALUE
342 #       SYNTAX 1.3.6.1.4.1.1466.115.121.1.27{1} )
343
344 attributetype ( 1.3.6.1.4.1.9586.100.4.2.31
345         NAME 'birthDate'
346         DESC 'Date of birth in YYYYMMDD format'
347         EQUALITY numericStringMatch
348         SINGLE-VALUE
349         SYNTAX 1.3.6.1.4.1.1466.115.121.1.36{8} )
350
351 attributetype ( 1.3.6.1.4.1.9586.100.4.2.32
352         NAME 'mailDisableMessage'
353         DESC 'Message returned when all mail is disabled'
354         EQUALITY caseIgnoreIA5Match
355         SUBSTR caseIgnoreIA5SubstringsMatch
356         SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 SINGLE-VALUE )
357
358 attributetype ( 1.3.6.1.4.1.9586.100.4.2.33
359         NAME 'purpose'
360         DESC 'purposes of this server'
361         EQUALITY caseIgnoreMatch
362         SUBSTR caseIgnoreSubstringsMatch
363         SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 )
364
365 attributetype ( 1.3.6.1.4.1.9586.100.4.2.34
366         NAME 'physicalHost'
367         DESC 'FQDN of the physical host of this virtual server'
368         EQUALITY caseIgnoreIA5Match
369         SUBSTR caseIgnoreIA5SubstringsMatch
370         SINGLE-VALUE
371         SYNTAX 1.3.6.1.4.1.1466.115.121.1.26{256} )
372
373 attributetype ( 1.3.6.1.4.1.9586.100.4.2.35
374         NAME 'VoIP'
375         DESC 'VoIP URL to communicate with that person'
376         EQUALITY caseIgnoreIA5Match
377         SUBSTR caseIgnoreIA5SubstringsMatch
378         SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 )
379
380 attributetype ( 1.3.6.1.4.1.9586.100.4.2.36
381         NAME 'sudoPassword'
382         DESC 'sudo password'
383         EQUALITY octetStringMatch
384         SYNTAX 1.3.6.1.4.1.1466.115.121.1.40 )
385
386 attributetype ( 1.3.6.1.4.1.9586.100.4.2.37
387         NAME 'subGroup'
388         DESC 'name of other group for which membership implied by memberschip to this group'
389         EQUALITY caseIgnoreIA5Match
390         SUBSTR caseIgnoreIA5SubstringsMatch
391         SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 )
392
393 # more attributes below
394 attributetype ( 1.3.6.1.4.1.9586.100.4.2.39
395         NAME 'allowedGroups'
396         DESC 'Groups that have access to a host'
397         EQUALITY caseExactIA5Match
398         SUBSTR caseExactIA5SubstringsMatch
399         SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 )
400
401 attributetype ( 1.3.6.1.4.1.9586.100.4.2.40
402         NAME 'exportOptions'
403         DESC 'export options for servers'
404         EQUALITY caseIgnoreIA5Match
405         SUBSTR caseIgnoreIA5SubstringsMatch
406         SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 )
407
408 attributetype ( 1.3.6.1.4.1.9586.100.4.2.43
409         NAME 'webPassword'
410         DESC 'web password for SSO'
411         EQUALITY octetStringMatch
412         SYNTAX 1.3.6.1.4.1.1466.115.121.1.40 )
413
414 attributetype ( 1.3.6.1.4.1.9586.100.4.2.44
415         NAME 'rtcPassword'
416         DESC 'rtc password for SIP/XMPP'
417         EQUALITY octetStringMatch
418         SYNTAX 1.3.6.1.4.1.1466.115.121.1.40 )
419
420 # Experimental attribute types
421
422 # There are existing schemas for doing DNS in LDAP; would one of
423 # these be better?  c.f. draft-miller-dns-ldap-schema-00 (expired)
424 attributetype ( 1.3.6.1.4.1.9586.100.4.4.2
425         NAME 'dnsZoneEntry'
426         DESC 'DNS zone record for user'
427         EQUALITY octetStringMatch
428         SUBSTR caseIgnoreSubstringsMatch
429         SYNTAX 1.3.6.1.4.1.1466.115.121.1.40 )
430
431 # rfc822mailbox (RFC1274) is recommended as a replacement for this in
432 # general.
433 attributetype ( 1.3.6.1.4.1.9586.100.4.4.3
434         NAME 'emailForward'
435         DESC 'forwarding address for email sent to this account'
436         EQUALITY caseIgnoreIA5Match
437         SUBSTR caseIgnoreIA5SubstringsMatch
438         SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 SINGLE-VALUE)
439
440 # Network Associates also has a schema for PGP keys / key IDs which may
441 # or may not be applicable:
442 # http://www.openldap.org/lists/openldap-devel/200010/msg00071.html
443 attributetype ( 1.3.6.1.4.1.9586.100.4.4.4 
444         NAME 'keyFingerPrint'
445         EQUALITY caseIgnoreMatch  
446         SUBSTR caseIgnoreSubstringsMatch
447         SYNTAX  1.3.6.1.4.1.1466.115.121.1.15 )
448
449 # Rather Debian-specific, not useful to the public.
450 attributetype ( 1.3.6.1.4.1.9586.100.4.4.5 
451         NAME 'privateSub'
452         DESC 'email subscription address for debian-private mailing list'
453         EQUALITY caseIgnoreIA5Match
454         SUBSTR caseIgnoreIA5SubstringsMatch
455         SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 SINGLE-VALUE)
456
457 # Echelon attributes; re-evaluate later
458 attributetype ( 1.3.6.1.4.1.9586.100.4.4.6
459         NAME 'accountComment'
460         DESC 'additional comments regarding the account status'
461         EQUALITY caseIgnoreIA5Match
462         SUBSTR caseIgnoreIA5SubstringsMatch
463         SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 )
464
465 attributetype ( 1.3.6.1.4.1.9586.100.4.4.7
466         NAME 'accountStatus'
467         DESC 'Debian developer account status'
468         EQUALITY caseIgnoreIA5Match
469         SUBSTR caseIgnoreIA5SubstringsMatch
470         SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 SINGLE-VALUE )
471
472 # mail attributes; not public information
473 attributetype ( 1.3.6.1.4.1.9586.100.4.4.8
474         NAME 'mailCallout'
475         DESC 'Whether or not to require a successful callout attempt on email delivery'
476         EQUALITY booleanMatch
477         SYNTAX 1.3.6.1.4.1.1466.115.121.1.7 SINGLE-VALUE )
478
479 attributetype ( 1.3.6.1.4.1.9586.100.4.4.9
480         NAME 'mailGreylisting'
481         DESC 'Whether or not to perform greylisting on email delivery'
482         EQUALITY booleanMatch
483         SYNTAX 1.3.6.1.4.1.1466.115.121.1.7 SINGLE-VALUE )
484
485 attributetype ( 1.3.6.1.4.1.9586.100.4.4.11
486         NAME 'mailRBL'
487         DESC 'RBL sites to check at SMTP accept time'
488         EQUALITY caseIgnoreIA5Match
489         SUBSTR caseIgnoreIA5SubstringsMatch
490         SYNTAX 1.3.6.1.4.1.1466.115.121.1.26{256} )
491
492 attributetype ( 1.3.6.1.4.1.9586.100.4.4.12
493         NAME 'mailRHSBL'
494         DESC 'RHSBL sites to check at SMTP accept time'
495         EQUALITY caseIgnoreIA5Match
496         SUBSTR caseIgnoreIA5SubstringsMatch
497         SYNTAX 1.3.6.1.4.1.1466.115.121.1.26{256} )
498
499 attributetype ( 1.3.6.1.4.1.9586.100.4.4.13
500         NAME 'mailWhitelist'
501         DESC 'sites to whitelist from additional SMTP accept time checks'
502         EQUALITY caseIgnoreIA5Match
503         SUBSTR caseIgnoreIA5SubstringsMatch
504         SYNTAX 1.3.6.1.4.1.1466.115.121.1.26{256} )
505
506 attributetype ( 1.3.6.1.4.1.9586.100.4.4.14
507         NAME 'bATVToken'
508         DESC 'Token for BATV'
509         EQUALITY caseExactMatch
510         SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 SINGLE-VALUE )
511
512 attributetype ( 1.3.6.1.4.1.9586.100.4.4.15
513         NAME 'mailDefaultOptions'
514         DESC 'Whether or not to use a default set of anti-spam options'
515         EQUALITY booleanMatch
516         SYNTAX 1.3.6.1.4.1.1466.115.121.1.7 SINGLE-VALUE )
517
518 attributetype ( 1.3.6.1.4.1.9586.100.4.4.16
519         NAME 'mailPreserveSuffixSeparator'
520         DESC 'suffix serparator'
521         EQUALITY caseIgnoreIA5Match
522         SUBSTR caseIgnoreIA5SubstringsMatch
523         SYNTAX 1.3.6.1.4.1.1466.115.121.1.26{1} )
524
525 attributetype ( 1.3.6.1.4.1.9586.100.4.2.38
526         NAME 'mailContentInspectionAction'
527         DESC 'what to do on content inspection hits'
528         EQUALITY caseIgnoreIA5Match
529         SUBSTR caseIgnoreIA5SubstringsMatch
530         SYNTAX 1.3.6.1.4.1.1466.115.121.1.26{256} SINGLE-VALUE )
531
532 attributetype ( 1.3.6.1.4.1.9586.100.4.2.41
533         NAME ( 'sshdistAuthKeysHost' )
534         DESC 'Additional hosts/addresess from which to accept ssh connections to the ud-ldap distribution host (db.DOMAIN)'
535         SUP ipHostNumber )
536
537 attributetype ( 1.3.6.1.4.1.9586.100.4.4.42
538         NAME 'dnsTTL'
539         DESC 'DNS Time To Live value'
540         EQUALITY caseIgnoreIA5Match
541         SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 SINGLE-VALUE )
542
543 attributetype ( 1.3.6.1.4.1.9586.100.4.4.45
544         NAME 'rebootPolicy'
545         DESC 'which procedure to use for rebooting this host'
546         EQUALITY caseIgnoreIA5Match
547         SUBSTR caseIgnoreIA5SubstringsMatch
548         SYNTAX 1.3.6.1.4.1.1466.115.121.1.26{256} )
549
550 attributetype ( 1.3.6.1.4.1.9586.100.4.4.46
551         NAME 'totpSeed'
552         DESC 'Seed for TOTP authentication'
553         EQUALITY octetStringMatch
554         SYNTAX 1.3.6.1.4.1.1466.115.121.1.40 )
555
556 attributetype ( 1.3.6.1.4.1.9586.100.4.2.47
557         NAME 'sshfpHostname'
558         DESC 'Additional FQDN of the server on which to publish SSHFP records'
559         EQUALITY caseIgnoreIA5Match
560         SUBSTR caseIgnoreIA5SubstringsMatch
561         SYNTAX 1.3.6.1.4.1.1466.115.121.1.26{256} )
562
563 # Public object classes
564
565 objectclass ( 1.3.6.1.4.1.9586.100.4.1.1
566         NAME 'debianAccount'
567         DESC 'Abstraction of an account with POSIX attributes and UTF8 support'
568         SUP top AUXILIARY
569         MUST ( cn $ uid $ uidNumber $ gidNumber )
570         MAY ( userPassword $ loginShell $ gecos $ homeDirectory $ description $ mailDisableMessage $ sudoPassword $ webPassword $ rtcPassword $ totpSeed ) )
571
572 objectclass ( 1.3.6.1.4.1.9586.100.4.1.2
573         NAME 'debianGroup'
574         SUP top STRUCTURAL
575         DESC 'attributes used for Debian groups'
576         MUST ( gid $ gidNumber )
577         MAY ( cn $ description $ subGroup $ accountStatus ) )
578
579 # Experimental objectclasses:
580
581 objectclass ( 1.3.6.1.4.1.9586.100.4.3.1
582         NAME 'debianDeveloper'
583         DESC 'additional account attributes used by Debian'
584         SUP top AUXILIARY
585         MUST ( uid $ cn $ sn )
586         MAY ( accountComment $ accountStatus $ activity-from $
587               activity-pgp $ allowedHost $ comment $ countryName $
588               dnsZoneEntry $ emailForward $ icqUin $ ircNick $
589               jabberJID $ keyFingerPrint $ latitude $ longitude $ mn $
590               onVacation $ privateSub $ sshRSAAuthKey $ supplementaryGid $
591               access $ birthDate $ mailCallout $ mailGreylisting $
592               mailRBL $ mailRHSBL $ mailWhitelist $ VoIP $ mailContentInspectionAction $
593               bATVToken $ mailDefaultOptions $ mailPreserveSuffixSeparator
594         ) )
595
596 objectclass ( 1.3.6.1.4.1.9586.100.4.3.2
597         NAME 'debianServer'
598         DESC 'Internet-connected server associated with Debian'
599         SUP top STRUCTURAL
600         MUST ( host $ hostname )
601         MAY ( c $ access $ admin $ architecture $ bandwidth $ description $ disk $
602               distribution $ l $ machine $ memory $ sponsor $
603               sponsor-admin $ status $ physicalHost $ ipHostNumber $ dnsTTL $
604               sshRSAHostKey $ purpose $ allowedGroups $ exportOptions $ MXRecord $
605               sshdistAuthKeysHost $ rebootPolicy $ sshfpHostname
606         ) )
607
608 objectclass ( 1.3.6.1.4.1.9586.100.4.3.3
609         NAME 'debianRoleAccount'
610         DESC 'Abstraction of an account with POSIX attributes and UTF8 support'
611         SUP account STRUCTURAL
612         MAY ( emailForward $ supplementaryGid $ allowedHost $ labeledURI $
613               mailCallout $ mailGreylisting $ mailRBL $ mailRHSBL $
614               mailWhitelist $ dnsZoneEntry $ mailContentInspectionAction $
615               bATVToken $ mailDefaultOptions $ sshRSAAuthKey $ mailPreserveSuffixSeparator
616         ) )