From 6cab894bc56928c15a67b67f93be6c856aac1c3a Mon Sep 17 00:00:00 2001
From: tbrehm <t.brehm@ispconfig.org>
Date: Thu, 26 Jan 2012 09:10:36 -0500
Subject: [PATCH] - Added support for dovecot 2
---
install/lib/installer_base.lib.php | 17 +++
install/tpl/fedora_dovecot2.conf.master | 42 ++++++++++
install/dist/lib/fedora.lib.php | 17 +++
install/tpl/debian_dovecot2.conf.master | 42 ++++++++++
install/tpl/opensuse_dovecot2.conf.master | 42 ++++++++++
install/dist/lib/opensuse.lib.php | 17 +++
install/tpl/debian6_dovecot2.conf.master | 42 ++++++++++
install/dist/lib/debian60.lib.php | 15 +++
8 files changed, 227 insertions(+), 7 deletions(-)
diff --git a/install/dist/lib/debian60.lib.php b/install/dist/lib/debian60.lib.php
index 4512f40..88ba5d2 100644
--- a/install/dist/lib/debian60.lib.php
+++ b/install/dist/lib/debian60.lib.php
@@ -76,7 +76,20 @@
if(is_file($config_dir.'/'.$configfile)){
copy($config_dir.'/'.$configfile, $config_dir.'/'.$configfile.'~');
}
- copy('tpl/debian6_dovecot.conf.master',$config_dir.'/'.$configfile);
+
+ //* Get the dovecot version
+ exec('dovecot --version',$tmp);
+ $parts = explode('.',trim($tmp[0]));
+ $dovecot_version = $parts[0];
+ unset($tmp);
+ unset($parts);
+
+ //* Copy dovecot configuration file
+ if($dovecot_version == 2) {
+ copy('tpl/debian6_dovecot2.conf.master',$config_dir.'/'.$configfile);
+ } else {
+ copy('tpl/debian6_dovecot.conf.master',$config_dir.'/'.$configfile);
+ }
//* dovecot-sql.conf
$configfile = 'dovecot-sql.conf';
diff --git a/install/dist/lib/fedora.lib.php b/install/dist/lib/fedora.lib.php
index a3da18a..3b0d6cd 100644
--- a/install/dist/lib/fedora.lib.php
+++ b/install/dist/lib/fedora.lib.php
@@ -308,12 +308,25 @@
caselog($command." &> /dev/null", __FILE__, __LINE__, "EXECUTED: $command", "Failed to execute the command $command");
}
- //* copy dovecot.conf
+ //* backup dovecot.conf
$configfile = 'dovecot.conf';
if(is_file("$config_dir/$configfile")){
copy("$config_dir/$configfile", "$config_dir/$configfile~");
}
- copy('tpl/fedora_dovecot.conf.master',"$config_dir/$configfile");
+
+ //* Get the dovecot version
+ exec('dovecot --version',$tmp);
+ $parts = explode('.',trim($tmp[0]));
+ $dovecot_version = $parts[0];
+ unset($tmp);
+ unset($parts);
+
+ //* Copy dovecot configuration file
+ if($dovecot_version == 2) {
+ copy('tpl/fedora_dovecot2.conf.master',$config_dir.'/'.$configfile);
+ } else {
+ copy('tpl/fedora_dovecot.conf.master',$config_dir.'/'.$configfile);
+ }
//* dovecot-sql.conf
$configfile = 'dovecot-sql.conf';
diff --git a/install/dist/lib/opensuse.lib.php b/install/dist/lib/opensuse.lib.php
index 7b51cac..db435ee 100644
--- a/install/dist/lib/opensuse.lib.php
+++ b/install/dist/lib/opensuse.lib.php
@@ -349,12 +349,25 @@
caselog($command." &> /dev/null", __FILE__, __LINE__, "EXECUTED: $command", "Failed to execute the command $command");
}
- //* copy dovecot.conf
+ //* backup dovecot.conf
$configfile = 'dovecot.conf';
if(is_file("$config_dir/$configfile")){
copy("$config_dir/$configfile", "$config_dir/$configfile~");
}
- copy('tpl/opensuse_dovecot.conf.master',"$config_dir/$configfile");
+
+ //* Get the dovecot version
+ exec('dovecot --version',$tmp);
+ $parts = explode('.',trim($tmp[0]));
+ $dovecot_version = $parts[0];
+ unset($tmp);
+ unset($parts);
+
+ //* Copy dovecot configuration file
+ if($dovecot_version == 2) {
+ copy('tpl/opensuse_dovecot2.conf.master',$config_dir.'/'.$configfile);
+ } else {
+ copy('tpl/opensuse_dovecot.conf.master',$config_dir.'/'.$configfile);
+ }
//* dovecot-sql.conf
$configfile = 'dovecot-sql.conf';
diff --git a/install/lib/installer_base.lib.php b/install/lib/installer_base.lib.php
index 92c6ad0..0cc24d1 100644
--- a/install/lib/installer_base.lib.php
+++ b/install/lib/installer_base.lib.php
@@ -880,12 +880,25 @@
caselog($command." &> /dev/null", __FILE__, __LINE__, "EXECUTED: $command", "Failed to execute the command $command");
}
- //* copy dovecot.conf
+ //* backup dovecot.conf
$configfile = 'dovecot.conf';
if(is_file($config_dir.'/'.$configfile)) {
copy($config_dir.'/'.$configfile, $config_dir.'/'.$configfile.'~');
}
- copy('tpl/debian_dovecot.conf.master',$config_dir.'/'.$configfile);
+
+ //* Get the dovecot version
+ exec('dovecot --version',$tmp);
+ $parts = explode('.',trim($tmp[0]));
+ $dovecot_version = $parts[0];
+ unset($tmp);
+ unset($parts);
+
+ //* Copy dovecot configuration file
+ if($dovecot_version == 2) {
+ copy('tpl/debian_dovecot2.conf.master',$config_dir.'/'.$configfile);
+ } else {
+ copy('tpl/debian_dovecot.conf.master',$config_dir.'/'.$configfile);
+ }
//* dovecot-sql.conf
$configfile = 'dovecot-sql.conf';
diff --git a/install/tpl/debian6_dovecot2.conf.master b/install/tpl/debian6_dovecot2.conf.master
new file mode 100644
index 0000000..bf37bd5
--- /dev/null
+++ b/install/tpl/debian6_dovecot2.conf.master
@@ -0,0 +1,42 @@
+protocols = imap pop3
+auth_mechanisms = plain login
+disable_plaintext_auth = no
+log_timestamp = "%Y-%m-%d %H:%M:%S "
+mail_privileged_group = vmail
+ssl_cert = </etc/postfix/smtpd.cert
+ssl_key = </etc/postfix/smtpd.key
+passdb {
+ args = /etc/dovecot/dovecot-sql.conf
+ driver = sql
+}
+userdb {
+ args = /etc/dovecot/dovecot-sql.conf
+ driver = sql
+}
+plugin {
+ quota = dict:user::file:/var/vmail/%d/%n/.quotausage
+ sieve=/var/vmail/%d/%n/.sieve
+}
+service auth {
+ unix_listener /var/spool/postfix/private/auth {
+ group = postfix
+ mode = 0660
+ user = postfix
+ }
+ unix_listener auth-userdb {
+ group = vmail
+ mode = 0600
+ user = vmail
+ }
+ user = root
+}
+protocol imap {
+ mail_plugins = quota imap_quota
+}
+protocol pop3 {
+ pop3_uidl_format = %08Xu%08Xv
+ mail_plugins = quota
+}
+protocol lda {
+ mail_plugins = sieve quota
+}
\ No newline at end of file
diff --git a/install/tpl/debian_dovecot2.conf.master b/install/tpl/debian_dovecot2.conf.master
new file mode 100644
index 0000000..bf37bd5
--- /dev/null
+++ b/install/tpl/debian_dovecot2.conf.master
@@ -0,0 +1,42 @@
+protocols = imap pop3
+auth_mechanisms = plain login
+disable_plaintext_auth = no
+log_timestamp = "%Y-%m-%d %H:%M:%S "
+mail_privileged_group = vmail
+ssl_cert = </etc/postfix/smtpd.cert
+ssl_key = </etc/postfix/smtpd.key
+passdb {
+ args = /etc/dovecot/dovecot-sql.conf
+ driver = sql
+}
+userdb {
+ args = /etc/dovecot/dovecot-sql.conf
+ driver = sql
+}
+plugin {
+ quota = dict:user::file:/var/vmail/%d/%n/.quotausage
+ sieve=/var/vmail/%d/%n/.sieve
+}
+service auth {
+ unix_listener /var/spool/postfix/private/auth {
+ group = postfix
+ mode = 0660
+ user = postfix
+ }
+ unix_listener auth-userdb {
+ group = vmail
+ mode = 0600
+ user = vmail
+ }
+ user = root
+}
+protocol imap {
+ mail_plugins = quota imap_quota
+}
+protocol pop3 {
+ pop3_uidl_format = %08Xu%08Xv
+ mail_plugins = quota
+}
+protocol lda {
+ mail_plugins = sieve quota
+}
\ No newline at end of file
diff --git a/install/tpl/fedora_dovecot2.conf.master b/install/tpl/fedora_dovecot2.conf.master
new file mode 100644
index 0000000..b45ef3d
--- /dev/null
+++ b/install/tpl/fedora_dovecot2.conf.master
@@ -0,0 +1,42 @@
+protocols = imap pop3
+auth_mechanisms = plain login
+disable_plaintext_auth = no
+log_timestamp = "%Y-%m-%d %H:%M:%S "
+mail_privileged_group = vmail
+ssl_cert = </etc/postfix/smtpd.cert
+ssl_key = </etc/postfix/smtpd.key
+passdb {
+ args = /etc/dovecot-sql.conf
+ driver = sql
+}
+userdb {
+ args = /etc/dovecot-sql.conf
+ driver = sql
+}
+plugin {
+ quota = dict:user::file:/var/vmail/%d/%n/.quotausage
+ sieve=/var/vmail/%d/%n/.sieve
+}
+service auth {
+ unix_listener /var/spool/postfix/private/auth {
+ group = postfix
+ mode = 0660
+ user = postfix
+ }
+ unix_listener auth-userdb {
+ group = vmail
+ mode = 0600
+ user = vmail
+ }
+ user = root
+}
+protocol imap {
+ mail_plugins = quota imap_quota
+}
+protocol pop3 {
+ pop3_uidl_format = %08Xu%08Xv
+ mail_plugins = quota
+}
+protocol lda {
+ mail_plugins = sieve quota
+}
\ No newline at end of file
diff --git a/install/tpl/opensuse_dovecot2.conf.master b/install/tpl/opensuse_dovecot2.conf.master
new file mode 100644
index 0000000..bf37bd5
--- /dev/null
+++ b/install/tpl/opensuse_dovecot2.conf.master
@@ -0,0 +1,42 @@
+protocols = imap pop3
+auth_mechanisms = plain login
+disable_plaintext_auth = no
+log_timestamp = "%Y-%m-%d %H:%M:%S "
+mail_privileged_group = vmail
+ssl_cert = </etc/postfix/smtpd.cert
+ssl_key = </etc/postfix/smtpd.key
+passdb {
+ args = /etc/dovecot/dovecot-sql.conf
+ driver = sql
+}
+userdb {
+ args = /etc/dovecot/dovecot-sql.conf
+ driver = sql
+}
+plugin {
+ quota = dict:user::file:/var/vmail/%d/%n/.quotausage
+ sieve=/var/vmail/%d/%n/.sieve
+}
+service auth {
+ unix_listener /var/spool/postfix/private/auth {
+ group = postfix
+ mode = 0660
+ user = postfix
+ }
+ unix_listener auth-userdb {
+ group = vmail
+ mode = 0600
+ user = vmail
+ }
+ user = root
+}
+protocol imap {
+ mail_plugins = quota imap_quota
+}
+protocol pop3 {
+ pop3_uidl_format = %08Xu%08Xv
+ mail_plugins = quota
+}
+protocol lda {
+ mail_plugins = sieve quota
+}
\ No newline at end of file
--
Gitblit v1.9.1