summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorthomascube <thomas@roundcube.net>2011-11-05 11:34:53 +0000
committerthomascube <thomas@roundcube.net>2011-11-05 11:34:53 +0000
commit3b4b03d6b342075098d4cdd95bb131a00deed5b8 (patch)
treec4a55ae46566ea53550a80264ec0ef4e2928b362
parent8f142e3489af2f264f98b40105846b625a2ecc91 (diff)
Added config property to set LDAP_OPT_REFERRALS option to an LDAP connection
-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 a81632545..ab891e3ea 100644
--- a/program/include/rcube_ldap.php
+++ b/program/include/rcube_ldap.php
@@ -189,6 +189,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");