Skip to content

Commit 1fc360d

Browse files
author
Till Brehm
committed
Added better dovecot version detection in Debian and Ubuntu installer.
1 parent 4ca1f82 commit 1fc360d

File tree

2 files changed

+12
-8
lines changed

2 files changed

+12
-8
lines changed

install/dist/lib/debian60.lib.php

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -79,26 +79,29 @@ public function configure_dovecot()
7979

8080
//* Get the dovecot version
8181
exec('dovecot --version', $tmp);
82-
$parts = explode('.', trim($tmp[0]));
83-
$dovecot_version = $parts[0];
82+
$dovecot_version = $tmp[0];
8483
unset($tmp);
85-
unset($parts);
8684

8785
//* Copy dovecot configuration file
88-
if($dovecot_version == 2) {
86+
if(version_compare($dovecot_version,2) >= 0) {
8987
if(is_file($conf['ispconfig_install_dir'].'/server/conf-custom/install/debian6_dovecot2.conf.master')) {
9088
copy($conf['ispconfig_install_dir'].'/server/conf-custom/install/debian6_dovecot2.conf.master', $config_dir.'/'.$configfile);
9189
} else {
9290
copy('tpl/debian6_dovecot2.conf.master', $config_dir.'/'.$configfile);
9391
}
9492
replaceLine($config_dir.'/'.$configfile, 'postmaster_address = postmaster@example.com', 'postmaster_address = postmaster@'.$conf['hostname'], 1, 0);
93+
if(version_compare($dovecot_version,2.1) < 0) {
94+
removeLine($config_dir.'/'.$configfile, 'ssl_protocols =');
95+
}
9596
} else {
9697
if(is_file($conf['ispconfig_install_dir'].'/server/conf-custom/install/debian6_dovecot.conf.master')) {
9798
copy($conf['ispconfig_install_dir'].'/server/conf-custom/install/debian6_dovecot.conf.master', $config_dir.'/'.$configfile);
9899
} else {
99100
copy('tpl/debian6_dovecot.conf.master', $config_dir.'/'.$configfile);
100101
}
101102
}
103+
104+
102105

103106
//* dovecot-sql.conf
104107
$configfile = 'dovecot-sql.conf';

install/lib/installer_base.lib.php

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -983,19 +983,20 @@ public function configure_dovecot() {
983983

984984
//* Get the dovecot version
985985
exec('dovecot --version', $tmp);
986-
$parts = explode('.', trim($tmp[0]));
987-
$dovecot_version = $parts[0];
986+
$dovecot_version = $tmp[0];
988987
unset($tmp);
989-
unset($parts);
990988

991989
//* Copy dovecot configuration file
992-
if($dovecot_version == 2) {
990+
if(version_compare($dovecot_version,2) >= 0) {
993991
if(is_file($conf['ispconfig_install_dir'].'/server/conf-custom/install/debian_dovecot2.conf.master')) {
994992
copy($conf['ispconfig_install_dir'].'/server/conf-custom/install/debian_dovecot2.conf.master', $config_dir.'/'.$configfile);
995993
} else {
996994
copy('tpl/debian_dovecot2.conf.master', $config_dir.'/'.$configfile);
997995
}
998996
replaceLine($config_dir.'/'.$configfile, 'postmaster_address = postmaster@example.com', 'postmaster_address = postmaster@'.$conf['hostname'], 1, 0);
997+
if(version_compare($dovecot_version,2.1) < 0) {
998+
removeLine($config_dir.'/'.$configfile, 'ssl_protocols =');
999+
}
9991000
} else {
10001001
if(is_file($conf['ispconfig_install_dir'].'/server/conf-custom/install/debian_dovecot.conf.master')) {
10011002
copy($conf['ispconfig_install_dir'].'/server/conf-custom/install/debian_dovecot.conf.master', $config_dir.'/'.$configfile);

0 commit comments

Comments
 (0)