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:
Diffstat (limited to 'lib/gitlab/application_context.rb')
-rw-r--r--lib/gitlab/application_context.rb10
1 files changed, 7 insertions, 3 deletions
diff --git a/lib/gitlab/application_context.rb b/lib/gitlab/application_context.rb
index b6ad25e700b..06ce1dbdc77 100644
--- a/lib/gitlab/application_context.rb
+++ b/lib/gitlab/application_context.rb
@@ -164,7 +164,11 @@ module Gitlab
end
def include_client?
- set_values.include?(:user) || set_values.include?(:runner) || set_values.include?(:remote_ip)
+ # Don't overwrite an existing more specific client id with an `ip/` one.
+ original_client_id = self.class.current_context_attribute(:client_id).to_s
+ return false if original_client_id.starts_with?('user/') || original_client_id.starts_with?('runner/')
+
+ include_user? || set_values.include?(:runner) || set_values.include?(:remote_ip)
end
def include_user?
@@ -178,8 +182,8 @@ module Gitlab
def client
if runner
"runner/#{runner.id}"
- elsif user
- "user/#{user.id}"
+ elsif user_id
+ "user/#{user_id}"
else
"ip/#{remote_ip}"
end