diff --git a/install/dist/lib/debian60.lib.php b/install/dist/lib/debian60.lib.php index cd3b46e544b485a2cfa8ef830109c6ef6f9698c3..faac52b2273cb6ca849aed61c0338405fa9d1e69 100644 --- a/install/dist/lib/debian60.lib.php +++ b/install/dist/lib/debian60.lib.php @@ -33,11 +33,16 @@ class installer extends installer_base { public function configure_dovecot() { global $conf; - + $virtual_transport = 'dovecot'; $configure_lmtp = false; - + + // use lmtp if installed + if($configure_lmtp = is_file('/usr/lib/dovecot/lmtp')) { + $virtual_transport = 'lmtp:unix:private/dovecot-lmtp'; + } + // check if virtual_transport must be changed if ($this->is_update) { $tmp = $this->db->queryOneRecord("SELECT * FROM ?? WHERE server_id = ?", $conf["mysql"]["database"] . ".server", $conf['server_id']); @@ -155,20 +160,20 @@ class installer extends installer_base { } } - //* dovecot-managesieved - if($configure_managesieve = is_file('/usr/lib/dovecot/managesieve')) { - //remove #mangesieve+ comment - $content = file_get_contents($config_dir.'/'.$configfile); - $content = str_replace('#mangesieve+ ','',$content); - file_put_contents($config_dir.'/'.$configfile,$content); - unset($content); - } + $dovecot_protocols = 'imap pop3'; //* dovecot-lmtpd if($configure_lmtp) { - replaceLine($config_dir.'/'.$configfile, 'protocols = imap pop3', 'protocols = imap pop3 lmtp', 1, 0); + $dovecot_protocols .= ' lmtp' + } + + //* dovecot-managesieved + if(is_file('/usr/lib/dovecot/managesieve')) { + $dovecot_protocols .= ' sieve' } + replaceLine($config_dir.'/'.$configfile, 'protocols = imap pop3', "protocols = $dovecot_protocols", 1, 0); + //* dovecot-sql.conf $configfile = 'dovecot-sql.conf'; if(is_file($config_dir.'/'.$configfile)){ diff --git a/install/lib/installer_base.lib.php b/install/lib/installer_base.lib.php index 73995498d38bbd0b8f27468070550500e6d84704..ee9d1a6d8d74999bc6e6736d541ab95fcb99cb98 100644 --- a/install/lib/installer_base.lib.php +++ b/install/lib/installer_base.lib.php @@ -1233,11 +1233,16 @@ class installer_base { public function configure_dovecot() { global $conf; - + $virtual_transport = 'dovecot'; $configure_lmtp = false; - + + // use lmtp if installed + if($configure_lmtp = is_file('/usr/lib/dovecot/lmtp')) { + $virtual_transport = 'lmtp:unix:private/dovecot-lmtp'; + } + // check if virtual_transport must be changed if ($this->is_update) { $tmp = $this->db->queryOneRecord("SELECT * FROM ?? WHERE server_id = ?", $conf["mysql"]["database"] . ".server", $conf['server_id']); @@ -1358,20 +1363,20 @@ class installer_base { } } - //* dovecot-managesieved - if($configure_managesieve = is_file('/usr/lib/dovecot/managesieve')) { - //remove #mangesieve+ comment - $content = file_get_contents($config_dir.'/'.$configfile); - $content = str_replace('#mangesieve+ ','',$content); - file_put_contents($config_dir.'/'.$configfile,$content); - unset($content); - } + $dovecot_protocols = 'imap pop3'; //* dovecot-lmtpd if($configure_lmtp) { - replaceLine($config_dir.'/'.$configfile, 'protocols = imap pop3', 'protocols = imap pop3 lmtp', 1, 0); + $dovecot_protocols .= ' lmtp' + } + + //* dovecot-managesieved + if(is_file('/usr/lib/dovecot/managesieve')) { + $dovecot_protocols .= ' sieve' } + replaceLine($config_dir.'/'.$configfile, 'protocols = imap pop3', "protocols = $dovecot_protocols", 1, 0); + //* dovecot-sql.conf $configfile = 'dovecot-sql.conf'; if(is_file($config_dir.'/'.$configfile)) { diff --git a/install/tpl/debian6_dovecot2.conf.master b/install/tpl/debian6_dovecot2.conf.master index c21ab94ad9b195eb9be4084550e1f48427a32662..95acb721e087ae623cf6fee29a14f6eb4da217fa 100644 --- a/install/tpl/debian6_dovecot2.conf.master +++ b/install/tpl/debian6_dovecot2.conf.master @@ -120,4 +120,3 @@ namespace inbox { } } -#managesieve+ protocols = $protocols sieve diff --git a/install/tpl/debian_dovecot2.conf.master b/install/tpl/debian_dovecot2.conf.master index 8a204e777634a9e75b260ef42c2a79ca22a70da0..dbacf872f57e8ccbe8c6bdc348a3a281c07c6033 100644 --- a/install/tpl/debian_dovecot2.conf.master +++ b/install/tpl/debian_dovecot2.conf.master @@ -97,4 +97,3 @@ plugin { quota_status_overquota = "552 5.2.2 Mailbox is full" } -#managesieve+ protocols = $protocols sieve diff --git a/install/tpl/fedora_dovecot2.conf.master b/install/tpl/fedora_dovecot2.conf.master index 207983f86e3561cb10e3142fec589060492d0c30..08ac94a903398c57fc1c0d2c89a8935971797446 100644 --- a/install/tpl/fedora_dovecot2.conf.master +++ b/install/tpl/fedora_dovecot2.conf.master @@ -115,4 +115,3 @@ namespace inbox { } } -#managesieve+ protocols = $protocols sieve diff --git a/install/tpl/opensuse_dovecot2.conf.master b/install/tpl/opensuse_dovecot2.conf.master index 42230ed300e267841001c593b4b8c4ffbb35e32b..6e040b97459e92817497d2adc1b4a3c3e8b70ef6 100644 --- a/install/tpl/opensuse_dovecot2.conf.master +++ b/install/tpl/opensuse_dovecot2.conf.master @@ -114,4 +114,3 @@ namespace inbox { } } -#managesieve+ protocols = $protocols sieve