This instance will be upgraded to Heptapod 0.31.0 (final) on 2022-05-24 at 14:00 UTC+2 (a few minutes of down time)

Commit 36c813a1 authored by Georges Racinet's avatar Georges Racinet 🦑
Browse files

Merged upstream v13.18.1 in heptapod-stable branch

v13.18.1
- Modify regex to prevent partial matches
v13.18.0 v13.18.0
- Fix thread-safety issues in gitlab-shell !463 - Fix thread-safety issues in gitlab-shell !463
......
...@@ -23,11 +23,10 @@ ...@@ -23,11 +23,10 @@
env: sshenv.Env{IsSSHConnection: true, RemoteAddr: "1"}, env: sshenv.Env{IsSSHConnection: true, RemoteAddr: "1"},
arguments: []string{}, arguments: []string{},
expectedArgs: &Shell{Arguments: []string{}, SshArgs: []string{}, CommandType: Discover, Env: sshenv.Env{IsSSHConnection: true, RemoteAddr: "1"}}, expectedArgs: &Shell{Arguments: []string{}, SshArgs: []string{}, CommandType: Discover, Env: sshenv.Env{IsSSHConnection: true, RemoteAddr: "1"}},
}, }, {
{
desc: "It finds the key id in any passed arguments", desc: "It finds the key id in any passed arguments",
executable: &executable.Executable{Name: executable.GitlabShell}, executable: &executable.Executable{Name: executable.GitlabShell},
env: sshenv.Env{IsSSHConnection: true, RemoteAddr: "1"}, env: sshenv.Env{IsSSHConnection: true, RemoteAddr: "1"},
arguments: []string{"hello", "key-123"}, arguments: []string{"hello", "key-123"},
expectedArgs: &Shell{Arguments: []string{"hello", "key-123"}, SshArgs: []string{}, CommandType: Discover, GitlabKeyId: "123", Env: sshenv.Env{IsSSHConnection: true, RemoteAddr: "1"}}, expectedArgs: &Shell{Arguments: []string{"hello", "key-123"}, SshArgs: []string{}, CommandType: Discover, GitlabKeyId: "123", Env: sshenv.Env{IsSSHConnection: true, RemoteAddr: "1"}},
}, { }, {
...@@ -28,9 +27,15 @@ ...@@ -28,9 +27,15 @@
desc: "It finds the key id in any passed arguments", desc: "It finds the key id in any passed arguments",
executable: &executable.Executable{Name: executable.GitlabShell}, executable: &executable.Executable{Name: executable.GitlabShell},
env: sshenv.Env{IsSSHConnection: true, RemoteAddr: "1"}, env: sshenv.Env{IsSSHConnection: true, RemoteAddr: "1"},
arguments: []string{"hello", "key-123"}, arguments: []string{"hello", "key-123"},
expectedArgs: &Shell{Arguments: []string{"hello", "key-123"}, SshArgs: []string{}, CommandType: Discover, GitlabKeyId: "123", Env: sshenv.Env{IsSSHConnection: true, RemoteAddr: "1"}}, expectedArgs: &Shell{Arguments: []string{"hello", "key-123"}, SshArgs: []string{}, CommandType: Discover, GitlabKeyId: "123", Env: sshenv.Env{IsSSHConnection: true, RemoteAddr: "1"}},
}, { }, {
desc: "It finds the key id only if the argument is of <key-id> format",
executable: &executable.Executable{Name: executable.GitlabShell},
env: sshenv.Env{IsSSHConnection: true, RemoteAddr: "1"},
arguments: []string{"hello", "username-key-123"},
expectedArgs: &Shell{Arguments: []string{"hello", "username-key-123"}, SshArgs: []string{}, CommandType: Discover, GitlabUsername: "key-123", Env: sshenv.Env{IsSSHConnection: true, RemoteAddr: "1"}},
}, {
desc: "It finds the username in any passed arguments", desc: "It finds the username in any passed arguments",
executable: &executable.Executable{Name: executable.GitlabShell}, executable: &executable.Executable{Name: executable.GitlabShell},
env: sshenv.Env{IsSSHConnection: true, RemoteAddr: "1"}, env: sshenv.Env{IsSSHConnection: true, RemoteAddr: "1"},
......
...@@ -21,8 +21,8 @@ ...@@ -21,8 +21,8 @@
) )
var ( var (
whoKeyRegex = regexp.MustCompile(`\bkey-(?P<keyid>\d+)\b`) whoKeyRegex = regexp.MustCompile(`\Akey-(?P<keyid>\d+)\z`)
whoUsernameRegex = regexp.MustCompile(`\busername-(?P<username>\S+)\b`) whoUsernameRegex = regexp.MustCompile(`\Ausername-(?P<username>\S+)\z`)
) )
type Shell struct { type Shell struct {
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment