summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--config/main.inc.php.dist1
-rw-r--r--program/include/rcube_ldap.php3
2 files changed, 4 insertions, 0 deletions
diff --git a/config/main.inc.php.dist b/config/main.inc.php.dist
index 3782374f3..896fcbe65 100644
--- a/config/main.inc.php.dist
+++ b/config/main.inc.php.dist
@@ -586,6 +586,7 @@ $rcmail_config['ldap_public']['Verisign'] = array(
'numsub_filter' => '(objectClass=organizationalUnit)', // with VLV, we also use numSubOrdinates to query the total number of records. Set this filter to get all numSubOrdinates attributes for counting
'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' => true|false, // Sets the LDAP_OPT_REFERRALS option. Mostly used in multi-domain Active Directory setups
// 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/include/rcube_ldap.php b/program/include/rcube_ldap.php
index 83293157e..e20c8b430 100644
--- a/program/include/rcube_ldap.php
+++ b/program/include/rcube_ldap.php
@@ -181,6 +181,9 @@ class rcube_ldap extends rcube_addressbook
ldap_set_option($lc, LDAP_OPT_PROTOCOL_VERSION, $this->prop['ldap_version']);
$this->prop['host'] = $host;
$this->conn = $lc;
+
+ if (isset($this->prop['referrals']))
+ ldap_set_option($lc, LDAP_OPT_REFERRALS, $this->prop['referrals']);
break;
}
$this->_debug("S: NOT OK");