summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPatricio Cano <suprnova32@gmail.com>2016-06-27 10:08:17 -0500
committerPatricio Cano <suprnova32@gmail.com>2016-07-05 16:54:22 -0500
commitda15471bb1c862111300a9202fe06c6a531fb283 (patch)
treef7abd2a654f5e32c012a21d48aa522c42fc89bc4
parent0f54e2ae6c6b5e1d196bf133de5ef92e907ea816 (diff)
downloadgitlab-ce-da15471bb1c862111300a9202fe06c6a531fb283.tar.gz
Clarify protocol access check, and make Git HTTP access call more specific.
-rw-r--r--app/controllers/projects/git_http_controller.rb12
-rw-r--r--lib/gitlab/protocol_access.rb2
2 files changed, 7 insertions, 7 deletions
diff --git a/app/controllers/projects/git_http_controller.rb b/app/controllers/projects/git_http_controller.rb
index 273be813435..3d0055c9be3 100644
--- a/app/controllers/projects/git_http_controller.rb
+++ b/app/controllers/projects/git_http_controller.rb
@@ -157,7 +157,7 @@ class Projects::GitHttpController < Projects::ApplicationController
end
def render_not_allowed
- render plain: access.message, status: :forbidden
+ render plain: download_access.message, status: :forbidden
end
def ci?
@@ -168,20 +168,20 @@ class Projects::GitHttpController < Projects::ApplicationController
return false unless Gitlab.config.gitlab_shell.upload_pack
if user
- access.allowed?
+ download_access.allowed?
else
ci? || project.public?
end
end
- def access
- return @access if defined?(@access)
+ def download_access
+ return @download_access if defined?(@download_access)
- @access = Gitlab::GitAccess.new(user, project, 'http').check('git-upload-pack')
+ @download_access = Gitlab::GitAccess.new(user, project, 'http').check('git-upload-pack')
end
def http_blocked?
- access.message.include?('HTTP')
+ download_access.protocol_allowed?
end
def receive_pack_allowed?
diff --git a/lib/gitlab/protocol_access.rb b/lib/gitlab/protocol_access.rb
index 0498a72d4cf..836ff8a34ba 100644
--- a/lib/gitlab/protocol_access.rb
+++ b/lib/gitlab/protocol_access.rb
@@ -3,7 +3,7 @@ module Gitlab
def self.allowed?(protocol)
if protocol.to_s == 'web'
true
- elsif !current_application_settings.enabled_git_access_protocols.present?
+ elsif current_application_settings.enabled_git_access_protocols.blank?
true
else
protocol.to_s == current_application_settings.enabled_git_access_protocols