diff options
author | Igor Drozdov <idrozdov@gitlab.com> | 2021-09-28 19:08:34 +0000 |
---|---|---|
committer | Igor Drozdov <idrozdov@gitlab.com> | 2021-09-28 19:08:34 +0000 |
commit | 6d146c217dc1ba78aa4a0c47c59b5b2e7be774d9 (patch) | |
tree | 0d70e3e65b0192089d6dd04b0ac8120341ba7de8 /internal/command/commandargs | |
parent | a1ae9e5ad2900d512a58ce64f4ad0f02769c3edd (diff) | |
parent | f40ddda89781aeb156f9b36bdb7d733c55b363c0 (diff) | |
download | gitlab-shell-6d146c217dc1ba78aa4a0c47c59b5b2e7be774d9.tar.gz |
Merge branch '499-log-me-more' into 'main'
Add more logging to gitlab-sshd
See merge request gitlab-org/gitlab-shell!531
Diffstat (limited to 'internal/command/commandargs')
-rw-r--r-- | internal/command/commandargs/shell.go | 13 |
1 files changed, 4 insertions, 9 deletions
diff --git a/internal/command/commandargs/shell.go b/internal/command/commandargs/shell.go index 589f58d..7a76be5 100644 --- a/internal/command/commandargs/shell.go +++ b/internal/command/commandargs/shell.go @@ -1,7 +1,7 @@ package commandargs import ( - "errors" + "fmt" "regexp" "github.com/mattn/go-shellwords" @@ -49,21 +49,16 @@ func (s *Shell) GetArguments() []string { func (s *Shell) validate() error { if !s.Env.IsSSHConnection { - return errors.New("Only SSH allowed") + return fmt.Errorf("Only SSH allowed") } - if !s.isValidSSHCommand() { - return errors.New("Invalid SSH command") + if err := s.ParseCommand(s.Env.OriginalCommand); err != nil { + return fmt.Errorf("Invalid SSH command: %w", err) } return nil } -func (s *Shell) isValidSSHCommand() bool { - err := s.ParseCommand(s.Env.OriginalCommand) - return err == nil -} - func (s *Shell) parseWho() { for _, argument := range s.Arguments { if keyId := tryParseKeyId(argument); keyId != "" { |