diff --git a/install/lib/installer_base.lib.php b/install/lib/installer_base.lib.php index b78f8f4db2afe65297f6529ff5e2cd48127d3ce7..894dafeba6474c5daf1b9f18358ecb5f88052484 100644 --- a/install/lib/installer_base.lib.php +++ b/install/lib/installer_base.lib.php @@ -930,6 +930,19 @@ class installer_base { public function configure_dovecot() { global $conf; + + $virtual_transport = 'dovecot'; + + // check if virtual_transport must be changed + if ($this->is_update) { + $tmp = $inst->db->queryOneRecord("SELECT * FROM ".$conf["mysql"]["database"].".server WHERE server_id = ".$conf['server_id']); + $ini_array = ini_to_array(stripslashes($tmp['config'])); + // ini_array needs not to be checked, because already done in update.php -> updateDbAndIni() + + if(isset($ini_array['mail']['mailbox_virtual_uidgid_maps']) && $ini_array['mail']['mailbox_virtual_uidgid_maps'] == 'y') { + $virtual_transport = 'lmtp:unix:private/dovecot-lmtp'; + } + } $config_dir = $conf['dovecot']['config_dir']; @@ -954,7 +967,7 @@ class installer_base { // Adding the amavisd commands to the postfix configuration $postconf_commands = array ( 'dovecot_destination_recipient_limit = 1', - 'virtual_transport = dovecot', + 'virtual_transport = '.$virtual_transport, 'smtpd_sasl_type = dovecot', 'smtpd_sasl_path = private/auth' );