Aleksander Machniak
2013-06-06 b07426f0c55f2fd2126dd2080e6a89bd334017f9
Make LDAP cache engine configurable via ldap_cache and ldap_cache_ttl options
3 files modified
28 ■■■■ changed files
CHANGELOG 1 ●●●● patch | view | raw | blame | history
config/main.inc.php.dist 19 ●●●● patch | view | raw | blame | history
program/lib/Roundcube/rcube_ldap.php 8 ●●●● patch | view | raw | blame | history
CHANGELOG
@@ -1,6 +1,7 @@
CHANGELOG Roundcube Webmail
===========================
- Make LDAP cache engine configurable via ldap_cache and ldap_cache_ttl options
- Fix legacy options handling
- Fix "duplicate entry" errors on inserts to imap cache tables (#1489146)
- Fix so bounces addresses in Sender headers are skipped on Reply-All (#1489011)
config/main.inc.php.dist
@@ -128,6 +128,9 @@
// Enables messages cache. Only 'db' cache is supported.
$rcmail_config['messages_cache'] = false;
// lifetime of message cache
// possible units: s, m, h, d, w
$rcmail_config['message_cache_lifetime'] = '10d';
// ----------------------------------
// SMTP
@@ -170,11 +173,21 @@
// SMTP HELO host 
// Hostname to give to the remote server for SMTP 'HELO' or 'EHLO' messages 
// Leave this blank and you will get the server variable 'server_name' or 
// localhost if that isn't defined.
// localhost if that isn't defined.
$rcmail_config['smtp_helo_host'] = '';
// SMTP connection timeout, in seconds. Default: 0 (no limit)
$rcmail_config['smtp_timeout'] = 0;
// ----------------------------------
// LDAP
// ----------------------------------
// Type of LDAP cache. Supported values: 'db', 'apc' and 'memcache'.
$rcmail_config['ldap_cache'] = 'db';
// Lifetime of LDAP cache. Possible units: s, m, h, d, w
$rcmail_config['ldap_cache_ttl'] = '10m';
// ----------------------------------
// SYSTEM
@@ -209,10 +222,6 @@
// use this folder to store temp files (must be writeable for apache user)
$rcmail_config['temp_dir'] = 'temp/';
// lifetime of message cache
// possible units: s, m, h, d, w
$rcmail_config['message_cache_lifetime'] = '10d';
// enforce connections over https
// with this option enabled, all non-secure connections will be redirected.
program/lib/Roundcube/rcube_ldap.php
@@ -185,8 +185,12 @@
        $this->mail_domain = $mail_domain;
        // initialize cache
        $rcube = rcube::get_instance();
        $this->cache = $rcube->get_cache('LDAP.' . asciiwords($this->prop['name']), 'db', 600);
        $rcube      = rcube::get_instance();
        $cache_type = $rcube->config->get('ldap_cache', 'db');
        $cache_ttl  = $rcube->config->get('ldap_cache_ttl', '10m');
        $cache_name = 'LDAP.' . asciiwords($this->prop['name']);
        $this->cache = $rcube->get_cache($cache_name, $cache_type, $cache_ttl);
        $this->_connect();
    }