Skip to content

Commit cb4bd2c

Browse files
committed
Ensure unique entries
1 parent 2a62c21 commit cb4bd2c

File tree

1 file changed

+7
-5
lines changed

1 file changed

+7
-5
lines changed

lib/github/ldap/member_search/recursive.rb

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -89,12 +89,14 @@ def perform(group)
8989
end
9090
end
9191

92-
# take found groups and combine groups and members into list of entries
93-
found.values.each do |group|
92+
# pull member DNs, discarding dupes and subgroup DNs
93+
member_dns = found.values.each_with_object([]) do |group, member_dns|
9494
entries << group
95-
# just need member DNs as Net::LDAP::Entry objects
96-
entries.concat member_dns(group).map { |dn| Net::LDAP::Entry.new(dn) }
97-
end
95+
member_dns.concat member_dns(group)
96+
end.uniq.reject { |dn| found.key?(dn) }
97+
98+
# wrap member DNs in Net::LDAP::Entry objects
99+
entries.concat member_dns.map { |dn| Net::LDAP::Entry.new(dn) }
98100

99101
entries
100102
end

0 commit comments

Comments
 (0)