From 2c7b0be3f882ec09dc5b2fda71a90efe4761ac54 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fr=C3=A9d=C3=A9ric=20Buclin?= Date: Tue, 10 Oct 2017 00:26:15 +0200 Subject: Bugzilla extern_id and LDAP uid may differ as uid is always lowercase --- extensions/Mageia/Config.pm | 2 +- extensions/Mageia/Extension.pm | 2 +- extensions/Mageia/lib/Util.pm | 8 ++++++-- 3 files changed, 8 insertions(+), 4 deletions(-) diff --git a/extensions/Mageia/Config.pm b/extensions/Mageia/Config.pm index 492bdab11..94f2da811 100644 --- a/extensions/Mageia/Config.pm +++ b/extensions/Mageia/Config.pm @@ -7,7 +7,7 @@ package Bugzilla::Extension::Mageia; -use 5.10.1; +use 5.16.0; use strict; use warnings; diff --git a/extensions/Mageia/Extension.pm b/extensions/Mageia/Extension.pm index 0c5efb02c..257e7782a 100644 --- a/extensions/Mageia/Extension.pm +++ b/extensions/Mageia/Extension.pm @@ -7,7 +7,7 @@ package Bugzilla::Extension::Mageia; -use 5.10.1; +use 5.16.0; use strict; use warnings; diff --git a/extensions/Mageia/lib/Util.pm b/extensions/Mageia/lib/Util.pm index 11f4fcaf6..b70d39818 100644 --- a/extensions/Mageia/lib/Util.pm +++ b/extensions/Mageia/lib/Util.pm @@ -7,7 +7,7 @@ package Bugzilla::Extension::Mageia::Util; -use 5.10.1; +use 5.16.0; # required to use fc() for string comparison. use strict; use warnings; @@ -97,7 +97,11 @@ sub sync_ldap_groups_check { next unless $uid && $mail; # Ignore the LDAP account if it does not exist in Bugzilla. - my $bz_user = Bugzilla::User->new({ extern_id => $uid }) or next; + # extern_id may differ from UID as UID is always lowercase, + # so we also check the email address to validate the account. + my $bz_user = Bugzilla::User->new({ extern_id => $uid }) + || Bugzilla::User->new({ name => $mail }); + next unless $bz_user && fc($bz_user->extern_id) eq fc($uid); $users{$user} = $bz_user; } $groups{$group}->{$users{$user}->extern_id} = $users{$user}; -- cgit v1.2.1