aboutsummaryrefslogtreecommitdiff
path: root/ssh/knownhosts/knownhosts_test.go
diff options
context:
space:
mode:
authorNicola Murino <nicola.murino@gmail.com>2025-08-09 19:56:31 +0200
committerNicola Murino <nicola.murino@gmail.com>2025-08-19 13:12:03 -0700
commita4d1237429d6056ef197b0b911b8b9d7dca8ecf6 (patch)
treeff421c6e045d1bbfb0b22198acea6a891ad9afce /ssh/knownhosts/knownhosts_test.go
parentb8d8dae13d7dda8706ca2ab98934ad404aacae22 (diff)
downloadgo-x-crypto-a4d1237429d6056ef197b0b911b8b9d7dca8ecf6.tar.xz
ssh/knownhosts: improve IPv6 support in Normalize
Correctly converts bracketed IPv6: - [abcd::abcd:abcd:abcd] => abcd::abcd:abcd:abcd - [abcd::abcd:abcd:abcd]:22 => abcd::abcd:abcd:abcd - [abcd::abcd:abcd:abcd]:23 => [abcd::abcd:abcd:abcd]:23 Fixes golang/go#53463 Change-Id: Id0a7460d8448a72e2a8c6d46137245bead9ecf9f Reviewed-on: https://go-review.googlesource.com/c/crypto/+/694575 LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com> Reviewed-by: Filippo Valsorda <filippo@golang.org> Reviewed-by: David Chase <drchase@google.com> Reviewed-by: Carlos Amedee <carlos@golang.org>
Diffstat (limited to 'ssh/knownhosts/knownhosts_test.go')
-rw-r--r--ssh/knownhosts/knownhosts_test.go29
1 files changed, 20 insertions, 9 deletions
diff --git a/ssh/knownhosts/knownhosts_test.go b/ssh/knownhosts/knownhosts_test.go
index 156576a..552a556 100644
--- a/ssh/knownhosts/knownhosts_test.go
+++ b/ssh/knownhosts/knownhosts_test.go
@@ -236,7 +236,7 @@ func TestLine(t *testing.T) {
"server.org": "server.org " + edKeyStr,
"server.org:22": "server.org " + edKeyStr,
"server.org:23": "[server.org]:23 " + edKeyStr,
- "[c629:1ec4:102:304:102:304:102:304]:22": "[c629:1ec4:102:304:102:304:102:304] " + edKeyStr,
+ "[c629:1ec4:102:304:102:304:102:304]:22": "c629:1ec4:102:304:102:304:102:304 " + edKeyStr,
"[c629:1ec4:102:304:102:304:102:304]:23": "[c629:1ec4:102:304:102:304:102:304]:23 " + edKeyStr,
} {
if got := Line([]string{in}, edKey); got != want {
@@ -310,14 +310,25 @@ func testHostHash(t *testing.T, hostname, encoded string) {
func TestNormalize(t *testing.T) {
for in, want := range map[string]string{
- "127.0.0.1:22": "127.0.0.1",
- "[127.0.0.1]:22": "127.0.0.1",
- "[127.0.0.1]:23": "[127.0.0.1]:23",
- "127.0.0.1:23": "[127.0.0.1]:23",
- "[a.b.c]:22": "a.b.c",
- "[abcd:abcd:abcd:abcd]": "[abcd:abcd:abcd:abcd]",
- "[abcd:abcd:abcd:abcd]:22": "[abcd:abcd:abcd:abcd]",
- "[abcd:abcd:abcd:abcd]:23": "[abcd:abcd:abcd:abcd]:23",
+ "127.0.0.1": "127.0.0.1",
+ "127.0.0.1:22": "127.0.0.1",
+ "[127.0.0.1]:22": "127.0.0.1",
+ "[127.0.0.1]:23": "[127.0.0.1]:23",
+ "127.0.0.1:23": "[127.0.0.1]:23",
+ "[a.b.c]:22": "a.b.c",
+ "[a.b.c]:23": "[a.b.c]:23",
+ "abcd::abcd:abcd:abcd": "abcd::abcd:abcd:abcd",
+ "[abcd::abcd:abcd:abcd]": "abcd::abcd:abcd:abcd",
+ "[abcd::abcd:abcd:abcd]:22": "abcd::abcd:abcd:abcd",
+ "[abcd::abcd:abcd:abcd]:23": "[abcd::abcd:abcd:abcd]:23",
+ "2001:db8::1": "2001:db8::1",
+ "2001:db8::1:22": "2001:db8::1:22",
+ "[2001:db8::1]:22": "2001:db8::1",
+ "2001:db8::1:2200": "2001:db8::1:2200",
+ "a.b.c.d.com:2200": "[a.b.c.d.com]:2200",
+ "2001::db8:1": "2001::db8:1",
+ "2001::db8:1:22": "2001::db8:1:22",
+ "2001::db8:1:2200": "2001::db8:1:2200",
} {
got := Normalize(in)
if got != want {