summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog324
-rw-r--r--bin/kolabpasswd.in16
-rw-r--r--conf/kolab.globals.in38
-rw-r--r--horde.schema536
-rw-r--r--kolabd.spec.in6
-rw-r--r--perl-kolab.spec90
-rw-r--r--rc.kolabd.in32
-rw-r--r--rfc2739.schema134
-rw-r--r--sbin/kolab_bootstrap.in79
-rw-r--r--sbin/kolab_ca.sh.in21
-rw-r--r--sbin/kolab_imappartitions.in58
11 files changed, 479 insertions, 855 deletions
diff --git a/ChangeLog b/ChangeLog
index e652af1..4473a11 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,43 +1,200 @@
+2010-08-23 Gunnar Wrobel <p@rdus.de>
+
+ * kolab.globals.in:
+ * dist_conf/common:
+
+ Add a few more variables to the kolab.globals file to support a
+ decent configuration template for the Kolab webadmin.
+ kolab/issue4512 (Allow to hide the admin mail settings in the web admin)
+
+2010-07-21 Gunnar Wrobel <p@rdus.de>
+
+ * kolab.globals.in, rc.kolabd.in:
+
+ kolab/issue3522 (No logrotate for kolab-filter.log and friends)
+
+2010-07-17 Gunnar Wrobel <p@rdus.de>
+
+ * kolab2.schema, horde.schema, rfc2739.schema:
+
+ kolab/issue3245 (Remove horde.schema and rfc2739.schema from
+ kolab-server/slapd.conf.template)
+
+2010-07-15 Gunnar Wrobel <p@rdus.de>
+
+ * templates/resmgr.conf.template.in:
+
+ Reduced amount of logging in the Kolab_Filter package.
+
+2010-06-17 Mathieu Parent <math.parent@gmail.com>
+
+ * dist_conf/debian: Cyrus user and group is cyrus:mail on Debian
+ (http://bugs.debian.org/581757).
+
+2010-06-03 Gunnar Wrobel <p@rdus.de>
+
+ * Makefile.am: Better file modes during
+ installation (http://kolab.org/pipermail/kolab-devel/2010-May/011850.html,
+ Jeroen van Meeuwen (Kolab Systems) <vanmeeuwen@kolabsys.com>)
+
+2010-05-16 Richard Bos <richard@radoeka.nl>
+
+ * dist_conf/kolabsrv.in: Added redhat services, on request of Jeroen v. M.
+
+2010-05-16 Gunnar Wrobel <p@rdus.de>
+
+ * templates/master.cf.template.in, templates/main.cf.template.in:
+ Adapt port policy.
+ kolab/issue4311 (Activate port 587 for email submission)
+
+ * Makefile.am (kolabtemplate_DATA): freebusy.conf.template.in
+ moved to the Kolab_FreeBusy package.
+
+ * kolab.globals.in (freebusy_*): Add the freebusy variables into
+ the global parameter list so that the freebusy.conf.template.in
+ can be removed.
+
+ * templates/freebusy.conf.template.in: Moved to the Kolab_FreeBusy
+ package.
+
2010-05-04 Thomas Arendsen Hein <thomas@intevation.de>
* templates/imapd.annotation_definitions.template.in:
Added annotation for activesync configuration (z-push).
+2010-04-27 Thomas Arendsen Hein <thomas@intevation.de>
+
+ * templates/master.cf.template.in: Added submission port, solving
+ kolab/issue4311 (Activate port 587 for email submission)
+
2010-04-22 Thomas Arendsen Hein <thomas@intevation.de>
* templates/local.cf.template.in: Disable further DNS blacklists.
-2010-04-21 Gunnar Wrobel <wrobel@pardus.de>
+2010-04-15 Gunnar Wrobel <p@rdus.de>
+
+ * templates/resmgr.conf.template.in:
+
+ kolab/issue3962 (Names of config variables for "untrusted" text missleading)
+
+2010-04-13 Richard Bos <ml@radoeka.nl>
+
+ * centos-clarkconnect debian kolab mandriva suse:
+ Removed perllib definition, it's not longer needed.
- * kolabd.spec.in: Require the json module in php and apache-php.
+2010-03-31 Karl-Heinz Ruskowski <khruskowski@intevation.de>
-2010-02-27 Gunnar Wrobel <wrobel@pardus.de>
+ * templates/local.cf.template.in: Removed required_score.
+ kolab/issue2571
- * kolabd.spec: Fix typo (kolab/issue4176 (Adding RSS feed to Horde
- breaks portal screen))
+2010-02-22 Gunnar Wrobel <p@rdus.de>
+
+ * templates/httpd.conf.template.in: Alias for the anonymous iCal
+ export.
+
+ * templates/freebusy.conf.template.in: Added ability to map
+ arbitrary ldap attributes to those expected by kolab.
+ (Merged from suc branch)
+
+ * templates/resmgr.conf.template.in: Added ability to map
+ arbitrary ldap attributes to those expected by kolab.
+ (Merged from suc branch)
+
+2010-02-16 Gunnar Wrobel <p@rdus.de>
+
+ * templates/php.ini.template.in: Removed deprecated php.ini
+ directives.
+
+2010-02-09 Gunnar Wrobel <p@rdus.de>
+
+ * dist_conf/*: Added "passwd_confdir" variable which indicates the
+ path of the configuration directory for the Horde passwd
+ application.
+
+2010-01-21 Gunnar Wrobel <p@rdus.de>
+
+ * templates/php.ini.template.in (error_reporting): Remove
+ E_DEPRECATED from PHP error reporting. PHP-5.3.1 added too many
+ such warnings and none of our PHP-Code is already ready for that.
+
+2010-01-16 Richard Bos <richard@radoeka.nl>
+
+ * templates/slapd.conf.template.in: Changed @@@ldapserver_modulepath@@@
+ to @ldapserver_modulepath@ as this variable is populated during the
+ build and not by kolabconf.
+
+2010-01-16 Richard Bos <richard@radoeka.nl>
+
+ * dist_conf/kolabsrv.in: Added mandriva to the system definitions
+
+2010-01-09 Gunnar Wrobel <p@rdus.de>
+
+ * templates/php.ini.template.in (safe_mode_include_dir): Dirty
+ hack that adds a hardcoded timezone setting to the php.ini.
2010-01-04 Sascha Wilde <wilde@intevation.de>
* templates/local.cf.template.in: Disable FH_DATE_PAST_20XX, which
is broken for 2010 and later...
+2009-12-24 Gunnar Wrobel <p@rdus.de>
+
+ * kolabd.spec.in (PreReq): Fix the php and apache-php
+ dependencies.
+
+2009-12-19 Richard Bos <richard@radoeka.nl>
+
+ * kolab_ca.sh.in: better usage output. kolab/issue3979
+
+2009-12-13 Mathieu Parent <math.parent@gmail.com>
+
+ * templates/*.template.in: Use @@@warning@@@ macro, improving the
+ warning about kolab templates within configuration files
+ (kolab/issue1671).
+
+2009-12-13 Mathieu Parent <math.parent@gmail.com>
+
+ * templates/{DB_CONFIG.slapd,imapd.group,slapd.access,slapd.conf,
+ slapd.replicas,transport,virtual}.template.in: use the new
+ @@@print@@@ macro (perl-kolab) to behave like other templates
+ (solved kolab/issue1740).
+ Use RUNONCHANGE for OpenLDAP configuration files.
+
+2009-12-02 Mathieu Parent <math.parent@gmail.com>
+
+ * templates/php.ini.template.in: dist_conf'iguration for
+ safe_mode_include_dir. End with slash as recommended in
+ http://php.net/ini.sect.safe-mode
+
+2009-11-27 Richard Bos <richard@radoeka.nl>
+
+ * kolab_ca.sh.in: prevent /root being printed during bootstrap:
+ kolab/issue3979 Confusing /root in the output of kolab_bootstrap
+
2009-11-27 Sascha Wilde <wilde@intevation.de>
* templates/slapd.conf.template.in: loglevel none, see
- kolab/issue3895 (Openldap: loglevel should be set to none in
- slapd.conf)
+ kolab/issue3895 (Openldap: loglevel should be set to none in
+ slapd.conf)
2009-11-26 Sascha Wilde <wilde@intevation.de>
* templates/main.cf.template.in: Added `message_reject_characters'
- directive, see kolab/issue3594 (Mail containing NUL byte not
- delivered, Kolab Filter does not report lmtp error)
+ directive, see kolab/issue3594 (Mail containing NUL byte not
+ delivered, Kolab Filter does not report lmtp error)
2009-11-25 Sascha Wilde <wilde@intevation.de>
-
+
* templates/resmgr.conf.template.in: kolab/issue973 (Rewritten
from shown inconveniently in kontact)
+2009-11-24 Richard Bos <richard@radoeka.nl>
+
+ * templates/local.cf.template.in: Modify the hardcoded location
+ /kolab/etc/spamassassin/local.cf to one that is updated by the
+ build process. kolab/issue3953: use spamassassin_confdir in
+ local.cf.template comment
+
2009-11-23 Gunnar Wrobel <wrobel@pardus.de>
* templates/php.ini.template.in (magic_quotes_gpc):
@@ -54,6 +211,55 @@
kolab/issue3499 (creating/modifying users with special characters
in name confuses web admin)
+2009-11-23 Richard Bos <richard@radoeka.nl>
+
+ * dist_conf/kolabsrv.in: remove spamd as service, for more info
+ refer to https://issues.kolab.org/issue3953
+ - services can be listed in execution and alphabetical order
+ - changed the method to determine a distribution
+ - re-arrange the execution order of the services
+ - make it possible to skip the services freshclam and clamd
+
+2009-11-08 Richard Bos <richard@radoeka.nl>
+
+ * dist_conf/kolabsrv.in: added list option, to show the involved
+ distribution related service, and whether they are active or no.
+
+2009-08-27 Mathieu Parent <math.parent@gmail.com>
+
+ * templates/DB_CONFIG.slapd.template.in: dist_conf'iguration for openldap
+ module loading (kolab/issue3765).
+
+2009-07-23 Richard Bos <richard@radoeka.nl>
+
+ * Makefile: changed ldapserver_schemadir instead of
+ $(ldapserver_confdir)/schema, kolab/issue3772
+
+2009-07-18 Mathieu Parent <math.parent@gmail.com>
+
+ * templates/DB_CONFIG.slapd.template.in: change ownership from kolab to
+ openldap
+
+2009-06-05 Richard Bos <richard@radoeka.nl>
+
+ * templates/resmgr.conf.template.in: Include pid in kolabfilter log
+ file. See kolab/issue3661
+
+2009-05-27 Richard Bos <richard@radoeka.nl>
+
+ * dist_conf/suse: change the user from kolab to wwwrun,
+ adapted some log file location, due to the change mentioned
+ before.
+
+2009-05-22 Richard Bos <richard@radoeka.nl>
+
+ * templates/httpd.conf.template.in: Change relative /horde redirect
+ to /client into a full path redirect. See, kolab/issue3602
+
+2009-05-21 Richard Bos <richard@radoeka.nl>
+
+ * dist_conf/suse: added resmgr_locksdir
+
2009-05-14 Thomas Arendsen Hein <thomas@intevation.de>
* templates/main.cf.template.in, templates/master.cf.template.in:
@@ -68,14 +274,45 @@
Updated templates for clamav-0.95.1-20090409 for
kolab/issue3513 (Clamav - new upstream version 0.95.1)
-2009-04-23 Gunnar Wrobel <p@rdus.de>
+2009-05-09 Mathieu Parent <math.parent@gmail.com>
+
+ * Makefile.am: include dist_conf/kolabsrv.in in source packages
+ (kolab/issue3490).
+
+2009-05-07 Thomas Arendsen Hein <thomas@intevation.de>
+
+ * templates/cyrus.conf.template.in, templates/imapd.conf.template.in,
+ templates/imapd.annotation_definitions.template.in: Use RUNONCHANGE
+ mechanism to reload or restart imapd.
+
+2009-05-03 Richard Bos <richard@radoeka.nl>
+
+ * dist_conf/kolabsrv.in: Change @LDAPD@ to just openldap
+ kolab/issue3604
+
+2009-04-30 Richard Bos <richard@radoeka.nl>
+
+ * dist_conf/suse: Prepare kolabd for additional webclient
+ configuration templates.
+2009-04-26 Mathieu Parent <math.parent@gmail.com>
+
+ * rfc2739.schema: Fix kolab/issue3584 (rfc2739 is not copyrightable nor
+ licensable)
+
+2009-04-26 Mathieu Parent <math.parent@gmail.com>
+
+ * dist_conf/debian: Prepare kolabd for additional webclient
+ configuration templates.
+
+2009-04-23 Gunnar Wrobel <p@rdus.de>
+
* templates/freebusy.conf.template.in: Configuration support for
LDAP attribute mapping.
-
+
* templates/resmgr.conf.template.in: Configuration support for
LDAP attribute mapping.
-
+
2009-04-20 Thomas Arendsen Hein <thomas@intevation.de>
* templates/slapd.conf.template.in: Make kolabAllowSMTPRecipient
@@ -87,34 +324,67 @@
* templates/amavisd.conf.template.in: Disable
$bad_header_quarantine_method since D_PASS is default policy.
-2009-04-06 Thomas Arendsen Hein <thomas@intevation.de>
+2009-03-27 Thomas Arendsen Hein <thomas@intevation.de>
+
+ * templates/ldapvirtual.cf.template.in: Fix kolab/issue3096
+ (Address book aliases shouldn't redirect outgoing mails)
+
+2009-03-26 Thomas Arendsen Hein <thomas@intevation.de>
* templates/clamd.conf.template.in,
templates/freshclam.conf.template.in:
- Updated templates for clamav-0.95-20090323 for
- kolab/issue3513 (Clamav - new upstream version 0.95)
+ Updated templates for clamav-0.95-20090323.
+
+2009-03-17 Thomas Arendsen Hein <thomas@intevation.de>
+
+ * templates/amavisd.conf.template.in,
+ templates/clamd.conf.template.in, templates/httpd.conf.template.in,
+ templates/httpd.local.template.in, templates/php.ini.template.in:
+ Use RUNONCHANGE mechanism to restart amavisd, clamav (not for
+ freshclam) or reload apache.
+ * kolab.globals.in, templates/ldaptransport.cf.template.in,
+ templates/main.cf.template.in, templates/master.cf.template.in:
+ Use RUNONCHANGE mechanism for postfix configuration.
2009-03-17 Mathieu Parent <math.parent@gmail.com>
- * dist_conf/debian: Prepare kolabd for additional webclient
- configuration templates.
+ * dist_conf/debian: sync with dist_conf/kolab (resmgr_locksdir,
+ resmgr_localedir and LDAPD)
+ * dist_conf/kolabsrv.in: add debian flavour
-2009-03-27 Thomas Arendsen Hein <thomas@intevation.de>
+2009-03-17 Thomas Arendsen Hein <thomas@intevation.de>
- * templates/ldapvirtual.cf.template.in: Fix kolab/issue3096
- (Address book aliases shouldn't redirect outgoing mails)
+ * templates/rc.conf.template.in, templates/saslauthd.conf.template.in:
+ Use RUNONCHANGE mechanism to restart sasl after config changes. Set
+ sasl_threads="5" in rc.conf to copy the behavior previously used in
+ kolabconf.
+ * kolabd.spec.in: Require current perl-kolab package.
+
+2009-03-16 Thomas Arendsen Hein <thomas@intevation.de>
+
+ * kolab.globals.in: Added imap_confdir and imappartitions_script for
+ new perl-kolab feature: Select random imap partition.
+
+2009-03-07 Mathieu Parent <math.parent@gmail.com>
+
+ * dist_conf/debian: corrected a syntax error in dist_conf/debian
+ * dist_conf/common: allow commas in dist_conf
+
+2009-03-06 Gunnar Wrobel <p@rdus.de>
+
+ * templates/resmgr.conf.template.in:
+
+ kolab/issue1382 (resmgr accepts concurrent overlapping
+ invitations)
+
+ kolab/issue2499 (Notification messages by the resource manager
+ sould be localized)
2009-03-26 Gunnar Wrobel <p@rdus.de>
* kolab.globals.in: Prepare kolabd for additional webclient
configuration templates.
-2009-03-17 Mathieu Parent <math.parent@gmail.com>
-
- * dist_conf/debian: sync with dist_conf/kolab (resmgr_locksdir,
- resmgr_localedir and LDAPD)
- * dist_conf/kolabsrv.in: add debian flavour
-
2009-03-03 Thomas Arendsen Hein <thomas@intevation.de>
* templates/httpd.conf.template.in: "AllowOverride All" for /client to
diff --git a/bin/kolabpasswd.in b/bin/kolabpasswd.in
index e04abcb..38b88b0 100644
--- a/bin/kolabpasswd.in
+++ b/bin/kolabpasswd.in
@@ -12,7 +12,7 @@ B<kolabpasswd>
The kolabpasswd script is used for changing the manager password on a Kolab Server.
In multi-location Kolab setups the script must be run on each individual host
-seperately.
+separately.
After changing the manager password it is highly recommended to restart
the Kolab server.
@@ -45,6 +45,12 @@ Project's homepage; see <http://www.gnu.org/licenses/gpl.html>.
=cut
+use Encode;
+use I18N::Langinfo qw(langinfo YESSTR CODESET);
+my $local_codeset = langinfo(CODESET());
+
+binmode(STDIN, ":encoding($local_codeset)");
+
use Term::ReadKey;
use IO::File;
use File::Temp;
@@ -118,6 +124,7 @@ my $kolabconfname = "@CONFIG_DIR@/kolab.conf";
my %config = readConfig($kolabconfname);
my $kolabconf = IO::File->new('@CONFIG_DIR@/kolab.conf','r')
|| die "kolabpasswd: Fatal Error: could not open kolab config at $kolabconfname";
+binmode($kolabconf, ":encoding(UTF-8)");
my $account = 'manager';
my $account_dn = $config{'bind_dn'};
@@ -140,8 +147,6 @@ do {
ReadMode 'noecho';
my $old_password = ReadLine 0; chomp $old_password;
- $old_password = Encode::encode_utf8($old_password);
-
$mesg = $ldap->bind( $account_dn, password => $old_password ) || die "\nkolabpasswd: Failed to bind to LDAP server";
if( $mesg->code ) { print "\nError: ".$mesg->error.". Please try again\n"; }
} while ( $mesg->code );
@@ -157,15 +162,14 @@ print "\n";
ReadMode 'normal';
($new_password eq $new_password2) || die "Sorry, passwords do not match.\n";
-$new_password = Encode::encode_utf8($new_password);
-
my $bind_pw_hash;
# create temporary config file
my $tmp = new File::Temp( TEMPLATE => 'tempXXXXX', DIR => '@CONFIG_DIR@', UNLINK => 0, SUFFIX => '.conf')
|| die "Error: could not create temporary file under @CONFIG_DIR@";
+binmode($tmp, ":encoding(UTF-8)");
$tmpfilename = $tmp->filename;
-$bind_pw_hash = hashPassword2($new_password);
+$bind_pw_hash = hashPassword($new_password);
# copy and replace old config to temporary file
foreach ($kolabconf->getlines()) {
diff --git a/conf/kolab.globals.in b/conf/kolab.globals.in
index 819f0a8..ed2ad44 100644
--- a/conf/kolab.globals.in
+++ b/conf/kolab.globals.in
@@ -1,3 +1,11 @@
+#=================================================================
+# THIS FILE PROVIDES THE BASIC KOLAB SERVER CONFIGURAtION.
+# DO NOT EDIT ANYTHING HERE.
+#
+# In case you feel the need to modify any of the settings listed
+# below you can copy the setting to kolab.conf and edit it there.
+# This will override the default setting provided here.
+#=================================================================
conn_refresh_period : 60
cyrus-admin : manager
cyrus-admins : manager
@@ -36,19 +44,22 @@ kolab_rusr: @kolab_rusr@
kolab_rgrp: @kolab_rgrp@
kolab_musr: @kolab_musr@
kolab_mgrp: @kolab_mgrp@
+kolab_susr: @kolab_susr@
+kolab_hooksdir: @kolab_hooksdir@
kolab_quotawarning: @kolab_quotawarning@
hashmethod: @sbindir@/slappasswd -s
templatedir: @sysconfdir@/kolab/templates
kolabdir: @sysconfdir@/kolab/
kolab_cafile: @sysconfdir@/kolab/kolabserver-ca.crt
-postmapping: @sbindir@/postmap -o @emailserver_confdir@
KOLABRC: @KOLABRC@
bindir: @bindir@
sbindir: @sbindir@
webserver_logdir: @webserver_logdir@
webserver_document_root: @webserver_document_root@
+webserver_musr: @webserver_musr@
webserver_usr: @webserver_usr@
webserver_grp: @webserver_grp@
+webclient_data_root: @webclient_data_root@
horde_cookie_path: @horde_cookie_path@
horde_confdir: @horde_confdir@
dimp_confdir: @dimp_confdir@
@@ -58,6 +69,7 @@ kronolith_confdir: @kronolith_confdir@
mimp_confdir: @mimp_confdir@
mnemo_confdir: @mnemo_confdir@
nag_confdir: @nag_confdir@
+passwd_confdir: @passwd_confdir@
turba_confdir: @turba_confdir@
kolab_statedir: @kolab_statedir@
kolab_pidfile: @kolab_pidfile@
@@ -79,11 +91,33 @@ ldapserver_statedir : @ldapserver_statedir@
ldapserver_rusr : @ldapserver_rusr@
ldapserver_grp : @ldapserver_grp@
ldapserver_rgrp : @ldapserver_rgrp@
+ldapserver_modulepath : @ldapserver_modulepath@
libexecdir : @libexecdir@
WITHOPENPKG : @WITHOPENPKG@
LDAPD : @LDAPD@
kolab_scriptsdir : @kolab_scriptsdir@
pki_grp : @pki_grp@
TAR : @TAR@
-kolab_wui : @kolab_wui@
syncrepl_cookie_file : @kolab_statedir@/syncrepl_cookie
+imap_confdir : @imap_confdir@
+imappartitions_script : @sbindir@/kolab_imappartitions
+freebusy_confdir: @freebusy_confdir@
+freebusy_usr: @freebusy_usr@
+freebusy_grp: @freebusy_grp@
+freebusy_log_type: @freebusy_log_type@
+freebusy_log_name: @freebusy_log_name@
+freebusy_logdir: @freebusy_logdir@
+freebusy_cachedir: @freebusy_cachedir@
+resmgr_confdir: @resmgr_confdir@
+resmgr_conffile_usr: @resmgr_conffile_usr@
+resmgr_conffile_grp: @resmgr_conffile_grp@
+resmgr_tmpdir: @resmgr_tmpdir@
+resmgr_localedir: @resmgr_localedir@
+resmgr_locksdir: @resmgr_locksdir@
+resmgr_logdir: @resmgr_logdir@
+resmgr_log_type: @resmgr_log_type@
+resmgr_log_name: @resmgr_log_name@
+kolab_wui : @kolab_wui@
+kolab_php_module_prefix : @kolab_php_module_prefix@
+prefix : @prefix@
+phplibdir2 : @phplibdir2@
diff --git a/horde.schema b/horde.schema
deleted file mode 100644
index 275c809..0000000
--- a/horde.schema
+++ /dev/null
@@ -1,536 +0,0 @@
-# $Horde: horde/scripts/ldap/horde.schema,v 1.29 2007/01/29 16:46:55 chuck Exp $
-#
-# The offical horde OID assigned by IANA is 13040.
-#
-# This schema depends on:
-# - core.schema
-#
-#
-# Horde attribute branch 1.3.6.1.4.1.13040.2.1.*
-# IMP attribute branch 1.3.6.1.4.1.13040.3.1.*
-# Turba attribute branch 1.3.6.1.4.1.13040.4.1.*
-# Kronolith attribute branch 1.3.6.1.4.1.13040.5.1.*
-# Nag attribute branch 1.3.6.1.4.1.13040.6.1.*
-# Gollem attribute branch 1.3.6.1.4.1.13040.7.1.*
-# Chora attribute branch 1.3.6.1.4.1.13040.8.1.*
-# Mnemo attribute branch 1.3.6.1.4.1.13040.9.1.*
-# Klutz attribute branch 1.3.6.1.4.1.13040.11.1.*
-# Jonah attribute branch 1.3.6.1.4.1.13040.12.1.*
-# Hermes attribute branch 1.3.6.1.4.1.13040.13.1.*
-# Trean attribute branch 1.3.6.1.4.1.13040.15.1.*
-# Whups attribute branch 1.3.6.1.4.1.13040.16.1.*
-# Ingo attribute branch 1.3.6.1.4.1.13040.17.1.*
-# Ansel attribute branch 1.3.6.1.4.1.13040.18.1.*
-# Genie attribute branch 1.3.6.1.4.1.13040.19.1.*
-# Scry attribute branch 1.3.6.1.4.1.13040.20.1.*
-# Wicked attribute branch 1.3.6.1.4.1.13040.21.1.*
-# Agora attribute branch 1.3.6.1.4.1.13040.22.1.*
-# Goops attribute branch 1.3.6.1.4.1.13040.24.1.*
-# Merk attribute branch 1.3.6.1.4.1.13040.25.1.*
-# MIMP attribute branch 1.3.6.1.4.1.13040.26.1.*
-# Mottle attribute branch 1.3.6.1.4.1.13040.27.1.*
-# Nic attribute branch 1.3.6.1.4.1.13040.28.1.*
-# Occam attribute branch 1.3.6.1.4.1.13040.29.1.*
-# Rakim attribute branch 1.3.6.1.4.1.13040.31.1.*
-# Sesha attribute branch 1.3.6.1.4.1.13040.32.1.*
-# Swoosh attribute branch 1.3.6.1.4.1.13040.33.1.*
-# Ulaform attribute branch 1.3.6.1.4.1.13040.35.1.*
-# Volos attribute branch 1.3.6.1.4.1.13040.36.1.*
-# Jeta attribute branch 1.3.6.1.4.1.13040.37.1.*
-# DIMP attribute branch 1.3.6.1.4.1.13040.38.1.*
-#
-# Horde objectclass branch 1.3.6.1.4.1.13040.2.2.*
-# IMP objectclass branch 1.3.6.1.4.1.13040.3.2.*
-# Turba objectclass branch 1.3.6.1.4.1.13040.4.2.*
-# Kronolith objectclass branch 1.3.6.1.4.1.13040.5.2.*
-# Nag objectclass branch 1.3.6.1.4.1.13040.6.2.*
-# Gollem objectclass branch 1.3.6.1.4.1.13040.7.2.*
-# Chora objectclass branch 1.3.6.1.4.1.13040.8.2.*
-# Mnemo objectclass branch 1.3.6.1.4.1.13040.9.2.*
-# Klutz objectclass branch 1.3.6.1.4.1.13040.11.2.*
-# Jonah objectclass branch 1.3.6.1.4.1.13040.12.2.*
-# Hermes objectclass branch 1.3.6.1.4.1.13040.13.2.*
-# Trean objectclass branch 1.3.6.1.4.1.13040.15.2.*
-# Whups objectclass branch 1.3.6.1.4.1.13040.16.2.*
-# Ingo objectclass branch 1.3.6.1.4.1.13040.17.2.*
-# Ansel objectclass branch 1.3.6.1.4.1.13040.18.2.*
-# Genie objectclass branch 1.3.6.1.4.1.13040.19.2.*
-# Scry objectclass branch 1.3.6.1.4.1.13040.20.2.*
-# Wicked objectclass branch 1.3.6.1.4.1.13040.21.2.*
-# Agora objectclass branch 1.3.6.1.4.1.13040.22.2.*
-# Goops objectclass branch 1.3.6.1.4.1.13040.24.2.*
-# Merk objectclass branch 1.3.6.1.4.1.13040.25.2.*
-# MIMP objectclass branch 1.3.6.1.4.1.13040.26.2.*
-# Mottle objectclass branch 1.3.6.1.4.1.13040.27.2.*
-# Nic objectclass branch 1.3.6.1.4.1.13040.28.2.*
-# Occam objectclass branch 1.3.6.1.4.1.13040.29.2.*
-# Rakim objectclass branch 1.3.6.1.4.1.13040.31.2.*
-# Sesha objectclass branch 1.3.6.1.4.1.13040.32.2.*
-# Swoosh objectclass branch 1.3.6.1.4.1.13040.33.2.*
-# Ulaform objectclass branch 1.3.6.1.4.1.13040.35.2.*
-# Volos objectclass branch 1.3.6.1.4.1.13040.36.2.*
-# Jeta objectclass branch 1.3.6.1.4.1.13040.37.2.*
-# DIMP objectclass branch 1.3.6.1.4.1.13040.38.2.*
-
-#
-# Horde attribute branch 1.3.6.1.4.1.13040.2.1.*
-#
-attributetype ( 1.3.6.1.4.1.13040.2.1.1
- NAME 'hordePrefs'
- DESC 'Horde Preferences'
- EQUALITY caseIgnoreIA5Match
- SYNTAX 1.3.6.1.4.1.1466.115.121.1.26{1024} )
-
-#
-# IMP attribute branch 1.3.6.1.4.1.13040.3.1.*
-#
-attributetype ( 1.3.6.1.4.1.13040.3.1.1
- NAME 'impPrefs'
- DESC 'IMP Preferences'
- EQUALITY caseIgnoreIA5Match
- SYNTAX 1.3.6.1.4.1.1466.115.121.1.26{1024} )
-
-#
-# Turba attribute branch 1.3.6.1.4.1.13040.4.1.*
-#
-attributetype ( 1.3.6.1.4.1.13040.4.1.1
- NAME 'turbaPrefs'
- DESC 'Turba Preferences'
- EQUALITY caseIgnoreIA5Match
- SYNTAX 1.3.6.1.4.1.1466.115.121.1.26{1024} )
-
-attributetype ( 1.3.6.1.4.1.13040.4.1.2
- NAME 'turbaType'
- DESC 'Turba Object Type: Contact/List'
- EQUALITY caseIgnoreIA5Match
- SUBSTR caseIgnoreIA5SubstringsMatch
- SYNTAX 1.3.6.1.4.1.1466.115.121.1.26{8} )
-
-attributetype ( 1.3.6.1.4.1.13040.4.1.3
- NAME 'turbaMembers'
- DESC 'Encoded members of a Turba list'
- SUP name )
-
-attributetype ( 1.3.6.1.4.1.13040.4.1.4
- NAME 'turbaPGPPublicKey'
- DESC 'PGP/GPG Public Key'
- EQUALITY caseIgnoreIA5Match
- SYNTAX 1.3.6.1.4.1.1466.115.121.1.26{4000} )
-
-#
-# Kronolith attribute branch 1.3.6.1.4.1.13040.5.1.*
-#
-attributetype ( 1.3.6.1.4.1.13040.5.1.1
- NAME 'kronolithPrefs'
- DESC 'Kronolith Preferences'
- EQUALITY caseIgnoreIA5Match
- SYNTAX 1.3.6.1.4.1.1466.115.121.1.26{1024} )
-
-#
-# Nag attribute branch 1.3.6.1.4.1.13040.6.1.*
-#
-attributetype ( 1.3.6.1.4.1.13040.6.1.1
- NAME 'nagPrefs'
- DESC 'Nag Preferences'
- EQUALITY caseIgnoreIA5Match
- SYNTAX 1.3.6.1.4.1.1466.115.121.1.26{1024} )
-
-#
-# Gollem attribute branch 1.3.6.1.4.1.13040.7.1.*
-#
-attributetype ( 1.3.6.1.4.1.13040.7.1.1
- NAME 'gollemPrefs'
- DESC 'Gollem Preferences'
- EQUALITY caseIgnoreIA5Match
- SYNTAX 1.3.6.1.4.1.1466.115.121.1.26{1024} )
-
-#
-# Chora attribute branch 1.3.6.1.4.1.13040.8.1.*
-#
-attributetype ( 1.3.6.1.4.1.13040.8.1.1
- NAME 'choraPrefs'
- DESC 'Chora Preferences'
- EQUALITY caseIgnoreIA5Match
- SYNTAX 1.3.6.1.4.1.1466.115.121.1.26{1024} )
-
-#
-# Mnemo attribute branch 1.3.6.1.4.1.13040.9.1.*
-#
-attributetype ( 1.3.6.1.4.1.13040.9.1.1
- NAME 'mnemoPrefs'
- DESC 'Mnemo Preferences'
- EQUALITY caseIgnoreIA5Match
- SYNTAX 1.3.6.1.4.1.1466.115.121.1.26{1024} )
-
-#
-# Klutz attribute branch 1.3.6.1.4.1.13040.11.1.*
-#
-attributetype ( 1.3.6.1.4.1.13040.11.1.1
- NAME 'klutzPrefs'
- DESC 'Klutz Preferences'
- EQUALITY caseIgnoreIA5Match
- SYNTAX 1.3.6.1.4.1.1466.115.121.1.26{1024} )
-
-#
-# Jonah attribute branch 1.3.6.1.4.1.13040.12.1.*
-#
-attributetype ( 1.3.6.1.4.1.13040.12.1.1
- NAME 'jonahPrefs'
- DESC 'Jonah Preferences'
- EQUALITY caseIgnoreIA5Match
- SYNTAX 1.3.6.1.4.1.1466.115.121.1.26{1024} )
-
-#
-# Hermes attribute branch 1.3.6.1.4.1.13040.13.1.*
-#
-attributetype ( 1.3.6.1.4.1.13040.13.1.1
- NAME 'hermesPrefs'
- DESC 'Hermes Preferences'
- EQUALITY caseIgnoreIA5Match
- SYNTAX 1.3.6.1.4.1.1466.115.121.1.26{1024} )
-
-#
-# Trean attribute branch 1.3.6.1.4.1.13040.15.1.*
-#
-attributetype ( 1.3.6.1.4.1.13040.15.1.1
- NAME 'treanPrefs'
- DESC 'Trean Preferences'
- EQUALITY caseIgnoreIA5Match
- SYNTAX 1.3.6.1.4.1.1466.115.121.1.26{1024} )
-
-#
-# Whups attribute branch 1.3.6.1.4.1.13040.16.1.*
-#
-attributetype ( 1.3.6.1.4.1.13040.16.1.1
- NAME 'whupsPrefs'
- DESC 'Whups Preferences'
- EQUALITY caseIgnoreIA5Match
- SYNTAX 1.3.6.1.4.1.1466.115.121.1.26{1024} )
-
-#
-# Ingo attribute branch 1.3.6.1.4.1.13040.17.1.*
-#
-attributetype ( 1.3.6.1.4.1.13040.17.1.1
- NAME 'ingoPrefs'
- DESC 'Ingo Preferences'
- EQUALITY caseIgnoreIA5Match
- SYNTAX 1.3.6.1.4.1.1466.115.121.1.26{1024} )
-
-#
-# Ansel attribute branch 1.3.6.1.4.1.13040.18.1.*
-#
-attributetype ( 1.3.6.1.4.1.13040.18.1.1
- NAME 'anselPrefs'
- DESC 'Ansel Preferences'
- EQUALITY caseIgnoreIA5Match
- SYNTAX 1.3.6.1.4.1.1466.115.121.1.26{1024} )
-
-#
-# Genie attribute branch 1.3.6.1.4.1.13040.19.1.*
-#
-attributetype ( 1.3.6.1.4.1.13040.19.1.1
- NAME 'geniePrefs'
- DESC 'Genie Preferences'
- EQUALITY caseIgnoreIA5Match
- SYNTAX 1.3.6.1.4.1.1466.115.121.1.26{1024} )
-
-#
-# Scry attribute branch 1.3.6.1.4.1.13040.20.1.*
-#
-attributetype ( 1.3.6.1.4.1.13040.20.1.1
- NAME 'scryPrefs'
- DESC 'Scry Preferences'
- EQUALITY caseIgnoreIA5Match
- SYNTAX 1.3.6.1.4.1.1466.115.121.1.26{1024} )
-
-#
-# Wicked attribute branch 1.3.6.1.4.1.13040.21.1.*
-#
-attributetype ( 1.3.6.1.4.1.13040.21.1.1
- NAME 'wickedPrefs'
- DESC 'Wicked Preferences'
- EQUALITY caseIgnoreIA5Match
- SYNTAX 1.3.6.1.4.1.1466.115.121.1.26{1024} )
-
-#
-# Agora attribute branch 1.3.6.1.4.1.13040.22.1.*
-#
-attributetype ( 1.3.6.1.4.1.13040.22.1.1
- NAME 'agoraPrefs'
- DESC 'Agora Preferences'
- EQUALITY caseIgnoreIA5Match
- SYNTAX 1.3.6.1.4.1.1466.115.121.1.26{1024} )
-
-#
-# Goops attribute branch 1.3.6.1.4.1.13040.24.1.*
-#
-attributetype ( 1.3.6.1.4.1.13040.24.1.1
- NAME 'goopsPrefs'
- DESC 'Goops Preferences'
- EQUALITY caseIgnoreIA5Match
- SYNTAX 1.3.6.1.4.1.1466.115.121.1.26{1024} )
-
-#
-# Merk attribute branch 1.3.6.1.4.1.13040.25.1.*
-#
-attributetype ( 1.3.6.1.4.1.13040.25.1.1
- NAME 'merkPrefs'
- DESC 'Merk Preferences'
- EQUALITY caseIgnoreIA5Match
- SYNTAX 1.3.6.1.4.1.1466.115.121.1.26{1024} )
-
-#
-# MIMP attribute branch 1.3.6.1.4.1.13040.26.1.*
-#
-attributetype ( 1.3.6.1.4.1.13040.26.1.1
- NAME 'mimpPrefs'
- DESC 'MIMP Preferences'
- EQUALITY caseIgnoreIA5Match
- SYNTAX 1.3.6.1.4.1.1466.115.121.1.26{1024} )
-
-#
-# Mottle attribute branch 1.3.6.1.4.1.13040.27.1.*
-#
-attributetype ( 1.3.6.1.4.1.13040.27.1.1
- NAME 'mottlePrefs'
- DESC 'Mottle Preferences'
- EQUALITY caseIgnoreIA5Match
- SYNTAX 1.3.6.1.4.1.1466.115.121.1.26{1024} )
-
-#
-# Nic attribute branch 1.3.6.1.4.1.13040.28.1.*
-#
-attributetype ( 1.3.6.1.4.1.13040.28.1.1
- NAME 'nicPrefs'
- DESC 'NIC Preferences'
- EQUALITY caseIgnoreIA5Match
- SYNTAX 1.3.6.1.4.1.1466.115.121.1.26{1024} )
-
-#
-# Occam attribute branch 1.3.6.1.4.1.13040.29.1.*
-#
-attributetype ( 1.3.6.1.4.1.13040.29.1.1
- NAME 'occamPrefs'
- DESC 'Occam Preferences'
- EQUALITY caseIgnoreIA5Match
- SYNTAX 1.3.6.1.4.1.1466.115.121.1.26{1024} )
-
-#
-# Rakim attribute branch 1.3.6.1.4.1.13040.31.1.*
-#
-attributetype ( 1.3.6.1.4.1.13040.31.1.1
- NAME 'rakimPrefs'
- DESC 'Rakim Preferences'
- EQUALITY caseIgnoreIA5Match
- SYNTAX 1.3.6.1.4.1.1466.115.121.1.26{1024} )
-
-#
-# Sesha attribute branch 1.3.6.1.4.1.13040.32.1.*
-#
-attributetype ( 1.3.6.1.4.1.13040.32.1.1
- NAME 'seshaPrefs'
- DESC 'Sesha Preferences'
- EQUALITY caseIgnoreIA5Match
- SYNTAX 1.3.6.1.4.1.1466.115.121.1.26{1024} )
-
-#
-# Swoosh attribute branch 1.3.6.1.4.1.13040.33.1.*
-#
-attributetype ( 1.3.6.1.4.1.13040.33.1.1
- NAME 'swooshPrefs'
- DESC 'Swoosh Preferences'
- EQUALITY caseIgnoreIA5Match
- SYNTAX 1.3.6.1.4.1.1466.115.121.1.26{1024} )
-
-#
-# Ulaform attribute branch 1.3.6.1.4.1.13040.35.1.*
-#
-attributetype ( 1.3.6.1.4.1.13040.35.1.1
- NAME 'ulaformPrefs'
- DESC 'Ulaform Preferences'
- EQUALITY caseIgnoreIA5Match
- SYNTAX 1.3.6.1.4.1.1466.115.121.1.26{1024} )
-
-#
-# Volos attribute branch 1.3.6.1.4.1.13040.36.1.*
-#
-attributetype ( 1.3.6.1.4.1.13040.36.1.1
- NAME 'volosPrefs'
- DESC 'Volos Preferences'
- EQUALITY caseIgnoreIA5Match
- SYNTAX 1.3.6.1.4.1.1466.115.121.1.26{1024} )
-
-#
-# Jeta attribute branch 1.3.6.1.4.1.13040.37.1.*
-#
-attributetype ( 1.3.6.1.4.1.13040.37.1.1
- NAME 'jetaPrefs'
- DESC 'Jeta Preferences'
- EQUALITY caseIgnoreIA5Match
- SYNTAX 1.3.6.1.4.1.1466.115.121.1.26{1024} )
-
-#
-# DIMP attribute branch 1.3.6.1.4.1.13040.38.1.*
-#
-attributetype ( 1.3.6.1.4.1.13040.38.1.1
- NAME 'dimpPrefs'
- DESC 'DIMP Preferences'
- EQUALITY caseIgnoreIA5Match
- SYNTAX 1.3.6.1.4.1.1466.115.121.1.26{1024} )
-
-#
-# Horde objectclass branch 1.3.6.1.4.1.13040.2.2.*
-#
-objectclass ( 1.3.6.1.4.1.13040.2.2.1
- NAME 'hordePerson'
- DESC 'Horde Preferences'
- SUP top
- AUXILIARY
- MAY ( mail $ hordePrefs $ impPrefs $ turbaPrefs $
- gollemPrefs $ kronolithPrefs $ mnemoPrefs $
- nagPrefs $ klutzPrefs $ jonahPrefs $
- hermesPrefs $ treanPrefs $ whupsPrefs $
- ingoPrefs $ geniePrefs $ scryPrefs $
- anselPrefs $ wickedPrefs $ choraPrefs $
- agoraPrefs $ goopsPrefs $ merkPrefs $
- volosPrefs $ mimpPrefs $ mottlePrefs $
- nicPrefs $ occamPrefs $ rakimPrefs $
- seshaPrefs $ swooshPrefs $ ulaformPrefs $
- jetaPrefs $ dimpPrefs
- ) )
-
-objectclass ( 1.3.6.1.4.1.13040.2.2.2
- NAME 'hordeGroup'
- DESC 'Horde Group'
- SUP top
- AUXILIARY
- MAY ( mail ) )
-
-#
-# IMP objectclass branch 1.3.6.1.4.1.13040.3.2.*
-#
-
-# Turba objectclass branch 1.3.6.1.4.1.13040.4.2.*
-objectclass ( 1.3.6.1.4.1.13040.4.2.1
- NAME 'turbaContact'
- DESC 'Turba Contact'
- SUP top
- AUXILIARY
- MAY ( turbaType $ turbaMembers $ calFBURL )
- )
-
-#
-# Kronolith objectclass branch 1.3.6.1.4.1.13040.5.2.*
-#
-
-#
-# Nag objectclass branch 1.3.6.1.4.1.13040.6.2.*
-#
-
-#
-# Gollem objectclass branch 1.3.6.1.4.1.13040.7.2.*
-#
-
-#
-# Chora objectclass branch 1.3.6.1.4.1.13040.8.2.*
-#
-
-#
-# Mnemo objectclass branch 1.3.6.1.4.1.13040.9.2.*
-#
-
-#
-# Klutz objectclass branch 1.3.6.1.4.1.13040.11.2.*
-#
-
-#
-# Jonah objectclass branch 1.3.6.1.4.1.13040.12.2.*
-#
-
-#
-# Hermes objectclass branch 1.3.6.1.4.1.13040.13.2.*
-#
-
-#
-# Trean objectclass branch 1.3.6.1.4.1.13040.15.2.*
-#
-
-#
-# Whups objectclass branch 1.3.6.1.4.1.13040.16.2.*
-#
-
-#
-# Ingo objectclass branch 1.3.6.1.4.1.13040.17.2.*
-#
-
-#
-# Ansel objectclass branch 1.3.6.1.4.1.13040.18.2.*
-#
-
-#
-# Genie objectclass branch 1.3.6.1.4.1.13040.19.2.*
-#
-
-#
-# Scry objectclass branch 1.3.6.1.4.1.13040.20.2.*
-#
-
-#
-# Wicked objectclass branch 1.3.6.1.4.1.13040.21.2.*
-#
-
-#
-# Agora objectclass branch 1.3.6.1.4.1.13040.22.2.*
-#
-
-#
-# Goops objectclass branch 1.3.6.1.4.1.13040.24.2.*
-#
-
-#
-# Merk objectclass branch 1.3.6.1.4.1.13040.25.2.*
-#
-
-#
-# MIMP objectclass branch 1.3.6.1.4.1.13040.26.2.*
-#
-
-#
-# Mottle objectclass branch 1.3.6.1.4.1.13040.27.2.*
-#
-
-#
-# Nic objectclass branch 1.3.6.1.4.1.13040.28.2.*
-#
-
-#
-# Occam objectclass branch 1.3.6.1.4.1.13040.29.2.*
-#
-
-#
-# Rakim objectclass branch 1.3.6.1.4.1.13040.31.2.*
-#
-
-#
-# Sesha objectclass branch 1.3.6.1.4.1.13040.32.2.*
-#
-
-#
-# Swoosh objectclass branch 1.3.6.1.4.1.13040.33.2.*
-#
-
-#
-# Ulaform objectclass branch 1.3.6.1.4.1.13040.35.2.*
-#
-
-#
-# Volos objectclass branch 1.3.6.1.4.1.13040.36.2.*
-#
-
-#
-# Jeta objectclass branch 1.3.6.1.4.1.13040.37.2.*
-#
-
-#
-# DIMP objectclass branch 1.3.6.1.4.1.13040.38.2.*
-#
diff --git a/kolabd.spec.in b/kolabd.spec.in
index a7757b2..adace9e 100644
--- a/kolabd.spec.in
+++ b/kolabd.spec.in
@@ -57,14 +57,14 @@ PreReq: Kolab_Filter
PreReq: Kolab_FreeBusy
# what about php::with_tidy = yes (for Horde Imp)
-PreReq: php, php::with_gettext = yes, php::with_dom = yes, php::with_mcrypt = yes, php::with_iconv = yes, php::with_mbstring = yes, php::with_mbregex = yes, php::with_gd = yes, php::with_imap = yes, php::with_ssl = yes, php::with_ctype = yes, php::with_openldap = yes, php::with_mhash = yes, php::with_zlib = yes, php::with_bdb = yes, php::with_imap_annotate = yes, php::with_imap_myrights = yes, php::with_pear = yes, php::with_xml = yes, php::with_mm = yes, php::with_sqlite = yes, php::with_spl = yes, php::with_json = yes
-PreReq: apache-php, apache-php::with_gettext = yes, apache-php::with_dom = yes, apache-php::with_mcrypt = yes, apache-php::with_iconv = yes, apache-php::with_mbstring = yes, apache-php::with_mbregex = yes, apache-php::with_gd = yes, apache-php::with_imap = yes, apache-php::with_ssl = yes, apache-php::with_ctype = yes, apache-php::with_openldap = yes, apache-php::with_mhash = yes, apache-php::with_zlib = yes, apache-php::with_bdb = yes, apache-php::with_imap_annotate = yes, apache-php::with_imap_myrights = yes, apache-php::with_pear = yes, apache-php::with_xml = yes, apache-php::with_mm = yes, apache-php::with_sqlite = yes, apache-php::with_spl = yes, apache-php::with_json = yes
+PreReq: php, php::with_gettext = yes, php::with_dom = yes, php::with_mcrypt = yes, php::with_iconv = yes, php::with_mbstring = yes, php::with_mbregex = yes, php::with_gd = yes, php::with_imap = yes, php::with_ssl = yes, php::with_ctype = yes, php::with_openldap = yes, php::with_hash = yes, php::with_zlib = yes, php::with_bdb = yes, php::with_imap_annotate = yes, php::with_imap_myrights = yes, php::with_pear = yes, php::with_xml = yes, php::with_mm = yes, php::with_sqlite = yes, php::with_json = yes, php::with_tokenizer = yes
+PreReq: apache-php, apache-php::with_gettext = yes, apache-php::with_dom = yes, apache-php::with_mcrypt = yes, apache-php::with_iconv = yes, apache-php::with_mbstring = yes, apache-php::with_mbregex = yes, apache-php::with_gd = yes, apache-php::with_imap = yes, apache-php::with_ssl = yes, apache-php::with_ctype = yes, apache-php::with_openldap = yes, apache-php::with_hash = yes, apache-php::with_zlib = yes, apache-php::with_bdb = yes, apache-php::with_imap_annotate = yes, apache-php::with_imap_myrights = yes, apache-php::with_pear = yes, apache-php::with_xml = yes, apache-php::with_mm = yes, apache-php::with_sqlite = yes, apache-php::with_json = yes, apache-php::with_tokenizer = yes
PreReq: imapd, imapd::with_group = yes, imapd::with_group_igncase = yes, imapd::with_ldap = yes, imapd::with_annotate = yes, imapd::with_atvdom = yes, imapd::with_morelogging = yes, imapd::with_kolab = yes
PreReq: perl-ssl
PreReq: perl-www
PreReq: perl-ldap
-PreReq: perl-kolab >= 2.1.0.cvs-20070801
+PreReq: perl-kolab >= 2.2.1-20090317
AutoReq: no
AutoReqProv: no
diff --git a/perl-kolab.spec b/perl-kolab.spec
deleted file mode 100644
index 8ddec59..0000000
--- a/perl-kolab.spec
+++ /dev/null
@@ -1,90 +0,0 @@
-## COPYRIGHT
-## ---------
-##
-## See AUTHORS file
-##
-##
-## LICENSE
-## -------
-##
-## This program is free software; you can redistribute it and/or modify
-## it under the terms of the GNU General Public License as published by
-## the Free Software Foundation; either version 2 of the License, or
-## (at your option) any later version.
-##
-## This program is distributed in the hope that it will be useful,
-## but WITHOUT ANY WARRANTY; without even the implied warranty of
-## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-## GNU General Public License for more details.
-##
-## You should have received a copy of the GNU General Public License
-## along with this program; if not, write to the Free Software
-## Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
-##
-## $Revision$
-
-# versions of individual parts
-%define V_perl 5.8.8
-%define V_package perl-kolab
-%define V_version @VERSION@
-%define V_release @RELEASE@
-%define V_source_tag @SOURCE_TAG@
-
-# package information
-Name: %{V_package}
-Summary: Perl Modules for use with the Kolab server
-URL: http://www.kolab.org
-Vendor: Kolab Consortium
-Packager: Gunnar Wrobel <wrobel@pardus.de> (p@rdus)
-Distribution: OpenPKG
-Group: Language
-License: GPL
-Version: %{V_version}
-Release: %{V_release}
-Epoch: 1
-
-# list of sources
-Source0: %{V_package}-%{V_source_tag}.tar.gz
-
-# build information
-Prefix: %{l_prefix}
-BuildRoot: %{l_buildroot}
-# BuildPreReq: OpenPKG, openpkg >= 2.0, perl >= @VERSION@, perl-openpkg >= @VERSION@
-BuildPreReq: OpenPKG, openpkg >= 2.5.0
-PreReq: OpenPKG, openpkg >= 2.5.0
-PreReq: perl >= %{V_perl}
-PreReq: perl-openpkg >= %{V_perl}
-PreReq: perl-db
-PreReq: perl-conv
-PreReq: perl-ldap
-PreReq: imapd
-AutoReq: no
-AutoReqProv: no
-
-Provides: kolabconf = %{version}-%{release}
-Obsoletes: kolabconf <= %{version}-%{release}
-
-%description
- Perl modules for use with the Kolab server
-
-%prep
- %setup -q -c
-
-%build
-
-%install
- %{l_prefix}/bin/perl-openpkg prepare
- %{l_prefix}/bin/perl-openpkg -d %{SOURCE0} -A \
- "--config \"%{l_prefix}/etc/kolab\" --bin \"%{l_prefix}/bin\" --sbin \"%{l_prefix}/sbin\" --etc \"%{l_prefix}/etc/kolab\"" \
- configure build install
- cd %{V_package}-%{V_source_tag}
- make install_sbin install_etc
- cd ..
- %{l_prefix}/bin/perl-openpkg -F perl-openpkg-files fixate cleanup
- %{l_rpmtool} files -v -ofiles -r$RPM_BUILD_ROOT %{l_files_std} `cat perl-openpkg-files`
-
-%files -f files
-
-%clean
- rm -rf $RPM_BUILD_ROOT
-
diff --git a/rc.kolabd.in b/rc.kolabd.in
index 279b4fe..1e0b8fa 100644
--- a/rc.kolabd.in
+++ b/rc.kolabd.in
@@ -5,22 +5,6 @@
%config
kolabd_enable="$openpkg_rc_def"
- kolabd_log_resmgr_logfile="@resmgr_logfile@"
- kolabd_log_resmgr_owner="@kolab_usr@"
- kolabd_log_resmgr_group="@kolab_grp@"
- kolabd_log_resmgr_prolog="true"
- kolabd_log_resmgr_epilog="true"
- kolabd_log_resmgr_numfiles="10"
- kolabd_log_resmgr_minsize="1M"
- kolabd_log_resmgr_complevel="9"
- kolabd_log_freebusy_logfile="@freebusy_logfile@"
- kolabd_log_freebusy_owner="@kolab_usr@"
- kolabd_log_freebusy_group="@kolab_grp@"
- kolabd_log_freebusy_prolog="true"
- kolabd_log_freebusy_epilog="true"
- kolabd_log_freebusy_numfiles="10"
- kolabd_log_freebusy_minsize="1M"
- kolabd_log_freebusy_complevel="9"
kolabd_log_fbview_logfile="@fbview_logfile@"
kolabd_log_fbview_owner="@kolab_usr@"
kolabd_log_fbview_group="@kolab_grp@"
@@ -72,22 +56,6 @@
rcService kolabd enable yes || exit 0
# rotate logfiles
shtool rotate -f \
- -n ${kolabd_log_resmgr_numfiles} -s ${kolabd_log_resmgr_minsize} -d \
- -z ${kolabd_log_resmgr_complevel} -m 640 \
- -o ${kolabd_log_resmgr_owner} \
- -g ${kolabd_log_resmgr_group} \
- -P "${kolabd_log_resmgr_prolog}" \
- -E "${kolabd_log_resmgr_epilog}" \
- "${kolabd_log_resmgr_logfile}"
- shtool rotate -f \
- -n ${kolabd_log_freebusy_numfiles} -s ${kolabd_log_freebusy_minsize} -d \
- -z ${kolabd_log_freebusy_complevel} -m 640 \
- -o ${kolabd_log_freebusy_owner} \
- -g ${kolabd_log_freebusy_group} \
- -P "${kolabd_log_freebusy_prolog}" \
- -E "${kolabd_log_freebusy_epilog}" \
- "${kolabd_log_freebusy_logfile}"
- shtool rotate -f \
-n ${kolabd_log_fbview_numfiles} -s ${kolabd_log_fbview_minsize} -d \
-z ${kolabd_log_fbview_complevel} -m 640 \
-o ${kolabd_log_fbview_owner} \
diff --git a/rfc2739.schema b/rfc2739.schema
deleted file mode 100644
index 668628e..0000000
--- a/rfc2739.schema
+++ /dev/null
@@ -1,134 +0,0 @@
-# (c) 2004 Martin Konold <martin.konold@erfrakon.de>
-
-# This schema is derived from RFC 2739 and may act as a substitute
-# when used with OpenLDAP as the original schema from RFC 2739
-# is syntactically not accepted by OpenLDAP 2.2.14
-#
-# Copyright (C) The Internet Society (2000). All Rights Reserved.
-#
-# This document and translations of it may be copied and furnished to
-# others, and derivative works that comment on or otherwise explain it
-# or assist in its implementation may be prepared, copied, published
-# and distributed, in whole or in part, without restriction of any
-# kind, provided that the above copyright notice and this paragraph are
-# included on all such copies and derivative works. However, this
-# document itself may not be modified in any way, such as by removing
-# the copyright notice or references to the Internet Society or other
-# Internet organizations, except as needed for the purpose of
-# developing Internet standards in which case the procedures for
-# copyrights defined in the Internet Standards process must be
-# followed, or as required to translate it into languages other than
-# English.
-#
-# The limited permissions granted above are perpetual and will not be
-# revoked by the Internet Society or its successors or assigns.
-#
-# This document and the information contained herein is provided on an
-# "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING
-# TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING
-# BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION
-# HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF
-# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
-
-# slapd.conf then looks like
-# include /kolab/etc/openldap/schema/core.schema
-# include /kolab/etc/openldap/schema/cosine.schema
-# include /kolab/local/etc/openldap/schema/inetorgperson.schema
-# include /kolab/local/etc/openldap/schema/rfc2739.schema
-# include /kolab/local/etc/openldap/schema/kolab2.schema
-
-#
-################################
-# rfc 2739 calendar attributes #
-################################
-
-# contains the URI to a snapshot of the user's entire
-# default calendar
-attributetype ( 1.2.840.113556.1.4.478
- NAME 'calCalURI'
- DESC 'RFC2739: URI of entire default calendar'
- EQUALITY caseIgnoreIA5Match
- SUBSTR caseIgnoreIA5SubstringsMatch
- SYNTAX 1.3.6.1.4.1.1466.115.121.1.26
- USAGE userApplications )
-
-# contains the URI to the user's default
-# busy time data
-attributetype (1.2.840.113556.1.4.479
- NAME 'calFBURL'
- DESC 'RFC2739: URI to the users default freebusy data'
- EQUALITY caseIgnoreIA5Match
- SUBSTR caseIgnoreIA5SubstringsMatch
- SYNTAX 1.3.6.1.4.1.1466.115.121.1.26
- USAGE userApplications )
-
-# contains a URI that can be used to communicate with
-# the user's calendar
-attributetype (1.2.840.113556.1.4.480
- NAME 'calCAPURI'
- DESC 'RFC2739: URI used to communicate with the users calendar'
- EQUALITY caseIgnoreIA5Match
- SUBSTR caseIgnoreIA5SubstringsMatch
- SYNTAX 1.3.6.1.4.1.1466.115.121.1.26
- USAGE userApplications )
-
-# contains a URI that points to the location to which event
-# requests should be sent for that user
-attributetype (1.2.840.113556.1.4.481
- NAME 'calCalAdrURI'
- DESC 'RFC2739: URI for event equests destination'
- EQUALITY caseIgnoreIA5Match
- SUBSTR caseIgnoreIA5SubstringsMatch
- SYNTAX 1.3.6.1.4.1.1466.115.121.1.26
- USAGE userApplications )
-
-# multi-valued property containing URIs to snapshots of
-# other calendars that the user may have
-attributetype (1.2.840.113556.1.4.482
- NAME 'calOtherCalURIs'
- DESC 'RFC2739: multi-value URI for snapshots of other calendars'
- EQUALITY caseIgnoreIA5Match
- SUBSTR caseIgnoreIA5SubstringsMatch
- SYNTAX 1.3.6.1.4.1.1466.115.121.1.26
- USAGE userApplications )
-
-# multi-valued property containing URIs to snapshots of other
-# free/busy data that the user may have
-attributetype (1.2.840.113556.1.4.483
- NAME 'calOtherFBURLs'
- DESC 'RFC2739: multi-value URI for other free/busy data'
- EQUALITY caseIgnoreIA5Match
- SUBSTR caseIgnoreIA5SubstringsMatch
- SYNTAX 1.3.6.1.4.1.1466.115.121.1.26
- USAGE userApplications )
-
-# multi-valued property containing URI to other calendars that
-# the user may have
-attributetype (1.2.840.113556.1.4.484
- NAME 'calOtherCAPURIs'
- DESC 'RFC2739: multi-value URI to other calendars'
- EQUALITY caseIgnoreIA5Match
- SUBSTR caseIgnoreIA5SubstringsMatch
- SYNTAX 1.3.6.1.4.1.1466.115.121.1.26
- USAGE userApplications )
-
-# URIs to other locations that a user may want
-# event requests sent to
-attributetype (1.2.840.113556.1.4.485
- NAME 'calOtherCalAdrURIs'
- DESC 'RFC2739: multi-value URI to other request destinations'
- EQUALITY caseIgnoreIA5Match
- SUBSTR caseIgnoreIA5SubstringsMatch
- SYNTAX 1.3.6.1.4.1.1466.115.121.1.26
- USAGE userApplications )
-
-objectclass (1.2.840.113556.1.5.87
- NAME 'calEntry'
- DESC 'RFC2739: Calendar Entry'
- SUP top AUXILIARY
- MAY ( calCalURI $
- calFBURL $
- calOtherCalURIs $
- calOtherFBURLs $
- calCAPURI $
- calOtherCAPURIs ) )
diff --git a/sbin/kolab_bootstrap.in b/sbin/kolab_bootstrap.in
index dc461cf..1c4532d 100644
--- a/sbin/kolab_bootstrap.in
+++ b/sbin/kolab_bootstrap.in
@@ -48,6 +48,12 @@ Project's homepage; see <http://www.gnu.org/licenses/gpl.html>.
use strict;
use vars qw($opt_b $opt_f);
+use Encode;
+use I18N::Langinfo qw(langinfo YESSTR CODESET);
+my $local_codeset = langinfo(CODESET());
+
+binmode(STDIN, ":encoding($local_codeset)");
+
use URI;
use Socket;
use IO::File;
@@ -65,13 +71,13 @@ use Time::Local;
use Time::localtime;
use Digest::SHA1;
use MIME::Base64;
-use Encode;
# Reload only kolab.globals into our configuration.
Kolab::reloadConfig("@CONFIG_DIR@/kolab.globals", 1);
my $kolab_config = "@CONFIG_DIR@/kolab.conf";
my %kolab_config;
+my @files;
##### Utility Functions
@@ -243,6 +249,7 @@ checkPort("pop3 server", 110);
checkPort("pop3s server", 995);
checkPort("smtp server", 25);
checkPort("smtps server", 465);
+checkPort("submission server", 587);
checkPort("amavis server", 10024);
checkPort("postfix reinjection from kolabfilter", 10025);
checkPort("postfix reinjection from amavis", 10026);
@@ -286,14 +293,28 @@ if ($?==0) {
system("mv \"@CONFIG_DIR@/ca\" $backupdir");
}
- system("cd \"@CONFIG_DIR@\"; mv *.pem $backupdir");
+ @files = <@CONFIG_DIR@/*.pem>;
+ system("cd \"@CONFIG_DIR@\"; mv *.pem $backupdir") if (@files);
if (-f $kolab_config) {
system("mv \"$kolab_config\" $backupdir");
}
- print "Cleaning up LDAP\n";
- system("cd \"$Kolab::config{'ldapserver_dir'}\"; rm -f *");
+ # Potentially dangerous code, be defensive. The "rm -f" command could remove
+ # the wrong files when the variable $Kolab::config{'ldapserver_dir'} is not
+ # assigned correctly. See kolab/issue4009. With the current implementation
+ # it is of course still possible to remove the wrong files, but this is a
+ # good trade off between defensive code and too much code.
+ if ((defined $Kolab::config{'ldapserver_dir'})
+ and ($Kolab::config{'ldapserver_dir'} ne "")
+ and ($Kolab::config{'ldapserver_dir'} ne "/")) {
+ print "Cleaning up LDAP\n";
+ system("rm -f \"$Kolab::config{'ldapserver_dir'}\"/*");
+ } else {
+ print "Error: variable ldapserver_dir incorrectly defined: ".
+ $Kolab::config{'ldapserver_dir'}."\n";
+ exit 1;
+ }
} else {
print "LDAP repository is empty - assuming fresh install\n";
@@ -309,7 +330,7 @@ my $fqdnhostname = $kolab_config{'fqdnhostname'} || die "could not read fqdnhost
my $is_master = $kolab_config{'is_master'} || "true";
my $bind_dn = $kolab_config{'bind_dn'} || die "could not read bind_dn from $kolab_config";
my $bind_pw = $kolab_config{'bind_pw'} || die "could not read bind_pw from $kolab_config";
-my $bind_pw_hash = $kolab_config{'bind_pw_hash'} || hashPassword2( $bind_pw );
+my $bind_pw_hash = $kolab_config{'bind_pw_hash'} || hashPassword( $bind_pw );
my $ldap_uri = $kolab_config{'ldap_uri'} || die "could not read ldap_uri from $kolab_config";
my $base_dn = $kolab_config{'base_dn'} || die "could not read base_dn from $kolab_config";
my $php_dn = $kolab_config{'php_dn'} || die "could not read php_dn from $kolab_config";
@@ -353,6 +374,8 @@ if ( $tmp2 eq "2" ) {
print "Proceeding with master server setup\n\n";
}
+$Kolab::config{"is_master"} = $is_master;
+
if ( $is_master eq "true" ) {
##### Master server setup
getopt('f');
@@ -385,9 +408,9 @@ if ( $is_master eq "true" ) {
if ($bind_pw =~ /\@\@\@/) {
$bind_pw = `$Kolab::config{'bindir'}/openssl rand -base64 12`;
chomp $bind_pw;
- $bind_pw = Encode::encode_utf8(getUserInput("Please choose a manager password", $bind_pw));
- print " bind_pw : " . Encode::decode_utf8($bind_pw) . "\n";
- $bind_pw_hash = hashPassword2($bind_pw);
+ $bind_pw = getUserInput("Please choose a manager password", $bind_pw);
+ print " bind_pw : $bind_pw\n";
+ $bind_pw_hash = hashPassword($bind_pw);
}
# Generate passwords
@@ -405,6 +428,7 @@ if ( $is_master eq "true" ) {
}
my $fd = IO::File->new($kolab_config, "w+") || die "could not open $kolab_config";
+ binmode($fd, ":encoding(UTF-8)");
print $fd "fqdnhostname : $fqdn\n";
print $fd "is_master : $is_master\n";
print $fd "base_dn : $base_dn\n";
@@ -424,13 +448,13 @@ if ( $is_master eq "true" ) {
chmod 0600, $kolab_config;
kolab_chown "$Kolab::config{'kolab_musr'}","$Kolab::config{'kolab_mgrp'}", $kolab_config;
print "IMPORTANT NOTE:\n";
- print "use login=manager and passwd=" . Encode::decode_utf8($bind_pw) . " when you log into the webinterface!\n\n";
+ print "use login=manager and passwd=$bind_pw when you log into the webinterface!\n\n";
}
# Set up slapd to replicate to slave server's kolabds
@kolabhosts = ( $fqdn );
while(1) {
- my $tmp = getUserInput("Enter fully qualified hostname of slave kolab server e.g. thishost.domain.tld [empty when done]");
+ my $tmp = getUserInput("Enter fully qualified hostname of slave kolab server e.g. thishost.domain.tld (empty when done)");
if( $tmp ) {
push @kolabhosts, $tmp;
#$cfg .= "replica host=$tmp\n";
@@ -471,14 +495,23 @@ if ( $is_master eq "true" ) {
# hence can't be used, these definitons are skipped when
# bootstrap_config = true
$Kolab::config{"bootstrap_config"} = 'true';
- Kolab::Conf::bootstrapConfig();
+ my $templatedir = $Kolab::config{"templatedir"};
+ Kolab::Conf::rebuildTemplates(
+ dorunonchange =>0,
+ templates => [
+ "$templatedir/slapd.access.template",
+ "$templatedir/slapd.conf.template",
+ "$templatedir/slapd.replicas.template"
+ ],
+ );
$Kolab::config{"bootstrap_config"} = 'false';
# now we must startup slapd
print "temporarily starting slapd\n";
$ldap_uri = "ldap://127.0.0.1:389/";
# ensure that the database has correct permissions
- system("chown $Kolab::config{'ldapserver_rusr'}:$Kolab::config{'ldapserver_grp'} $Kolab::config{'ldapserver_dir'}/*");
+ @files = <$Kolab::config{'ldapserver_dir'}/*>;
+ system("chown $Kolab::config{'ldapserver_rusr'}:$Kolab::config{'ldapserver_grp'} $Kolab::config{'ldapserver_dir'}/*") if (@files);
(system("$Kolab::config{'libexecdir'}/openldap/slapd -h ldap://127.0.0.1:389/ -f $Kolab::config{'ldapserver_confdir'}/slapd.conf -u $Kolab::config{'ldapserver_rusr'} -g $Kolab::config{'ldapserver_grp'}") == 0 ) || die( "Could not start temporary slapd: $!" );
print ("Waiting for OpenLDAP to start\n");
sleep 10;
@@ -589,7 +622,7 @@ if ( $is_master eq "true" ) {
# create php read-only user
$ldapobject = newOrExistingLDAPEntry( $ldap, "cn=nobody,cn=internal,$base_dn" );
$ldapobject->replace('cn' => 'nobody', 'sn' => 'n/a n/a', 'uid' => 'nobody',
- 'userPassword' => hashPassword2($php_pw),
+ 'userPassword' => hashPassword($php_pw),
'objectclass' => ['top','inetorgperson','kolabinetorgperson']);
$ldapobject->dn("cn=nobody,cn=internal,$base_dn");
$mesg = $ldapobject->update($ldap);
@@ -599,7 +632,7 @@ if ( $is_master eq "true" ) {
# create calendar user
$ldapobject = newOrExistingLDAPEntry( $ldap, "cn=$calendar_id@" . $domain . ",cn=internal,$base_dn" );
$ldapobject->replace('cn' => $calendar_id . '@' . $domain, 'sn' => 'n/a n/a', 'uid' => $calendar_id . '@' . $domain,
- 'userPassword' => hashPassword2($calendar_pw),
+ 'userPassword' => hashPassword($calendar_pw),
'objectclass' => ['top','inetorgperson','kolabinetorgperson']);
$ldapobject->dn("cn=$calendar_id@" . $domain . ",cn=internal,$base_dn");
$mesg = $ldapobject->update($ldap);
@@ -645,7 +678,7 @@ if ( $is_master eq "true" ) {
if ($ldap_uri =~ /127\.0\.0\.1/ || $ldap_uri =~ /localhost/) {
print "\nkill temporary slapd\n\n";
- system("$Kolab::config{'KOLABRC'} rc $Kolab::config{'LDAPD'} stop");
+ system("$Kolab::config{'KOLABRC'} rc openldap stop");
sleep 1; # actually race should be impossible
system("killall -9 slapd >/dev/null 2>&1");
}
@@ -698,7 +731,7 @@ EOS
##### Slave server setup
print "stop running slapd (if any)\n";
- kolab_system("$Kolab::config{'KOLABRC'} rc $Kolab::config{'LDAPD'} stop");
+ kolab_system("$Kolab::config{'KOLABRC'} rc openldap stop");
# Make sure that no rogue demons are running
tryConnect( '127.0.0.1', 389 ) && die "A process is already listening to port 389 (ldap)\n"
@@ -725,8 +758,8 @@ EOS
print "proceeding with base DN $base_dn\n";
$bind_dn = "cn=manager,cn=internal,$base_dn";
- $bind_pw = Encode::encode_utf8(getUserInput("Manager password"));
- $bind_pw_hash = hashPassword2($bind_pw);
+ $bind_pw = getUserInput("Manager password");
+ $bind_pw_hash = hashPassword($bind_pw);
my $confname = "$Kolab::config{'sasl_smtpconffile'}";
copy("@CONFIG_DIR@/templates/smtpd.conf.template", $confname) || die "could not write to $confname";
@@ -797,6 +830,7 @@ EOS
(print "Error reading calendar password" && goto SLAVESTART) unless( $calendar_pw );
my $fd = IO::File->new($kolab_config, "w+") || die "could not open $kolab_config";
+ binmode($fd, ":encoding(UTF-8)");
print $fd "fqdnhostname : $fqdn\n";
print $fd "is_master : $is_master\n";
print $fd "base_dn : $base_dn\n";
@@ -816,15 +850,15 @@ EOS
chmod 0600, $kolab_config;
kolab_chown "$Kolab::config{'kolab_musr'}","$Kolab::config{'kolab_mgrp'}",$kolab_config;
- if ($kolab_config{'directory_mode'} ne "syncrepl" ) {
+ if ($Kolab::config{'directory_mode'} ne "syncrepl" ) {
print << 'EOS';
Now the master server needs to be stopped briefly while the contents of the LDAP database
is copied over to this slave. Please make sure that this slave is entered into the list
of kolabhosts on the master before proceeding.
EOS
- kolab_system("ssh -C $master_host \'$Kolab::config{'KOLABRC'} rc $Kolab::config{'LDAPD'} stop".
+ kolab_system("ssh -C $master_host \'$Kolab::config{'KOLABRC'} rc openldap stop".
" && $Kolab::config{'TAR'} -C $Kolab::config{'ldapserver_statedir'} -pcf - openldap-data".
- " && $Kolab::config{'KOLABRC'} rc $Kolab::config{'LDAPD'} start\'".
+ " && $Kolab::config{'KOLABRC'} rc openldap start\'".
" | $Kolab::config{'TAR'} -C $Kolab::config{'ldapserver_statedir'} -pxf -");
}
@@ -895,6 +929,7 @@ EOS
kolab_system("$Kolab::config{'sbindir'}/kolabconf -n");
$fd = IO::File->new($kolab_config, "w+") || die "could not open $kolab_config";
+ binmode($fd, ":encoding(UTF-8)");
print $fd "fqdnhostname : $fqdn\n";
print $fd "is_master : $is_master\n";
print $fd "base_dn : $base_dn\n";
@@ -917,5 +952,5 @@ EOS
#system("@CONFIG_DIR@/kolab_sslcert.sh $fqdn");
print "kolab is now ready to run!\n";
print "please run '$Kolab::config{'KOLABRC'} rc all start'\n";
-print ("Use login=manager and passwd=" . Encode::decode_utf8($bind_pw) . " when you log into\n");
+print ("Use login=manager and passwd=$bind_pw when you log into\n");
print ("the webinterface https://$fqdn$Kolab::config{'kolab_wui'} !\n");
diff --git a/sbin/kolab_ca.sh.in b/sbin/kolab_ca.sh.in
index 76f0147..becf29a 100644
--- a/sbin/kolab_ca.sh.in
+++ b/sbin/kolab_ca.sh.in
@@ -21,6 +21,7 @@ CACERT=cacert.pem
# Make sure not to create world readable files
umask 0077
+OLD_DIR=$PWD
cd @sysconfdir@/kolab
# Config
@@ -147,11 +148,25 @@ function readinput() {
fi
}
-appname=$0
+function usage() {
+ echo "Usage:"
+ echo " $appname -newca hostname [organization organizational-unit]"
+ echo " $appname -newreq hostname [keyfile] [certfile]"
+ echo " $appname -sign [filename]"
+ echo " $appname -verify [filename]"
+ echo
+ echo " -h|--help: this help text"
+ exit 0
+}
+
+appname=$(basename $0)
+
+[[ $# == 0 ]] && usage
+
while [ $# -gt 0 ]; do
case $1 in
-h|-help|--help)
- echo "Usage: $appname {-newca hostname [organization organizational-unit]|-newreq hostname [keyfile] [certfile]|-sign [filename]|-verify [filename]|-help}"
+ usage
;;
-newca)
if [ ! -f ${CATOP}/serial ]; then
@@ -274,7 +289,7 @@ esac
shift
done
-cd -
+cd $OLD_DIR
exit $RET
diff --git a/sbin/kolab_imappartitions.in b/sbin/kolab_imappartitions.in
new file mode 100644
index 0000000..f594fe7
--- /dev/null
+++ b/sbin/kolab_imappartitions.in
@@ -0,0 +1,58 @@
+#!perl
+
+=head1 NAME
+
+kolab_imappartitions - List all imap partition
+
+=head1 SYNOPSIS
+
+B<kolab_imappartitions>
+
+=head1 COPYRIGHT AND AUTHORS
+
+Copyright (c) 2009 Intevation GmbH
+
+Written by Thomas Arendsen Hein <thomas@intevation.de>
+
+=head1 LICENSE
+
+This program is free software; you can redistribute it and/or
+modify it under the terms of the GNU General Public License as
+published by the Free Software Foundation; either version 2, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+General Public License for more details.
+
+You can view the GNU General Public License, online, at the GNU
+Project's homepage; see
+<http://www.gnu.org/licenses/old-licenses/gpl-2.0.html>.
+
+=cut
+
+use strict;
+use Kolab;
+use IO::File;
+
+Kolab::reloadConfig("@CONFIG_DIR@/kolab.globals");
+
+my $imap_conf = "$Kolab::config{'imap_confdir'}/imapd.conf";
+
+my $file;
+if (!($file = IO::File->new($imap_conf, 'r'))) {
+ Kolab::log('T', "Unable to open IMAP configuration file `$imap_conf': $!", KOLAB_ERROR);
+ # Error, use default partition
+ print "\n";
+ exit(1);
+}
+
+while (<$file>) {
+ if (/^\s*partition-(\w+):/) {
+ print "$1\n";
+ }
+}
+$file->close;
+
+exit(0);