lib/Auth

Jeroen van Meeuwen vanmeeuwen at kolabsys.com
Thu Sep 13 15:32:58 CEST 2012


 lib/Auth/LDAP.php |   18 ++++++++++++++++++
 1 file changed, 18 insertions(+)

New commits:
commit 7679bf67ddc92c25e06e11d5a9dbd6e252dfcc6a
Author: Jeroen van Meeuwen (Kolab Systems) <vanmeeuwen at kolabsys.com>
Date:   Thu Sep 13 15:32:25 2012 +0200

    Use a fallback of 'domain.tld' if 'domain_tld' is not matching anything, and fall back further to 'userRoot'

diff --git a/lib/Auth/LDAP.php b/lib/Auth/LDAP.php
index 2afd737..858c422 100644
--- a/lib/Auth/LDAP.php
+++ b/lib/Auth/LDAP.php
@@ -1127,12 +1127,30 @@ class LDAP extends Net_LDAP3 {
         }
 
         $result = $this->_read("cn=" . str_replace('.', '_', $this->conf->get('kolab', 'primary_domain') . ",cn=ldbm database,cn=plugins,cn=config"), array('nsslapd-directory'));
+        if (!$result) {
+            $result = $this->_read("cn=" . $this->conf->get('kolab', 'primary_domain') . ",cn=ldbm database,cn=plugins,cn=config", array('nsslapd-directory'));
+        }
+
+        if (!$result) {
+            $result = $this->_read("cn=userRoot,cn=ldbm database,cn=plugins,cn=config", array('nsslapd-directory'));
+        }
 
         $this->_log(LOG_DEBUG, "Primary domain ldbm database configuration entry: " . var_export($result, TRUE));
 
         $result = $result[key($result)];
+
+        $orig_directory = $result['nsslapd-directory'];
+
         $directory = str_replace(str_replace('.', '_', $this->conf->get('kolab', 'primary_domain')), str_replace('.','_',$domain_name), $result['nsslapd-directory']);
 
+        if ($directory == $orig_directory) {
+            $directory = str_replace($this->conf->get('kolab', 'primary_domain'), str_replace('.','_',$domain_name), $result['nsslapd-directory']);
+        }
+
+        if ($directory == $orig_directory) {
+            $directory = str_replace("userRoot", str_replace('.','_',$domain_name), $result['nsslapd-directory']);
+        }
+
         $dn = "cn=" . str_replace('.', '_', $domain_name) . ",cn=ldbm database,cn=plugins,cn=config";
         $attrs = array(
             'objectclass' => array(





More information about the commits mailing list