Skip to content

Commit 09f1a82

Browse files
committed
Conditionally amend filter if uids present
1 parent 48c82e5 commit 09f1a82

File tree

1 file changed

+11
-4
lines changed

1 file changed

+11
-4
lines changed

lib/github/ldap/filter.rb

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -26,10 +26,17 @@ def group_filter(group_names)
2626
# Returns a Net::LDAP::Filter.
2727
def member_filter(entry = nil, uid_attr = @ldap.uid)
2828
if entry
29-
MEMBERSHIP_NAMES.map {|n| Net::LDAP::Filter.eq(n, entry.dn) }.
30-
reduce(:|) |
31-
entry[uid_attr]. map { |uid| Net::LDAP::Filter.eq("memberUid", uid) }.
32-
reduce(:|)
29+
filter =
30+
MEMBERSHIP_NAMES. map {|n| Net::LDAP::Filter.eq(n, entry.dn) }.
31+
reduce(:|)
32+
33+
if !entry[uid_attr].empty?
34+
filter |=
35+
entry[uid_attr].map { |uid| Net::LDAP::Filter.eq("memberUid", uid) }.
36+
reduce(:|)
37+
end
38+
39+
filter
3340
else
3441
(MEMBERSHIP_NAMES + %w(memberUid)).
3542
map {|n| Net::LDAP::Filter.pres(n)}.reduce(:|)

0 commit comments

Comments
 (0)