summaryrefslogtreecommitdiff
path: root/cmd/gitlab-shell/command/command.go
diff options
context:
space:
mode:
authorIgor Drozdov <idrozdov@gitlab.com>2022-11-24 11:55:00 +0100
committerIgor Drozdov <idrozdov@gitlab.com>2022-11-24 11:55:00 +0100
commite50d6d0b6206e37fb5e0d19eae4a3688ddb28ba2 (patch)
tree3eb4703195ca1867ee501ab08f3742cf6f50a924 /cmd/gitlab-shell/command/command.go
parent9d97161d4e5dc155f0760d019d92257ed38e7546 (diff)
downloadgitlab-shell-e50d6d0b6206e37fb5e0d19eae4a3688ddb28ba2.tar.gz
Draft: Kerberos changes for testing purposes
Diffstat (limited to 'cmd/gitlab-shell/command/command.go')
-rw-r--r--cmd/gitlab-shell/command/command.go14
1 files changed, 14 insertions, 0 deletions
diff --git a/cmd/gitlab-shell/command/command.go b/cmd/gitlab-shell/command/command.go
index 08b3af6..b2a0266 100644
--- a/cmd/gitlab-shell/command/command.go
+++ b/cmd/gitlab-shell/command/command.go
@@ -44,6 +44,20 @@ func NewWithKey(gitlabKeyId string, env sshenv.Env, config *config.Config, readW
return nil, disallowedcommand.Error
}
+func NewWithKrb5Principal(gitlabKrb5Principal string, env sshenv.Env, config *config.Config, readWriter *readwriter.ReadWriter) (command.Command, error) {
+ args, err := Parse(nil, env)
+ if err != nil {
+ return nil, err
+ }
+
+ args.GitlabKrb5Principal = gitlabKrb5Principal
+ if cmd := Build(args, config, readWriter); cmd != nil {
+ return cmd, nil
+ }
+
+ return nil, disallowedcommand.Error
+}
+
func Parse(arguments []string, env sshenv.Env) (*commandargs.Shell, error) {
args := &commandargs.Shell{Arguments: arguments, Env: env}