diff --git a/internal/engine/netx/integration_test.go b/internal/engine/netx/integration_test.go index 969a3b0..73fffff 100644 --- a/internal/engine/netx/integration_test.go +++ b/internal/engine/netx/integration_test.go @@ -68,9 +68,6 @@ func TestSuccess(t *testing.T) { } func TestBogonResolutionNotBroken(t *testing.T) { - if testing.Short() { - t.Skip("skip test in short mode") - } saver := new(trace.Saver) r := netx.NewResolver(netx.Config{ BogonIsError: true, @@ -87,7 +84,7 @@ func TestBogonResolutionNotBroken(t *testing.T) { if err.Error() != errorx.FailureDNSBogonError { t.Fatal("error not correctly wrapped") } - if len(addrs) != 1 || addrs[0] != "127.0.0.1" { - t.Fatal("address was not returned") + if len(addrs) > 0 { + t.Fatal("expected no addresses here") } } diff --git a/internal/engine/netx/resolver/bogon.go b/internal/engine/netx/resolver/bogon.go index 8103cc3..2ba0591 100644 --- a/internal/engine/netx/resolver/bogon.go +++ b/internal/engine/netx/resolver/bogon.go @@ -51,6 +51,11 @@ func IsBogon(address string) bool { // BogonResolver is a bogon aware resolver. When a bogon is encountered in // a reply, this resolver will return an error. +// +// Deprecation warning +// +// This resolver is deprecated. The right thing to do would be to check +// for bogons right after a domain name resolution in the nettest. type BogonResolver struct { Resolver } @@ -59,10 +64,8 @@ type BogonResolver struct { func (r BogonResolver) LookupHost(ctx context.Context, hostname string) ([]string, error) { addrs, err := r.Resolver.LookupHost(ctx, hostname) for _, addr := range addrs { - if IsBogon(addr) == true { - // We need to return the addrs otherwise the caller cannot see/log/save - // the specific addresses that triggered our bogon filter - return addrs, errorx.ErrDNSBogon + if IsBogon(addr) { + return nil, errorx.ErrDNSBogon } } return addrs, err diff --git a/internal/engine/netx/resolver/bogon_test.go b/internal/engine/netx/resolver/bogon_test.go index 17aebfe..b12f67d 100644 --- a/internal/engine/netx/resolver/bogon_test.go +++ b/internal/engine/netx/resolver/bogon_test.go @@ -32,8 +32,8 @@ func TestBogonAwareResolverWithBogon(t *testing.T) { if !errors.Is(err, errorx.ErrDNSBogon) { t.Fatal("not the error we expected") } - if len(addrs) != 1 || addrs[0] != "127.0.0.1" { - t.Fatal("expected to see address here") + if len(addrs) > 0 { + t.Fatal("expected to see nil here") } }