diff options
author | alecpl <alec@alec.pl> | 2011-10-06 08:35:45 +0000 |
---|---|---|
committer | alecpl <alec@alec.pl> | 2011-10-06 08:35:45 +0000 |
commit | 3be904be26a2aaf1240d61835ae0e99f4b7bc52b (patch) | |
tree | 339ef86d76e9986196443fb99e65c8b495ddf1e7 /installer | |
parent | 373b112f349e5587f0a54c6086fb6654109d3013 (diff) |
- Fixed imap test to non-default port when using ssl (#1488118)
Diffstat (limited to 'installer')
-rw-r--r-- | installer/test.php | 20 |
1 files changed, 11 insertions, 9 deletions
diff --git a/installer/test.php b/installer/test.php index 02a1cebe2..2dd330531 100644 --- a/installer/test.php +++ b/installer/test.php @@ -382,18 +382,20 @@ $pass_field = new html_passwordfield(array('name' => '_pass', 'id' => 'imappass' <?php if (isset($_POST['imaptest']) && !empty($_POST['_host']) && !empty($_POST['_user'])) { - + echo '<p>Connecting to ' . Q($_POST['_host']) . '...<br />'; - - $a_host = parse_url($_POST['_host']); + + $imap_host = trim($_POST['_host']); + $imap_port = $RCI->getprop('default_port'); + $a_host = parse_url($imap_host); + if ($a_host['host']) { $imap_host = $a_host['host']; - $imap_ssl = (isset($a_host['scheme']) && in_array($a_host['scheme'], array('ssl','imaps','tls'))) ? $a_host['scheme'] : null; - $imap_port = isset($a_host['port']) ? $a_host['port'] : ($imap_ssl ? 993 : $CONFIG['default_port']); - } - else { - $imap_host = trim($_POST['_host']); - $imap_port = $RCI->getprop('default_port'); + $imap_ssl = (isset($a_host['scheme']) && in_array($a_host['scheme'], array('ssl','imaps','tls'))) ? $a_host['scheme'] : null; + if (isset($a_host['port'])) + $imap_port = $a_host['port']; + else if ($imap_ssl && $imap_ssl != 'tls' && (!$imap_port || $imap_port == 143)) + $imap_port = 993; } $imap_host = idn_to_ascii($imap_host); |