diff options
Diffstat (limited to 'modules-available/sysconfig/inc')
-rw-r--r-- | modules-available/sysconfig/inc/ldap.inc.php | 6 |
1 files changed, 1 insertions, 5 deletions
diff --git a/modules-available/sysconfig/inc/ldap.inc.php b/modules-available/sysconfig/inc/ldap.inc.php index 23b24885..349a662e 100644 --- a/modules-available/sysconfig/inc/ldap.inc.php +++ b/modules-available/sysconfig/inc/ldap.inc.php @@ -12,11 +12,7 @@ class Ldap { // To find ourselves we try to figure out the proper search base, since the given one // might be just for users, not for functional or utility accounts - if (preg_match('/,(OU=.*DC=.*)$/i', Ldap::normalizeDn($binddn), $out)) { - // Get OU from binddn; works if not given short form of DOMAIN\user or user@domain.fqdn.com - $searchbase = $out[1]; - } elseif (preg_match('/,(DC=.*)$/i', Ldap::normalizeDn($searchbase), $out)) { - // Otherwise, shorten search base enough to only consider the DC=..,DC=.. part at the end + if (preg_match('/^\w+=[^=]+,(.*)$/i', Ldap::normalizeDn($binddn), $out)) { $searchbase = $out[1]; } return $searchbase; |