From e3ebf1a8d39ecb2b2c504d1370d0fdb929f671b3 Mon Sep 17 00:00:00 2001 From: Han-Wen Nienhuys Date: Wed, 12 Aug 2015 11:05:35 +0200 Subject: [PATCH] x/crypto/ssh/test: test all key exchanges against sshd. Change-Id: I9d775d6e9c39bee1f2bf914ba3659acb6b0029dd Reviewed-on: https://go-review.googlesource.com/13591 Reviewed-by: Adam Langley --- ssh/test/session_test.go | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/ssh/test/session_test.go b/ssh/test/session_test.go index fbd1044..c0e714b 100644 --- a/ssh/test/session_test.go +++ b/ssh/test/session_test.go @@ -319,3 +319,22 @@ func TestMACs(t *testing.T) { } } } + +func TestKeyExchanges(t *testing.T) { + var config ssh.Config + config.SetDefaults() + kexOrder := config.KeyExchanges + for _, kex := range kexOrder { + server := newServer(t) + defer server.Shutdown() + conf := clientConfig() + // Don't fail if sshd doesnt have the kex. + conf.KeyExchanges = append([]string{kex}, kexOrder...) + conn, err := server.TryDial(conf) + if err == nil { + conn.Close() + } else { + t.Errorf("failed for kex %q", kex) + } + } +}