summaryrefslogtreecommitdiff
path: root/lib/gitlab_access.rb
diff options
context:
space:
mode:
authorPatricio Cano <suprnova32@gmail.com>2016-06-20 21:13:53 -0500
committerPatricio Cano <suprnova32@gmail.com>2016-07-05 18:01:12 -0500
commit44e7804ddb408d85f091c7a5cd36e0fdbec63d13 (patch)
tree16956fba9120d6e0fb91fd8b38c55f3c2290c6de /lib/gitlab_access.rb
parent5afdd3f1cc3f12d4e919edb554c755b227675d06 (diff)
downloadgitlab-shell-44e7804ddb408d85f091c7a5cd36e0fdbec63d13.tar.gz
Allow GitLab Shell to check for allowed access based on the used Git protocol.
Diffstat (limited to 'lib/gitlab_access.rb')
-rw-r--r--lib/gitlab_access.rb7
1 files changed, 4 insertions, 3 deletions
diff --git a/lib/gitlab_access.rb b/lib/gitlab_access.rb
index 10afeef..bab2c4c 100644
--- a/lib/gitlab_access.rb
+++ b/lib/gitlab_access.rb
@@ -9,18 +9,19 @@ class GitlabAccess
include NamesHelper
- attr_reader :config, :repo_path, :repo_name, :changes
+ attr_reader :config, :repo_path, :repo_name, :changes, :protocol
- def initialize(repo_path, actor, changes)
+ def initialize(repo_path, actor, changes, protocol = nil)
@config = GitlabConfig.new
@repo_path = repo_path.strip
@actor = actor
@repo_name = extract_repo_name(@repo_path.dup)
@changes = changes.lines
+ @protocol = protocol
end
def exec
- status = api.check_access('git-receive-pack', @repo_name, @actor, @changes)
+ status = api.check_access('git-receive-pack', @repo_name, @actor, @changes, @protocol)
raise AccessDeniedError, status.message unless status.allowed?