Aleksander Machniak
2012-09-21 e695162ef76054050e4181e4d28f28cf1981386b
Change default port to 4190 (IANA-allocated), add port auto-detection (#1488713)
3 files modified
23 ■■■■■ changed files
plugins/managesieve/Changelog 1 ●●●● patch | view | raw | blame | history
plugins/managesieve/config.inc.php.dist 5 ●●●●● patch | view | raw | blame | history
plugins/managesieve/managesieve.php 17 ●●●● patch | view | raw | blame | history
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]
-----------------------------------------------------------
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:
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
@@ -64,6 +64,7 @@
    const VERSION = '5.2';
    const PROGNAME = 'Roundcube (Managesieve)';
    const PORT     = 4190;
    function init()
@@ -200,10 +201,16 @@
        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']),