summaryrefslogtreecommitdiff
path: root/config/initializers/rack_attack_git_basic_auth.rb
blob: 6a721826170ac1283c56ca73f89a1d635aab8be7 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
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|
    Rack::Attack::Allow2Ban.filter(req.ip, Gitlab.config.rack_attack.git_basic_auth) do
      # This block only gets run if the IP was not already banned.
      # Return false, meaning that we do not see anything wrong with the
      # request at this time
      false
    end
  end
end