Added option to specify connection socket parameters - managesieve_conn_options
| | |
| | | - Fix disabled "create filter" action |
| | | - Fix enotify/notify extension handling |
| | | - Improved UI accessibility |
| | | - Added option to specify connection socket parameters - managesieve_conn_options |
| | | |
| | | * version 7.2 [2014-02-14] |
| | | ----------------------------------------------------------- |
| | |
| | | // Note: tls:// prefix in managesieve_host is also supported |
| | | $config['managesieve_usetls'] = false; |
| | | |
| | | // Connection scket context options |
| | | // See http://php.net/manual/en/context.ssl.php |
| | | // The example below enables server certificate validation |
| | | //$config['imap_conn_options'] = array( |
| | | // 'ssl' => array( |
| | | // 'verify_peer' => true, |
| | | // 'verify_depth' => 3, |
| | | // 'cafile' => '/etc/openssl/certs/ca.crt', |
| | | // ), |
| | | // ); |
| | | $config['managesieve_conn_options'] = null; |
| | | |
| | | // default contents of filters script (eg. default spam filter) |
| | | $config['managesieve_default'] = '/etc/dovecot/sieve/global'; |
| | | |
| | |
| | | * @param boolean Enable/disable debugging |
| | | * @param string Proxy authentication identifier |
| | | * @param string Proxy authentication password |
| | | * @param array List of options to pass to stream_context_create(). |
| | | */ |
| | | public function __construct($username, $password='', $host='localhost', $port=2000, |
| | | $auth_type=null, $usetls=true, $disabled=array(), $debug=false, |
| | | $auth_cid=null, $auth_pw=null) |
| | | $auth_cid=null, $auth_pw=null, $options=array()) |
| | | { |
| | | $this->sieve = new Net_Sieve(); |
| | | |
| | |
| | | $this->sieve->setDebug(true, array($this, 'debug_handler')); |
| | | } |
| | | |
| | | if (PEAR::isError($this->sieve->connect($host, $port, null, $usetls))) { |
| | | if (PEAR::isError($this->sieve->connect($host, $port, $options, $usetls))) { |
| | | return $this->_set_error(SIEVE_ERROR_CONNECTION); |
| | | } |
| | | |
| | |
| | | 'debug' => $this->rc->config->get('managesieve_debug', false), |
| | | 'auth_cid' => $this->rc->config->get('managesieve_auth_cid'), |
| | | 'auth_pw' => $this->rc->config->get('managesieve_auth_pw'), |
| | | 'socket_options' => $this->rc->config->get('managesieve_conn_options'), |
| | | )); |
| | | |
| | | // try to connect to managesieve server and to fetch the script |
| | |
| | | $plugin['disabled'], |
| | | $plugin['debug'], |
| | | $plugin['auth_cid'], |
| | | $plugin['auth_pw'] |
| | | $plugin['auth_pw'], |
| | | $plugin['socket_options'] |
| | | ); |
| | | |
| | | if (!($error = $this->sieve->error())) { |