From 7111181d1b1edb7e55fbf19bffb8384f54786f5d Mon Sep 17 00:00:00 2001 From: Andrey Petrov Date: Sat, 27 Nov 2021 10:35:30 -0800 Subject: [PATCH] test: Add overflow failing test --- host_test.go | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) diff --git a/host_test.go b/host_test.go index 2aa82aa..1fe7490 100644 --- a/host_test.go +++ b/host_test.go @@ -311,6 +311,42 @@ func TestTimestampEnvConfig(t *testing.T) { } } +func TestClientVersionOverflow(t *testing.T) { + var addr string + { + key, err := sshd.NewRandomSigner(512) + if err != nil { + t.Fatal(err) + } + auth := NewAuth() + config := sshd.MakeAuth(auth) + config.AddHostKey(key) + + s, err := sshd.ListenSSH("localhost:0", config) + if err != nil { + t.Fatal(err) + } + defer s.Close() + addr = s.Addr().String() + host := NewHost(s, nil) + go host.Serve() + } + + config := sshd.NewClientConfig("foo") + config.ClientVersion = strings.Repeat("a", 300) // 256 is overflow + conn, err := ssh.Dial("tcp", addr, config) + if err != nil { + t.Error(err) + } + defer conn.Close() + + session, err := conn.NewSession() + if err != nil { + t.Error(err) + } + defer session.Close() +} + func strptr(s string) *string { return &s }