Aleksander Machniak
2013-01-07 6c7ac2ef4b6e9482fd47b290dd9b07e5f8a0bd54
Support tls:// prefix in managesieve_host option
3 files modified
20 ■■■■ changed files
plugins/managesieve/Changelog 2 ●●●●● patch | view | raw | blame | history
plugins/managesieve/config.inc.php.dist 3 ●●●● patch | view | raw | blame | history
plugins/managesieve/managesieve.php 15 ●●●● patch | view | raw | blame | history
plugins/managesieve/Changelog
@@ -1,3 +1,5 @@
- Support tls:// prefix in managesieve_host option
* version 6.1 [2012-12-21]
-----------------------------------------------------------
- Fixed filter activation/deactivation confirmation message (#1488765)
plugins/managesieve/config.inc.php.dist
@@ -25,8 +25,7 @@
$rcmail_config['managesieve_auth_pw'] = null;
// use or not TLS for managesieve server connection
// it's because I've problems with TLS and dovecot's managesieve plugin
// and it's not needed on localhost
// Note: tls:// prefix in managesieve_host is also supported
$rcmail_config['managesieve_usetls'] = false;
// default contents of filters script (eg. default spam filter)
plugins/managesieve/managesieve.php
@@ -200,10 +200,19 @@
        $include_path .= ini_get('include_path');
        set_include_path($include_path);
        $host = rcube_parse_host($this->rc->config->get('managesieve_host', 'localhost'));
        // Get connection parameters
        $host = $this->rc->config->get('managesieve_host', 'localhost');
        $port = $this->rc->config->get('managesieve_port');
        $tls  = $this->rc->config->get('managesieve_usetls', false);
        $host = rcube_parse_host($host);
        $host = rcube_idn_to_ascii($host);
        $port = $this->rc->config->get('managesieve_port');
        // remove tls:// prefix, set TLS flag
        if (($host = preg_replace('|^tls://|i', '', $host, 1, $cnt)) && $cnt) {
            $tls = true;
        }
        if (empty($port)) {
            $port = getservbyname('sieve', 'tcp');
            if (empty($port)) {
@@ -216,8 +225,8 @@
            'password'  => $this->rc->decrypt($_SESSION['password']),
            'host'      => $host,
            'port'      => $port,
            'usetls'    => $tls,
            'auth_type' => $this->rc->config->get('managesieve_auth_type'),
            'usetls'    => $this->rc->config->get('managesieve_usetls', false),
            'disabled'  => $this->rc->config->get('managesieve_disabled_extensions'),
            'debug'     => $this->rc->config->get('managesieve_debug', false),
            'auth_cid'  => $this->rc->config->get('managesieve_auth_cid'),