summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authoralecpl <alec@alec.pl>2011-10-06 08:35:45 +0000
committeralecpl <alec@alec.pl>2011-10-06 08:35:45 +0000
commit3be904be26a2aaf1240d61835ae0e99f4b7bc52b (patch)
tree339ef86d76e9986196443fb99e65c8b495ddf1e7
parent373b112f349e5587f0a54c6086fb6654109d3013 (diff)
- Fixed imap test to non-default port when using ssl (#1488118)
-rw-r--r--installer/test.php20
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);