]> Cypherpunks.ru repositories - gostls13.git/commitdiff
net: don't rely on system hosts in TestCVE202133195
authorRoland Shoemaker <roland@golang.org>
Wed, 2 Jun 2021 16:20:22 +0000 (09:20 -0700)
committerDamien Neil <dneil@google.com>
Wed, 2 Jun 2021 21:39:28 +0000 (21:39 +0000)
Also don't unnecessarily deref the error return.

Fixes #46504

Change-Id: I22d14ac76776f8988fa0774bdcb5fcd801ce0185
Reviewed-on: https://go-review.googlesource.com/c/go/+/324190
Trust: David Chase <drchase@google.com>
Trust: Damien Neil <dneil@google.com>
Run-TryBot: David Chase <drchase@google.com>
TryBot-Result: Go Bot <gobot@golang.org>
Reviewed-by: Damien Neil <dneil@google.com>
src/net/dnsclient_unix_test.go

index a718e75a726af486d621d48edd14d888ab6cc834..a59be7fea0d7a0d1cf3d2a8e3a8a35c2af23da16 100644 (file)
@@ -1898,61 +1898,62 @@ func TestCVE202133195(t *testing.T) {
        // Change the default resolver to match our manipulated resolver
        originalDefault := DefaultResolver
        DefaultResolver = &r
-       defer func() {
-               DefaultResolver = originalDefault
-       }()
+       defer func() { DefaultResolver = originalDefault }()
+       // Redirect host file lookups.
+       defer func(orig string) { testHookHostsPath = orig }(testHookHostsPath)
+       testHookHostsPath = "testdata/hosts"
 
        _, err := r.LookupCNAME(context.Background(), "golang.org")
        if expected := "lookup golang.org: CNAME target is invalid"; err == nil || err.Error() != expected {
-               t.Errorf("Resolver.LookupCNAME returned unexpected error, got %q, want %q", err.Error(), expected)
+               t.Errorf("Resolver.LookupCNAME returned unexpected error, got %q, want %q", err, expected)
        }
        _, err = LookupCNAME("golang.org")
        if expected := "lookup golang.org: CNAME target is invalid"; err == nil || err.Error() != expected {
-               t.Errorf("LookupCNAME returned unexpected error, got %q, want %q", err.Error(), expected)
+               t.Errorf("LookupCNAME returned unexpected error, got %q, want %q", err, expected)
        }
 
        _, _, err = r.LookupSRV(context.Background(), "target", "tcp", "golang.org")
        if expected := "lookup golang.org: SRV target is invalid"; err == nil || err.Error() != expected {
-               t.Errorf("Resolver.LookupSRV returned unexpected error, got %q, want %q", err.Error(), expected)
+               t.Errorf("Resolver.LookupSRV returned unexpected error, got %q, want %q", err, expected)
        }
        _, _, err = LookupSRV("target", "tcp", "golang.org")
        if expected := "lookup golang.org: SRV target is invalid"; err == nil || err.Error() != expected {
-               t.Errorf("LookupSRV returned unexpected error, got %q, want %q", err.Error(), expected)
+               t.Errorf("LookupSRV returned unexpected error, got %q, want %q", err, expected)
        }
 
        _, _, err = r.LookupSRV(context.Background(), "hdr", "tcp", "golang.org")
        if expected := "lookup golang.org: SRV header name is invalid"; err == nil || err.Error() != expected {
-               t.Errorf("Resolver.LookupSRV returned unexpected error, got %q, want %q", err.Error(), expected)
+               t.Errorf("Resolver.LookupSRV returned unexpected error, got %q, want %q", err, expected)
        }
        _, _, err = LookupSRV("hdr", "tcp", "golang.org")
        if expected := "lookup golang.org: SRV header name is invalid"; err == nil || err.Error() != expected {
-               t.Errorf("LookupSRV returned unexpected error, got %q, want %q", err.Error(), expected)
+               t.Errorf("LookupSRV returned unexpected error, got %q, want %q", err, expected)
        }
 
        _, err = r.LookupMX(context.Background(), "golang.org")
        if expected := "lookup golang.org: MX target is invalid"; err == nil || err.Error() != expected {
-               t.Errorf("Resolver.LookupMX returned unexpected error, got %q, want %q", err.Error(), expected)
+               t.Errorf("Resolver.LookupMX returned unexpected error, got %q, want %q", err, expected)
        }
        _, err = LookupMX("golang.org")
        if expected := "lookup golang.org: MX target is invalid"; err == nil || err.Error() != expected {
-               t.Errorf("LookupMX returned unexpected error, got %q, want %q", err.Error(), expected)
+               t.Errorf("LookupMX returned unexpected error, got %q, want %q", err, expected)
        }
 
        _, err = r.LookupNS(context.Background(), "golang.org")
        if expected := "lookup golang.org: NS target is invalid"; err == nil || err.Error() != expected {
-               t.Errorf("Resolver.LookupNS returned unexpected error, got %q, want %q", err.Error(), expected)
+               t.Errorf("Resolver.LookupNS returned unexpected error, got %q, want %q", err, expected)
        }
        _, err = LookupNS("golang.org")
        if expected := "lookup golang.org: NS target is invalid"; err == nil || err.Error() != expected {
-               t.Errorf("LookupNS returned unexpected error, got %q, want %q", err.Error(), expected)
+               t.Errorf("LookupNS returned unexpected error, got %q, want %q", err, expected)
        }
 
-       _, err = r.LookupAddr(context.Background(), "1.2.3.4")
-       if expected := "lookup 1.2.3.4: PTR target is invalid"; err == nil || err.Error() != expected {
-               t.Errorf("Resolver.LookupAddr returned unexpected error, got %q, want %q", err.Error(), expected)
+       _, err = r.LookupAddr(context.Background(), "192.0.2.42")
+       if expected := "lookup 192.0.2.42: PTR target is invalid"; err == nil || err.Error() != expected {
+               t.Errorf("Resolver.LookupAddr returned unexpected error, got %q, want %q", err, expected)
        }
-       _, err = LookupAddr("1.2.3.4")
-       if expected := "lookup 1.2.3.4: PTR target is invalid"; err == nil || err.Error() != expected {
-               t.Errorf("LookupAddr returned unexpected error, got %q, want %q", err.Error(), expected)
+       _, err = LookupAddr("192.0.2.42")
+       if expected := "lookup 192.0.2.42: PTR target is invalid"; err == nil || err.Error() != expected {
+               t.Errorf("LookupAddr returned unexpected error, got %q, want %q", err, expected)
        }
 }