1 # $Id: kolab2.schema,v 1.22 2007/02/02 15:16:45 thomas Exp $
2 # (c) 2003, 2004 Tassilo Erlewein <tassilo.erlewein@erfrakon.de>
3 # (c) 2003-2006 Martin Konold <martin.konold@erfrakon.de>
4 # (c) 2003 Achim Frank <achim.frank@erfrakon.de>
5 #
6 # Redistribution and use in source and binary forms, with or without
7 # modification, are permitted provided that the following conditions are met:
8 #
9 # Redistributions of source code must retain the above copyright notice, this
10 # list of conditions and the following disclaimer.
11 #
12 # Redistributions in binary form must reproduce the above copyright notice,
13 # this list of conditions and the following disclaimer in the documentation
14 # and/or other materials provided with the distribution.
15 #
16 # The name of the author may not be used to endorse or promote products derived
17 # from this software without specific prior written permission.
18 #
19 #
20 # THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
21 # WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
22 # MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
23 # EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
24 # SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
25 # PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
26 # OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
27 # WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
28 # OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
29 # ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
31 # This schema highly depends on the core.schema, cosine.schema and the inetorgperson.schema
32 # as provided by 3rd parties like OpenLDAP.
33 #
34 # slapd.conf then looks like
35 # include /kolab/etc/openldap/schema/core.schema
36 # include /kolab/etc/openldap/schema/cosine.schema
37 # include /kolab/etc/openldap/schema/inetorgperson.schema
38 # include /kolab/etc/openldap/schema/rfc2739.schema
39 # include /kolab/etc/openldap/schema/kolab2.schema
41 #
42 ####################
43 # kolab attributes #
44 ####################
46 # helper attribute to make the kolab root easily findable in
47 # a big ldap directory
48 attributetype ( 1.3.6.1.4.1.19414.2.1.1
49 NAME ( 'k' 'kolab' )
50 DESC 'Kolab attribute'
51 SUP name )
53 # kolabDeleteflag used to be a boolean but describes with Kolab 2
54 # the fqdn of the server which is requested to delete this objects
55 # in its local store
56 attributetype ( 1.3.6.1.4.1.19414.2.1.2
57 NAME 'kolabDeleteflag'
58 DESC 'Per host deletion status'
59 EQUALITY caseIgnoreIA5Match
60 SUBSTR caseIgnoreIA5SubstringsMatch
61 SYNTAX 1.3.6.1.4.1.1466.115.121.1.26{256} )
63 # alias used to provide alternative rfc822 email addresses for kolab users
64 attributetype ( 1.3.6.1.4.1.19414.2.1.3
65 NAME 'alias'
66 DESC 'RFC1274: RFC822 Mailbox'
67 EQUALITY caseIgnoreIA5Match
68 SUBSTR caseIgnoreIA5SubstringsMatch
69 SYNTAX 1.3.6.1.4.1.1466.115.121.1.26{256} )
71 # kolabEncryptedPassword is an asymmetrically (RSA) encrypted copy of the
72 # cleartext password. This is required in order to pass the password from
73 # the maintainance/administration application to the kolabHomeServer running the
74 # resource handler application in a secure manner.
75 # Actually this attribute is deprecated as of Kolab 2.1. Instead we grant the
76 # calendar user dn: cn=calendar,cn=internal,dc=yourcompany,dc=com access to
77 # the respective calendar folder using IMAP ACLs.
78 attributetype ( 1.3.6.1.4.1.19419.2.1.4
79 NAME 'kolabEncryptedPassword'
80 DESC 'base64 encoded public key encrypted Password'
81 SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 )
83 # hostname including the domain name like kolab-master.yourcompany.com
84 attributetype ( 1.3.6.1.4.1.19414.2.1.5
85 NAME ( 'fqhostname' 'fqdnhostname' )
86 DESC 'Fully qualified Hostname including full domain component'
87 EQUALITY caseIgnoreIA5Match
88 SUBSTR caseIgnoreIA5SubstringsMatch
89 SYNTAX 1.3.6.1.4.1.1466.115.121.1.26{256} )
91 # fqdn of all hosts in a multi-location or cluster setup
92 attributetype ( 1.3.6.1.4.1.19414.2.1.6
93 NAME 'kolabHost'
94 DESC 'Multivalued -- list of hostnames in a Kolab setup'
95 EQUALITY caseIgnoreIA5Match
96 SUBSTR caseIgnoreIA5SubstringsMatch
97 SYNTAX 1.3.6.1.4.1.1466.115.121.1.26{256} )
99 # fqdn of the server containg the actual user mailbox
100 attributetype ( 1.3.6.1.4.1.19419.1.1.1.1
101 NAME 'kolabHomeServer'
102 DESC 'server which keeps the users mailbox'
103 EQUALITY caseIgnoreIA5Match
104 SUBSTR caseIgnoreIA5SubstringsMatch
105 SYNTAX 1.3.6.1.4.1.1466.115.121.1.26{256} )
107 # flag for allowing unrestriced length of mails
108 attributetype ( 1.3.6.1.4.1.19419.1.1.1.2
109 NAME 'unrestrictedMailSize'
110 EQUALITY booleanMatch
111 SYNTAX 1.3.6.1.4.1.1466.115.121.1.7 )
113 # Specifies the email delegates.
114 # An email delegate can send email on behalf of the account
115 # which means using the "from" of the account.
116 # Delegates are specified by the syntax of rfc822 email addresses.
117 attributetype ( 1.3.6.1.4.1.19419.1.1.1.3
118 NAME 'kolabDelegate'
119 DESC 'Kolab user allowed to act as delegates - RFC822 Mailbox/Alias'
120 EQUALITY caseIgnoreIA5Match
121 SUBSTR caseIgnoreIA5SubstringsMatch
122 SYNTAX 1.3.6.1.4.1.1466.115.121.1.26{256} )
124 # For user, group and resource Kolab accounts
125 # Describes how to respond to invitations
126 # We keep the attribute as a string, but actually it can only have one
127 # of the following values:
128 #
129 # ACT_ALWAYS_ACCEPT
130 # ACT_ALWAYS_REJECT
131 # ACT_REJECT_IF_CONFLICTS
132 # ACT_MANUAL_IF_CONFLICTS
133 # ACT_MANUAL
134 # In addition one of these values may be prefixed with a primary email
135 # address followed by a colon like
136 # user@domain.tld: ACT_ALWAYS_ACCEPT
137 attributetype ( 1.3.6.1.4.1.19419.1.1.1.4
138 NAME ( 'kolabInvitationPolicy' 'kolabResourceAction' )
139 DESC 'defines how to respond to invitations'
140 EQUALITY caseIgnoreIA5Match
141 SUBSTR caseIgnoreIA5SubstringsMatch
142 SYNTAX 1.3.6.1.4.1.1466.115.121.1.26{256} )
144 # time span from now to the future used for the free busy data
145 # measured in days
146 attributetype ( 1.3.6.1.4.1.19419.1.1.1.5
147 NAME 'kolabFreeBusyFuture'
148 DESC 'time in days for fb data towards the future'
149 EQUALITY integerMatch
150 SYNTAX 1.3.6.1.4.1.1466.115.121.1.27
151 SINGLE-VALUE )
153 # time span from now to the past used for the free busy data
154 # measured in days
155 attributetype ( 1.3.6.1.4.1.19419.1.1.1.6
156 NAME 'kolabFreeBusyPast'
157 DESC 'time in days for fb data towards the past'
158 EQUALITY integerMatch
159 SYNTAX 1.3.6.1.4.1.1466.115.121.1.27
160 SINGLE-VALUE )
162 # fqdn of the server as the default SMTP MTA
163 # not used in Kolab 2 currently as in Kolab 2 the
164 # default MTA is equivalent to the kolabHomeServer
165 attributetype ( 1.3.6.1.4.1.19419.1.1.1.7
166 NAME 'kolabHomeMTA'
167 DESC 'fqdn of default MTA'
168 EQUALITY caseIgnoreIA5Match
169 SUBSTR caseIgnoreIA5SubstringsMatch
170 SYNTAX 1.3.6.1.4.1.1466.115.121.1.26{256}
171 SINGLE-VALUE )
173 # Begin date of Kolab vacation period. Sender will
174 # be notified every kolabVacationResendIntervall days
175 # that recipient is absent until kolabVacationEnd.
176 # Values in this syntax are encoded as printable strings,
177 # represented as specified in X.208.
178 # Note that the time zone must be specified.
179 # For Kolab we limit ourself to GMT
180 # YYYYMMDDHHMMZ e.g. 200512311458Z.
181 # see also: rfc 2252.
182 # Currently this attribute is not used in Kolab.
183 attributetype ( 1.3.6.1.4.1.19419.1.1.1.8
184 NAME 'kolabVacationBeginDateTime'
185 DESC 'Begin date of vacation'
186 EQUALITY generalizedTimeMatch
187 SYNTAX 1.3.6.1.4.1.1466.115.121.1.24
188 SINGLE-VALUE )
190 # End date of Kolab vacation period. Sender will
191 # be notified every kolabVacationResendIntervall days
192 # that recipient is absent starting from kolabVacationBeginDateTime.
193 # Values in this syntax are encoded as printable strings,
194 # represented as specified in X.208.
195 # Note that the time zone must be specified.
196 # For Kolab we limit ourself to GMT
197 # YYYYMMDDHHMMZ e.g. 200601012258Z.
198 # see also: rfc 2252.
199 # Currently this attribute is not used in Kolab.
200 attributetype ( 1.3.6.1.4.1.19419.1.1.1.9
201 NAME 'kolabVacationEndDateTime'
202 DESC 'End date of vacation'
203 EQUALITY generalizedTimeMatch
204 SYNTAX 1.3.6.1.4.1.1466.115.121.1.24
205 SINGLE-VALUE )
207 # Intervall in days after which senders get
208 # another vacation message.
209 # Currently this attribute is not used in Kolab.
210 attributetype ( 1.3.6.1.4.1.19419.1.1.1.10
211 NAME 'kolabVacationResendInterval'
212 DESC 'Vacation notice interval in days'
213 EQUALITY integerMatch
214 SYNTAX 1.3.6.1.4.1.1466.115.121.1.27
215 SINGLE-VALUE )
217 # Email recipient addresses which are handled by the
218 # vacation script. There can be multiple kolabVacationAddress
219 # entries for each kolabInetOrgPerson.
220 # Default is the primary email address and all
221 # email aliases of the kolabInetOrgPerson.
222 # Currently this attribute is not used in Kolab.
223 attributetype ( 1.3.6.1.4.1.19419.1.1.1.11
224 NAME 'kolabVacationAddress'
225 DESC 'Email address for vacation to response upon'
226 EQUALITY caseIgnoreIA5Match
227 SUBSTR caseIgnoreIA5SubstringsMatch
228 SYNTAX 1.3.6.1.4.1.1466.115.121.1.26{256} )
230 # Enable sending vacation notices in reaction
231 # unsolicited commercial email.
232 # Default is no.
233 # Currently this attribute is not used in Kolab.
234 attributetype ( 1.3.6.1.4.1.19419.1.1.1.12
235 NAME 'kolabVacationReplyToUCE'
236 DESC 'Enable vacation notices to UCE'
237 EQUALITY booleanMatch
238 SYNTAX 1.3.6.1.4.1.1466.115.121.1.7
239 SINGLE-VALUE )
241 # Email recipient domains which are handled by the
242 # vacation script. There can be multiple kolabVacationReactDomain
243 # entries for each kolabInetOrgPerson
244 # Default is to handle all domains.
245 # Currently this attribute is not used in Kolab.
246 attributetype ( 1.3.6.1.4.1.19419.1.1.1.13
247 NAME 'kolabVacationReactDomain'
248 DESC 'Multivalued -- Email domain for vacation to response upon'
249 EQUALITY caseIgnoreIA5Match
250 SUBSTR caseIgnoreIA5SubstringsMatch
251 SYNTAX 1.3.6.1.4.1.1466.115.121.1.26{256} )
253 # Forward all incoming emails except UCE if kolabForwardUCE
254 # is not set to this email address.
255 # There can be multiple kolabForwardAddress entries for
256 # each kolabInetOrgPerson.
257 # Currently this attribute is not used in Kolab.
258 attributetype ( 1.3.6.1.4.1.19419.1.1.1.14
259 NAME 'kolabForwardAddress'
260 DESC 'Forward email to this address'
261 EQUALITY caseIgnoreIA5Match
262 SUBSTR caseIgnoreIA5SubstringsMatch
263 SYNTAX 1.3.6.1.4.1.1466.115.121.1.26{256} )
265 # Keep local copy when forwarding emails to list of
266 # kolabForwardAddress.
267 # Default is no.
268 # Currently this attribute is not used in Kolab.
269 attributetype ( 1.3.6.1.4.1.19419.1.1.1.15
270 NAME 'kolabForwardKeepCopy'
271 DESC 'Keep copy when forwarding'
272 EQUALITY booleanMatch
273 SYNTAX 1.3.6.1.4.1.1466.115.121.1.7
274 SINGLE-VALUE )
276 # Enable forwarding of UCE.
277 # Default is yes.
278 # Currently this attribute is not used in Kolab.
279 attributetype ( 1.3.6.1.4.1.19419.1.1.1.16
280 NAME 'kolabForwardUCE'
281 DESC 'Enable forwarding of mails known as UCE'
282 EQUALITY booleanMatch
283 SYNTAX 1.3.6.1.4.1.1466.115.121.1.7
284 SINGLE-VALUE )
286 # comment when creating or deleting a kolab object
287 # a comment might be appropriate. This is most useful
288 # for tracability when users get moved to the graveyard
289 # instead of being really deleted. Every entry must be prefixed
290 # with an ISO 8601 date string e.g 200604301458Z. All times must
291 # be in zulu timezone.
292 attributetype ( 1.3.6.1.4.1.19419.1.1.1.17
293 NAME 'kolabComment'
294 DESC 'multi-value comment'
295 EQUALITY caseIgnoreMatch
296 SUBSTR caseIgnoreSubstringsMatch
297 SYNTAX 1.3.6.1.4.1.1466.115.121.1.15{1024} )
299 # kolabFolderType describes the kind of Kolab folder
300 # as defined in the kolab format specification.
301 # We will annotate all folders with an entry
302 # /vendor/kolab/folder-type containing the attribute
303 # value.shared set to: <type>[.<subtype>].
304 # The <type> can be: mail, event, journal, task, note,
305 # or contact. The <subtype> for a mail folder can be
306 # inbox, drafts, sentitems, or junkemail (this one holds
307 # spam mails). For the other <type>s, it can only be
308 # default, or not set. For other types of folders
309 # supported by the clients, these should be prefixed with
310 # "k-" for KMail, "h-" for Horde and "o-" for Outlook, and
311 # look like for example "kolab.o-voicemail". Other third-party
312 # clients shall use the "x-" prefix.
313 # We then use the ANNOTATEMORE IMAP extension to
314 # associate the folder type with a folder.
315 attributetype ( 1.3.6.1.4.1.19414.2.1.7
316 NAME 'kolabFolderType'
317 DESC 'type of a kolab folder'
318 EQUALITY caseIgnoreIA5Match
319 SUBSTR caseIgnoreIA5SubstringsMatch
320 SYNTAX 1.3.6.1.4.1.1466.115.121.1.26{256}
321 SINGLE-VALUE )
323 ######################
324 # postfix attributes #
325 ######################
327 attributetype ( 1.3.6.1.4.1.19414.2.1.501
328 NAME 'postfix-mydomain'
329 EQUALITY caseIgnoreIA5Match
330 SUBSTR caseIgnoreIA5SubstringsMatch
331 SYNTAX 1.3.6.1.4.1.1466.115.121.1.26{256} )
333 attributetype ( 1.3.6.1.4.1.19414.2.1.502
334 NAME 'postfix-relaydomains'
335 EQUALITY caseIgnoreIA5Match
336 SUBSTR caseIgnoreIA5SubstringsMatch
337 SYNTAX 1.3.6.1.4.1.1466.115.121.1.26{256} )
339 attributetype ( 1.3.6.1.4.1.19414.2.1.503
340 NAME 'postfix-mydestination'
341 EQUALITY caseIgnoreIA5Match
342 SUBSTR caseIgnoreIA5SubstringsMatch
343 SYNTAX 1.3.6.1.4.1.1466.115.121.1.26{256} )
345 attributetype ( 1.3.6.1.4.1.19414.2.1.504
346 NAME 'postfix-mynetworks'
347 EQUALITY caseIgnoreIA5Match
348 SUBSTR caseIgnoreIA5SubstringsMatch
349 SYNTAX 1.3.6.1.4.1.1466.115.121.1.26{256} )
351 attributetype ( 1.3.6.1.4.1.19414.2.1.505
352 NAME 'postfix-relayhost'
353 EQUALITY caseIgnoreIA5Match
354 SUBSTR caseIgnoreIA5SubstringsMatch
355 SYNTAX 1.3.6.1.4.1.1466.115.121.1.26{256} )
357 attributetype ( 1.3.6.1.4.1.19414.2.1.506
358 NAME 'postfix-transport'
359 EQUALITY caseIgnoreIA5Match
360 SUBSTR caseIgnoreIA5SubstringsMatch
361 SYNTAX 1.3.6.1.4.1.1466.115.121.1.26{256} )
363 attributetype ( 1.3.6.1.4.1.19414.2.1.507
364 NAME 'postfix-enable-virus-scan'
365 EQUALITY booleanMatch
366 SYNTAX 1.3.6.1.4.1.1466.115.121.1.7
367 SINGLE-VALUE )
369 attributetype ( 1.3.6.1.4.1.19414.2.1.508
370 NAME 'postfix-allow-unauthenticated'
371 EQUALITY booleanMatch
372 SYNTAX 1.3.6.1.4.1.1466.115.121.1.7
373 SINGLE-VALUE )
375 attributetype ( 1.3.6.1.4.1.19414.2.1.509
376 NAME 'postfix-virtual'
377 EQUALITY caseIgnoreIA5Match
378 SUBSTR caseIgnoreIA5SubstringsMatch
379 SYNTAX 1.3.6.1.4.1.1466.115.121.1.26{256} )
381 attributetype ( 1.3.6.1.4.1.19414.2.1.510
382 NAME 'postfix-relayport'
383 EQUALITY caseIgnoreIA5Match
384 SUBSTR caseIgnoreIA5SubstringsMatch
385 SYNTAX 1.3.6.1.4.1.1466.115.121.1.26{256} )
387 ##########################
388 # cyrus imapd attributes #
389 ##########################
391 attributetype ( 1.3.6.1.4.1.19414.2.1.601
392 NAME 'cyrus-autocreatequota'
393 EQUALITY integerMatch
394 SYNTAX 1.3.6.1.4.1.1466.115.121.1.27
395 SINGLE-VALUE )
397 attributetype ( 1.3.6.1.4.1.19414.2.1.602
398 NAME 'cyrus-admins'
399 EQUALITY caseIgnoreIA5Match
400 SUBSTR caseIgnoreIA5SubstringsMatch
401 SYNTAX 1.3.6.1.4.1.1466.115.121.1.26{256} )
403 # enable plain imap without ssl
404 attributetype ( 1.3.6.1.4.1.19414.2.1.603
405 NAME 'cyrus-imap'
406 EQUALITY booleanMatch
407 SYNTAX 1.3.6.1.4.1.1466.115.121.1.7
408 SINGLE-VALUE )
410 # enable legacy pop3
411 attributetype ( 1.3.6.1.4.1.19414.2.1.604
412 NAME 'cyrus-pop3'
413 EQUALITY booleanMatch
414 SYNTAX 1.3.6.1.4.1.1466.115.121.1.7 )
416 # user specific quota on the cyrus imap server
417 attributetype ( 1.3.6.1.4.1.19414.2.1.605
418 NAME 'cyrus-userquota'
419 DESC 'Mailbox hard quota limit in MB'
420 EQUALITY integerMatch
421 SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 )
423 # enable secure imap
424 attributetype ( 1.3.6.1.4.1.19414.2.1.606
425 NAME 'cyrus-imaps'
426 EQUALITY booleanMatch
427 SYNTAX 1.3.6.1.4.1.1466.115.121.1.7 )
429 # enable secure pop3
430 attributetype ( 1.3.6.1.4.1.19414.2.1.607
431 NAME 'cyrus-pop3s'
432 EQUALITY booleanMatch
433 SYNTAX 1.3.6.1.4.1.1466.115.121.1.7 )
435 # enable sieve support (required for forward and vacation services)
436 attributetype ( 1.3.6.1.4.1.19414.2.1.608
437 NAME 'cyrus-sieve'
438 EQUALITY booleanMatch
439 SYNTAX 1.3.6.1.4.1.1466.115.121.1.7 )
441 # installation wide percentage which determines when to send a
442 # warning to the user
443 attributetype ( 1.3.6.1.4.1.19414.2.1.609
444 NAME 'cyrus-quotawarn'
445 EQUALITY integerMatch
446 SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 )
448 #############################
449 # apache and php attributes #
450 #############################
452 # enable plain http (no ssl)
453 attributetype ( 1.3.6.1.4.1.19414.2.1.701
454 NAME 'apache-http'
455 EQUALITY booleanMatch
456 SYNTAX 1.3.6.1.4.1.1466.115.121.1.7 )
458 # Allow freebusy download without authenticating first
459 attributetype ( 1.3.6.1.4.1.19414.2.1.702
460 NAME 'apache-allow-unauthenticated-fb'
461 EQUALITY booleanMatch
462 SYNTAX 1.3.6.1.4.1.1466.115.121.1.7 )
464 ##########################
465 # kolabfilter attributes #
466 ##########################
468 # enable trustable From:
469 attributetype ( 1.3.6.1.4.1.19414.2.1.750
470 NAME 'kolabfilter-verify-from-header'
471 EQUALITY booleanMatch
472 SYNTAX 1.3.6.1.4.1.1466.115.121.1.7 )
474 # should Sender header be allowed instead of From
475 # when present?
476 attributetype ( 1.3.6.1.4.1.19414.2.1.751
477 NAME 'kolabfilter-allow-sender-header'
478 EQUALITY booleanMatch
479 SYNTAX 1.3.6.1.4.1.1466.115.121.1.7 )
481 # Should reject messages with From headers that dont match
482 # the envelope? Default is to rewrite the header
483 attributetype ( 1.3.6.1.4.1.19414.2.1.752
484 NAME 'kolabfilter-reject-forged-from-header'
485 EQUALITY booleanMatch
486 SYNTAX 1.3.6.1.4.1.1466.115.121.1.7 )
488 ######################
489 # proftpd attributes #
490 ######################
492 attributetype ( 1.3.6.1.4.1.19414.2.1.901
493 NAME 'proftpd-defaultquota'
494 EQUALITY integerMatch
495 SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 )
497 attributetype ( 1.3.6.1.4.1.19414.2.1.902
498 NAME 'proftpd-ftp'
499 EQUALITY booleanMatch
500 SYNTAX 1.3.6.1.4.1.1466.115.121.1.7 )
502 attributetype ( 1.3.6.1.4.1.19414.2.1.903
503 NAME 'proftpd-userPassword'
504 SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 )
506 ########################
507 # kolab object classes #
508 ########################
510 # main kolab server configuration
511 # storing global values and user specific default values
512 # like kolabFreeBusyFuture and kolabFreeBusyPast
513 objectclass ( 1.3.6.1.4.1.19414.2.2.1
514 NAME 'kolab'
515 DESC 'Kolab server configuration'
516 SUP top STRUCTURAL
517 MUST k
518 MAY ( kolabHost $
519 postfix-mydomain $
520 postfix-relaydomains $
521 postfix-mydestination $
522 postfix-mynetworks $
523 postfix-relayhost $
524 postfix-relayport $
525 postfix-transport $
526 postfix-virtual $
527 postfix-enable-virus-scan $
528 postfix-allow-unauthenticated $
529 cyrus-quotawarn $
530 cyrus-autocreatequota $
531 cyrus-admins $
532 cyrus-imap $
533 cyrus-pop3 $
534 cyrus-imaps $
535 cyrus-pop3s $
536 cyrus-sieve $
537 apache-http $
538 apache-allow-unauthenticated-fb $
539 kolabfilter-verify-from-header $
540 kolabfilter-allow-sender-header $
541 kolabfilter-reject-forged-from-header $
542 proftpd-ftp $
543 proftpd-defaultquota $
544 kolabFreeBusyFuture $
545 kolabFreeBusyPast $
546 uid $
547 userPassword ) )
549 # public folders are typically visible to everyone subscribed to
550 # the server without the need for an extra login. Subfolders are
551 # defined using the hiarchy seperator '/' e.g. "sf/sub1". Please note
552 # that the term public folder is prefered to shared folder because
553 # normal user mailboxes can also share folders using acls.
554 objectclass ( 1.3.6.1.4.1.19414.2.2.9
555 NAME 'kolabSharedFolder'
556 DESC 'Kolab public shared folder'
557 SUP top AUXILIARY
558 MUST cn
559 MAY ( acl $
560 alias $
561 cyrus-userquota $
562 kolabHomeServer $
563 kolabFolderType $
564 kolabDeleteflag ) )
566 # kolabNamedObject is used as a plain node for the LDAP tree.
567 # In contrast to unix filesystem directories LDAP nodes can
568 # and often do also have contents/attributes. We use the
569 # kolabNamedObject in order to put some structure in the
570 # LDAP directory tree.
571 objectclass ( 1.3.6.1.4.1.5322.13.1.1
572 NAME 'kolabNamedObject'
573 SUP top STRUCTURAL
574 MAY (cn $ ou) )
576 # kolab account
577 # we use an auxiliary in order to ease integration
578 # with existing inetOrgPerson objects
579 # Please note that userPassword is a may
580 # attribute in the schema but is mandatory for
581 # Kolab
582 objectclass ( 1.3.6.1.4.1.19414.3.2.2
583 NAME 'kolabInetOrgPerson'
584 DESC 'Kolab Internet Organizational Person'
585 SUP top AUXILIARY
586 MAY ( c $
587 alias $
588 kolabHomeServer $
589 kolabHomeMTA $
590 unrestrictedMailSize $
591 kolabDelegate $
592 kolabEncryptedPassword $
593 cyrus-userquota $
594 kolabInvitationPolicy $
595 kolabFreeBusyFuture $
596 calFBURL $
597 kolabVacationBeginDateTime $
598 kolabVacationEndDateTime $
599 kolabVacationResendInterval $
600 kolabVacationAddress $
601 kolabVacationReplyToUCE $
602 kolabVacationReactDomain $
603 kolabForwardAddress $
604 kolabForwardKeepCopy $
605 kolabForwardUCE $
606 kolabDeleteflag $
607 kolabComment ) )
609 # kolab organization with country support
610 objectclass ( 1.3.6.1.4.1.19414.3.2.3
611 NAME 'kolabOrganization'
612 DESC 'RFC2256: a Kolab organization'
613 SUP organization STRUCTURAL
614 MAY ( c $
615 mail $
616 kolabDeleteflag $
617 alias ) )
619 # kolab organizational unit with country support
620 objectclass ( 1.3.6.1.4.1.19414.3.2.4
621 NAME 'kolabOrganizationalUnit'
622 DESC 'a Kolab organizational unit'
623 SUP organizationalUnit STRUCTURAL
624 MAY ( c $
625 mail $
626 kolabDeleteflag $
627 alias ) )
629 # kolab groupOfNames with extra kolabDeleteflag and the required
630 # attribute mail.
631 # The mail attribute for kolab objects of the type kolabGroupOfNames
632 # is not arbitrary but MUST be a single attribute of the form
633 # of an valid SMTP address with the CN as the local part.
634 # E.g cn@kolabdomain (e.g. employees@mydomain.com). The
635 # mail attribute MUST be globally unique.
636 objectclass ( 1.3.6.1.4.1.19414.3.2.5
637 NAME 'kolabGroupOfNames'
638 DESC 'Kolab group of names (DNs) derived from RFC2256'
639 SUP top AUXILIARY
640 MAY ( mail $
641 kolabDeleteflag ) )