diff options
author | Aleksander Machniak <alec@alec.pl> | 2012-09-21 20:57:53 +0200 |
---|---|---|
committer | Aleksander Machniak <alec@alec.pl> | 2012-09-21 20:57:53 +0200 |
commit | e695162ef76054050e4181e4d28f28cf1981386b (patch) | |
tree | ecc3835d378d71e1f5d10bd5c296ecb35aab247c | |
parent | 97313ac258914e4c26aefec912e8677d8436175e (diff) |
Change default port to 4190 (IANA-allocated), add port auto-detection (#1488713)
-rw-r--r-- | plugins/managesieve/Changelog | 1 | ||||
-rw-r--r-- | plugins/managesieve/config.inc.php.dist | 5 | ||||
-rw-r--r-- | plugins/managesieve/managesieve.php | 19 |
3 files changed, 17 insertions, 8 deletions
diff --git a/plugins/managesieve/Changelog b/plugins/managesieve/Changelog index 6fcd17a95..a1dd7e0ca 100644 --- a/plugins/managesieve/Changelog +++ b/plugins/managesieve/Changelog @@ -1,5 +1,6 @@ - Fixed issue with DBMail bug [http://pear.php.net/bugs/bug.php?id=19077] (#1488594) - Added support for enotify/notify (RFC5435, RFC5436, draft-ietf-sieve-notify-00) +- Change default port to 4190 (IANA-allocated), add port auto-detection (#1488713) * version 5.2 [2012-07-24] ----------------------------------------------------------- diff --git a/plugins/managesieve/config.inc.php.dist b/plugins/managesieve/config.inc.php.dist index cb9b2a97f..1f34564c5 100644 --- a/plugins/managesieve/config.inc.php.dist +++ b/plugins/managesieve/config.inc.php.dist @@ -1,7 +1,8 @@ <?php -// managesieve server port -$rcmail_config['managesieve_port'] = 2000; +// managesieve server port. When empty the port will be determined automatically +// using getservbyname() function, with 4190 as a fallback. +$rcmail_config['managesieve_port'] = null; // managesieve server address, default is localhost. // Replacement variables supported in host name: diff --git a/plugins/managesieve/managesieve.php b/plugins/managesieve/managesieve.php index ccfc95076..0ddeba542 100644 --- a/plugins/managesieve/managesieve.php +++ b/plugins/managesieve/managesieve.php @@ -7,13 +7,13 @@ * It's clickable interface which operates on text scripts and communicates * with server using managesieve protocol. Adds Filters tab in Settings. * - * @version 5.0 + * @version @package_version@ * @author Aleksander Machniak <alec@alec.pl> * * Configuration (see config.inc.php.dist) * - * Copyright (C) 2008-2011, The Roundcube Dev Team - * Copyright (C) 2011, Kolab Systems AG + * Copyright (C) 2008-2012, The Roundcube Dev Team + * Copyright (C) 2011-2012, Kolab Systems AG * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 @@ -62,8 +62,9 @@ class managesieve extends rcube_plugin "x-beenthere", ); - const VERSION = '5.2'; + const VERSION = '5.2'; const PROGNAME = 'Roundcube (Managesieve)'; + const PORT = 4190; function init() @@ -200,10 +201,16 @@ class managesieve extends rcube_plugin set_include_path($include_path); $host = rcube_parse_host($this->rc->config->get('managesieve_host', 'localhost')); - $port = $this->rc->config->get('managesieve_port', 2000); - $host = rcube_idn_to_ascii($host); + $port = $this->rc->config->get('managesieve_port'); + if (empty($port)) { + $port = getservbyname('sieve', 'tcp'); + if (empty($port)) { + $port = self::PORT; + } + } + $plugin = $this->rc->plugins->exec_hook('managesieve_connect', array( 'user' => $_SESSION['username'], 'password' => $this->rc->decrypt($_SESSION['password']), |