diff options
author | GitLab Bot <gitlab-bot@gitlab.com> | 2020-03-13 12:09:23 +0300 |
---|---|---|
committer | GitLab Bot <gitlab-bot@gitlab.com> | 2020-03-13 12:09:23 +0300 |
commit | 4cb5e5011abfe8d50ac3a7ebd0018c563c6d7af4 (patch) | |
tree | 82591df15758864325897043f855b4e4dfcb6a56 /lib/gitlab/git_access.rb | |
parent | 0301a0cad0063d76b1607358dc6c711ea043fdda (diff) |
Add latest changes from gitlab-org/gitlab@master
Diffstat (limited to 'lib/gitlab/git_access.rb')
-rw-r--r-- | lib/gitlab/git_access.rb | 26 |
1 files changed, 21 insertions, 5 deletions
diff --git a/lib/gitlab/git_access.rb b/lib/gitlab/git_access.rb index 7a13a35c096..7361ccf4aa2 100644 --- a/lib/gitlab/git_access.rb +++ b/lib/gitlab/git_access.rb @@ -81,7 +81,7 @@ module Gitlab check_push_access! end - success_result(cmd) + success_result end def guest_can_download_code? @@ -119,12 +119,24 @@ module Gitlab nil end - def check_for_console_messages(cmd) + def check_for_console_messages + return console_messages unless key? + + key_status = Gitlab::Auth::KeyStatusChecker.new(actor) + + if key_status.show_console_message? + console_messages.push(key_status.console_message) + else + console_messages + end + end + + def console_messages [] end def check_valid_actor! - return unless actor.is_a?(Key) + return unless key? unless actor.valid? raise ForbiddenError, "Your SSH key #{actor.errors[:key].first}." @@ -340,6 +352,10 @@ module Gitlab actor == :ci end + def key? + actor.is_a?(Key) + end + def can_read_project? if deploy_key? deploy_key.has_access_to?(project) @@ -374,8 +390,8 @@ module Gitlab protected - def success_result(cmd) - ::Gitlab::GitAccessResult::Success.new(console_messages: check_for_console_messages(cmd)) + def success_result + ::Gitlab::GitAccessResult::Success.new(console_messages: check_for_console_messages) end def changes_list |