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