Disable Rack Attack if admin disables it in config file
Grack::Auth already checks this variable. These holdouts were not disabled, leading to confusion when debugging a customer issue.
This commit is contained in:
parent
c01ff1f54b
commit
1d6fdcea95
2 changed files with 5 additions and 2 deletions
|
@ -17,8 +17,9 @@ paths_to_be_protected = [
|
|||
# Create one big regular expression that matches strings starting with any of
|
||||
# the paths_to_be_protected.
|
||||
paths_regex = Regexp.union(paths_to_be_protected.map { |path| /\A#{Regexp.escape(path)}/ })
|
||||
rack_attack_enabled = Gitlab.config.rack_attack.git_basic_auth['enabled']
|
||||
|
||||
unless Rails.env.test?
|
||||
unless Rails.env.test? || !rack_attack_enabled
|
||||
Rack::Attack.throttle('protected paths', limit: 10, period: 60.seconds) do |req|
|
||||
if req.post? && req.path =~ paths_regex
|
||||
req.ip
|
||||
|
|
|
@ -1,4 +1,6 @@
|
|||
unless Rails.env.test?
|
||||
rack_attack_enabled = Gitlab.config.rack_attack.git_basic_auth['enabled']
|
||||
|
||||
unless Rails.env.test? || !rack_attack_enabled
|
||||
# Tell the Rack::Attack Rack middleware to maintain an IP blacklist. We will
|
||||
# update the blacklist from Grack::Auth#authenticate_user.
|
||||
Rack::Attack.blacklist('Git HTTP Basic Auth') do |req|
|
||||
|
|
Loading…
Reference in a new issue