Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGitLab Bot <gitlab-bot@gitlab.com>2022-04-29 11:20:38 +0300
committerGitLab Bot <gitlab-bot@gitlab.com>2022-04-29 11:20:57 +0300
commit4c4f653296e104566d2dd9a330b460c7ddc8cfc5 (patch)
tree69309f00de031698da9ea139f53e3f78c3ab61f0 /lib/gitlab/metrics
parent7b1c7e980459210bea3f967cbc6b1c797c1ff658 (diff)
Add latest changes from gitlab-org/security/gitlab@14-10-stable-ee
Diffstat (limited to 'lib/gitlab/metrics')
-rw-r--r--lib/gitlab/metrics/subscribers/rack_attack.rb12
1 files changed, 8 insertions, 4 deletions
diff --git a/lib/gitlab/metrics/subscribers/rack_attack.rb b/lib/gitlab/metrics/subscribers/rack_attack.rb
index d86c0f83c6c..70dcc6fad90 100644
--- a/lib/gitlab/metrics/subscribers/rack_attack.rb
+++ b/lib/gitlab/metrics/subscribers/rack_attack.rb
@@ -73,12 +73,16 @@ module Gitlab
matched: req.env['rack.attack.matched']
}
- if THROTTLES_WITH_USER_INFORMATION.include? req.env['rack.attack.matched'].to_sym
- user_id = req.env['rack.attack.match_discriminator']
- user = User.find_by(id: user_id) # rubocop:disable CodeReuse/ActiveRecord
+ discriminator = req.env['rack.attack.match_discriminator'].to_s
+ discriminator_id = discriminator.split(':').last
- rack_attack_info[:user_id] = user_id
+ if discriminator.starts_with?('user:')
+ user = User.find_by(id: discriminator_id) # rubocop:disable CodeReuse/ActiveRecord
+
+ rack_attack_info[:user_id] = discriminator_id.to_i
rack_attack_info['meta.user'] = user.username unless user.nil?
+ elsif discriminator.starts_with?('deploy_token:')
+ rack_attack_info[:deploy_token_id] = discriminator_id.to_i
end
Gitlab::InstrumentationHelper.add_instrumentation_data(rack_attack_info)