diff --git a/CHANGELOG-EE b/CHANGELOG-EE index 4bc0325d81..47664a291d 100644 --- a/CHANGELOG-EE +++ b/CHANGELOG-EE @@ -1,5 +1,7 @@ v 7.12 (Unreleased) - Fix error when viewing merge request with a commit that includes "Closes #". + - Enhance LDAP group synchronization to check also for member attributes that only contain "uid=" + - Enhance LDAP group synchronization to check also for submember attributes v 7.11.2 - Fixed license upload and verification mechanism diff --git a/lib/gitlab/ldap/group.rb b/lib/gitlab/ldap/group.rb index 7f0c7c63c3..53ec0d585a 100644 --- a/lib/gitlab/ldap/group.rb +++ b/lib/gitlab/ldap/group.rb @@ -42,13 +42,17 @@ module Gitlab member_uids.any? { |member_uid| member_uid.downcase == user_uid } elsif member_dns.any? { |member_dn| member_dn.downcase == user_dn } true + elsif member_dns.any? { |member_dn| member_dn.downcase == "uid=" + user_uid } + true elsif adapter.config.active_directory adapter.dn_matches_filter?(user.dn, active_directory_recursive_memberof_filter) end end def member_dns - if entry.respond_to? :member + if (entry.respond_to? :member) && (entry.respond_to? :submember) + entry.member + entry.submember + elsif entry.respond_to? :member entry.member elsif entry.respond_to? :uniquemember entry.uniquemember