Commit d3d1246f authored by Douwe Maan's avatar Douwe Maan

Escape wildcards when searching LDAP by group name.

parent d0d82c0c
...@@ -2,6 +2,7 @@ v 7.9.0 (unreleased) ...@@ -2,6 +2,7 @@ v 7.9.0 (unreleased)
- Strip prefixes and suffixes from synced SSH keys: - Strip prefixes and suffixes from synced SSH keys:
`SSHKey:ssh-rsa keykeykey` and `ssh-rsa keykeykey (SSH key)` will now work `SSHKey:ssh-rsa keykeykey` and `ssh-rsa keykeykey (SSH key)` will now work
- Check if LDAP admin group exists before querying for user membership - Check if LDAP admin group exists before querying for user membership
- Escape wildcards when searching LDAP by group name.
v 7.8.0 v 7.8.0
- Improved Jira issue closing integration - Improved Jira issue closing integration
......
...@@ -6,6 +6,8 @@ module API ...@@ -6,6 +6,8 @@ module API
resource :ldap do resource :ldap do
helpers do helpers do
def get_group_list(provider, search) def get_group_list(provider, search)
search ||= ""
search = Net::LDAP::Filter.escape(search)
Gitlab::LDAP::Adapter.new(provider).groups("#{search}*", 20) Gitlab::LDAP::Adapter.new(provider).groups("#{search}*", 20)
end end
end end
...@@ -17,7 +19,7 @@ module API ...@@ -17,7 +19,7 @@ module API
# GET /ldap/groups # GET /ldap/groups
get 'groups' do get 'groups' do
provider = Gitlab::LDAP::Config.servers.first['provider_name'] provider = Gitlab::LDAP::Config.servers.first['provider_name']
@groups = Gitlab::LDAP::Adapter.new(provider).groups("#{params[:search]}*", 20) @groups = get_group_list(provider, params[:search])
present @groups, with: Entities::LdapGroup present @groups, with: Entities::LdapGroup
end end
......
...@@ -4,6 +4,7 @@ module Gitlab ...@@ -4,6 +4,7 @@ module Gitlab
attr_accessor :adapter attr_accessor :adapter
def self.find_by_cn(cn, adapter) def self.find_by_cn(cn, adapter)
cn = Net::LDAP::Filter.escape(cn)
adapter.group(cn) adapter.group(cn)
end end
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment