From d5190084980835d68847a9b9c18f68c00b4cd37a Mon Sep 17 00:00:00 2001 From: Aleksander Machniak Date: Mon, 12 May 2014 12:13:24 +0200 Subject: Add configurable LDAP_OPT_DEREF option (#1489864) - patch from Stuart C. Naifeh --- CHANGELOG | 1 + config/defaults.inc.php | 2 ++ program/lib/Roundcube/rcube_ldap_generic.php | 3 +++ 3 files changed, 6 insertions(+) diff --git a/CHANGELOG b/CHANGELOG index 3601908c3..57293452d 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -16,6 +16,7 @@ CHANGELOG Roundcube Webmail - Set In-Reply-To and References for forwarded messages (#1489593) - Removed redundant default_folders config option (#1489737) - Implemented IMAP SPECIAL-USE extension support [RFC6154] (#1487830) +- Add configurable LDAP_OPT_DEREF option (#1489864) - Fix mbox files import RELEASE 1.0.1 diff --git a/config/defaults.inc.php b/config/defaults.inc.php index a76eec6dc..85190eb0a 100644 --- a/config/defaults.inc.php +++ b/config/defaults.inc.php @@ -784,6 +784,8 @@ $config['ldap_public']['Verisign'] = array( 'sizelimit' => '0', // Enables you to limit the count of entries fetched. Setting this to 0 means no limit. 'timelimit' => '0', // Sets the number of seconds how long is spend on the search. Setting this to 0 means no limit. 'referrals' => false, // Sets the LDAP_OPT_REFERRALS option. Mostly used in multi-domain Active Directory setups + 'dereference' => 0, // Sets the LDAP_OPT_DEREF option. One of: LDAP_DEREF_NEVER, LDAP_DEREF_SEARCHING, LDAP_DEREF_FINDING, LDAP_DEREF_ALWAYS + // Used where addressbook contains aliases to objects elsewhere in the LDAP tree. // definition for contact groups (uncomment if no groups are supported) // for the groups base_dn, the user replacements %fu, %u, $d and %dc work as for base_dn (see above) diff --git a/program/lib/Roundcube/rcube_ldap_generic.php b/program/lib/Roundcube/rcube_ldap_generic.php index f1048ef39..f6f9884d8 100644 --- a/program/lib/Roundcube/rcube_ldap_generic.php +++ b/program/lib/Roundcube/rcube_ldap_generic.php @@ -190,6 +190,9 @@ class rcube_ldap_generic if (isset($this->config['referrals'])) ldap_set_option($lc, LDAP_OPT_REFERRALS, $this->config['referrals']); + + if (isset($this->config['dereference'])) + ldap_set_option($lc, LDAP_OPT_DEREF, $this->config['dereference']); } else { $this->_debug("S: NOT OK"); -- cgit v1.2.3