From 843fb0d69dcb1dfc769f1841eb3b18bf3c32435f Mon Sep 17 00:00:00 2001 From: Aleksander Machniak Date: Tue, 15 Oct 2019 09:25:06 +0200 Subject: [PATCH] Fix regression where user canonification didn't work (Bifrost#251480) Which led to not working some functionality e.g. user-specific LDAP addressbook --- plugins/libkolab/lib/kolab_storage.php | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/plugins/libkolab/lib/kolab_storage.php b/plugins/libkolab/lib/kolab_storage.php index f75ca7d0..2e2a51b0 100644 --- a/plugins/libkolab/lib/kolab_storage.php +++ b/plugins/libkolab/lib/kolab_storage.php @@ -150,10 +150,16 @@ class kolab_storage self::$config->set('kolab_auth_filter', $filter); } - $user_attrib = self::$config->get('kolab_users_id_attrib', self::$config->get('kolab_auth_login', 'mail')); + $user_field = $user_attrib = self::$config->get('kolab_users_id_attrib'); - //$ldap->set_filter($this->ldap_filter); - $ldap->extend_fieldmap(array($user_attrib => $user_attrib)); + // Fallback to kolab_auth_login, which is not attribute, but field name + if (!$user_field && ($user_field = self::$config->get('kolab_auth_login', 'email'))) { + $user_attrib = $config['fieldmap'][$user_field]; + } + + if ($user_field && $user_attrib) { + $ldap->extend_fieldmap(array($user_field => $user_attrib)); + } self::$ldap[$name] = $ldap;