diff --git a/lib/gitlab_shell.rb b/lib/gitlab_shell.rb index e243aac8ad6f85a0318b98aed55a9f1cb927d5dc..0bcd7464c72e9e48dc0f19878f6608581075b959 100644 --- a/lib/gitlab_shell.rb +++ b/lib/gitlab_shell.rb @@ -9,7 +9,7 @@ class GitlabShell class DisallowedCommandError < StandardError; end class InvalidRepositoryPathError < StandardError; end - GIT_COMMANDS = %w(git-upload-pack git-receive-pack git-upload-archive git-annex-shell git-lfs-authenticate).freeze + GIT_COMMANDS = %w(git-upload-pack git-receive-pack git-upload-archive git-annex-shell git-lfs-authenticate user).freeze API_COMMANDS = %w(2fa_recovery_codes) GL_PROTOCOL = 'ssh'.freeze @@ -71,9 +71,12 @@ class GitlabShell raise DisallowedCommandError unless GIT_COMMANDS.include?(@command) case @command + + when 'user' + puts user.to_json + exit when 'git-annex-shell' raise DisallowedCommandError unless @config.git_annex_enabled? - @repo_name = args[2].sub(/\A\/~\//, '') when 'git-lfs-authenticate' raise DisallowedCommandError unless args.count >= 2