Visitar URL original
Compare AD DNs case-insensitively when checking group membership by jatoben · Pull Request #82 · github/github-ldap · GitHub
Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Compare AD DNs case-insensitively when checking group membership
  • Loading branch information
jatoben committed May 8, 2015
commit 92f18b196f090d8a518a97ceacaa81705ee38b86
3 changes: 2 additions & 1 deletion lib/github/ldap/membership_validators/active_directory.rb
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,8 @@ def perform(entry)
attributes: ATTRS

# membership validated if entry was matched and returned as a result
matched.map(&:dn).include?(entry.dn)
# Active Directory DNs are case-insensitive
matched.map { |m| m.dn.downcase }.include?(entry.dn.downcase)
end

# Internal: Constructs a membership filter using the "in chain"
Expand Down
9 changes: 9 additions & 0 deletions test/membership_validators/active_directory_test.rb
Original file line number Diff line number Diff line change
Expand Up @@ -123,4 +123,13 @@ def test_validates_user_in_posix_group
validator = make_validator(%w(posix-group1))
assert validator.perform(@entry)
end

def test_validates_user_in_group_with_differently_cased_dn
validator = make_validator(%w(all-users))
@entry[:dn].map(&:upcase!)
assert validator.perform(@entry)

@entry[:dn].map(&:downcase!)
assert validator.perform(@entry)
end
end