cleanup(netx): remove more legacy names and functions (#658)

This diff addresses two items of https://github.com/ooni/probe/issues/1956:

> - [ ] we can remove legacy names from `./internal/engine/netx/resolver/legacy.go`
>
> - [ ] we can remove `DialTLSContext` from `./internal/engine/netx/resolver/tls_test.go`

More cleanups may follow.
This commit is contained in:
Simone Basso
2022-01-07 20:02:19 +01:00
committed by GitHub
parent 423a3feacc
commit 554ae47c5a
8 changed files with 60 additions and 123 deletions
@@ -2,12 +2,12 @@ package resolver_test
import (
"context"
"crypto/tls"
"net"
"net/http"
"testing"
"github.com/apex/log"
"github.com/ooni/probe-cli/v3/internal/engine/netx/resolver"
"github.com/ooni/probe-cli/v3/internal/model"
"github.com/ooni/probe-cli/v3/internal/netxlite"
)
@@ -70,50 +70,50 @@ func TestNewResolverSystem(t *testing.T) {
}
func TestNewResolverUDPAddress(t *testing.T) {
reso := resolver.NewSerialResolver(
resolver.NewDNSOverUDP(netxlite.DefaultDialer, "8.8.8.8:53"))
reso := netxlite.NewSerialResolver(
netxlite.NewDNSOverUDP(netxlite.DefaultDialer, "8.8.8.8:53"))
testresolverquick(t, reso)
testresolverquickidna(t, reso)
}
func TestNewResolverUDPDomain(t *testing.T) {
reso := resolver.NewSerialResolver(
resolver.NewDNSOverUDP(netxlite.DefaultDialer, "dns.google.com:53"))
reso := netxlite.NewSerialResolver(
netxlite.NewDNSOverUDP(netxlite.DefaultDialer, "dns.google.com:53"))
testresolverquick(t, reso)
testresolverquickidna(t, reso)
}
func TestNewResolverTCPAddress(t *testing.T) {
reso := resolver.NewSerialResolver(
resolver.NewDNSOverTCP(new(net.Dialer).DialContext, "8.8.8.8:53"))
reso := netxlite.NewSerialResolver(
netxlite.NewDNSOverTCP(new(net.Dialer).DialContext, "8.8.8.8:53"))
testresolverquick(t, reso)
testresolverquickidna(t, reso)
}
func TestNewResolverTCPDomain(t *testing.T) {
reso := resolver.NewSerialResolver(
resolver.NewDNSOverTCP(new(net.Dialer).DialContext, "dns.google.com:53"))
reso := netxlite.NewSerialResolver(
netxlite.NewDNSOverTCP(new(net.Dialer).DialContext, "dns.google.com:53"))
testresolverquick(t, reso)
testresolverquickidna(t, reso)
}
func TestNewResolverDoTAddress(t *testing.T) {
reso := resolver.NewSerialResolver(
resolver.NewDNSOverTLS(resolver.DialTLSContext, "8.8.8.8:853"))
reso := netxlite.NewSerialResolver(
netxlite.NewDNSOverTLS(new(tls.Dialer).DialContext, "8.8.8.8:853"))
testresolverquick(t, reso)
testresolverquickidna(t, reso)
}
func TestNewResolverDoTDomain(t *testing.T) {
reso := resolver.NewSerialResolver(
resolver.NewDNSOverTLS(resolver.DialTLSContext, "dns.google.com:853"))
reso := netxlite.NewSerialResolver(
netxlite.NewDNSOverTLS(new(tls.Dialer).DialContext, "dns.google.com:853"))
testresolverquick(t, reso)
testresolverquickidna(t, reso)
}
func TestNewResolverDoH(t *testing.T) {
reso := resolver.NewSerialResolver(
resolver.NewDNSOverHTTPS(http.DefaultClient, "https://cloudflare-dns.com/dns-query"))
reso := netxlite.NewSerialResolver(
netxlite.NewDNSOverHTTPS(http.DefaultClient, "https://cloudflare-dns.com/dns-query"))
testresolverquick(t, reso)
testresolverquickidna(t, reso)
}
-31
View File
@@ -1,31 +0,0 @@
package resolver
import (
"github.com/ooni/probe-cli/v3/internal/model"
"github.com/ooni/probe-cli/v3/internal/netxlite"
)
// Variables that other packages expect to find here but have been
// moved into the internal/netxlite package.
var (
NewSerialResolver = netxlite.NewSerialResolver
NewDNSOverUDP = netxlite.NewDNSOverUDP
NewDNSOverTCP = netxlite.NewDNSOverTCP
NewDNSOverTLS = netxlite.NewDNSOverTLS
NewDNSOverHTTPS = netxlite.NewDNSOverHTTPS
NewDNSOverHTTPSWithHostOverride = netxlite.NewDNSOverHTTPSWithHostOverride
)
// Types that other packages expect to find here but have been
// moved into the internal/netxlite package.
type (
DNSOverHTTPS = netxlite.DNSOverHTTPS
DNSOverTCP = netxlite.DNSOverTCP
DNSOverUDP = netxlite.DNSOverUDP
MiekgEncoder = netxlite.DNSEncoderMiekg
MiekgDecoder = netxlite.DNSDecoderMiekg
RoundTripper = model.DNSTransport
SerialResolver = netxlite.SerialResolver
Dialer = model.Dialer
DialContextFunc = netxlite.DialContextFunc
)
+3 -3
View File
@@ -41,7 +41,7 @@ func (r SaverResolver) LookupHost(ctx context.Context, hostname string) ([]strin
// SaverDNSTransport is a DNS transport that saves events
type SaverDNSTransport struct {
RoundTripper
model.DNSTransport
Saver *trace.Saver
}
@@ -55,7 +55,7 @@ func (txp SaverDNSTransport) RoundTrip(ctx context.Context, query []byte) ([]byt
Proto: txp.Network(),
Time: start,
})
reply, err := txp.RoundTripper.RoundTrip(ctx, query)
reply, err := txp.DNSTransport.RoundTrip(ctx, query)
stop := time.Now()
txp.Saver.Write(trace.Event{
Address: txp.Address(),
@@ -71,4 +71,4 @@ func (txp SaverDNSTransport) RoundTrip(ctx context.Context, query []byte) ([]byt
}
var _ model.Resolver = SaverResolver{}
var _ RoundTripper = SaverDNSTransport{}
var _ model.DNSTransport = SaverDNSTransport{}
+2 -2
View File
@@ -114,7 +114,7 @@ func TestSaverDNSTransportFailure(t *testing.T) {
expected := errors.New("no such host")
saver := &trace.Saver{}
txp := resolver.SaverDNSTransport{
RoundTripper: resolver.FakeTransport{
DNSTransport: resolver.FakeTransport{
Err: expected,
},
Saver: saver,
@@ -164,7 +164,7 @@ func TestSaverDNSTransportSuccess(t *testing.T) {
expected := []byte("def")
saver := &trace.Saver{}
txp := resolver.SaverDNSTransport{
RoundTripper: resolver.FakeTransport{
DNSTransport: resolver.FakeTransport{
Data: expected,
},
Saver: saver,
-32
View File
@@ -1,32 +0,0 @@
package resolver
import (
"context"
"crypto/tls"
"net"
)
func DialTLSContext(ctx context.Context, network, address string) (net.Conn, error) {
connch := make(chan net.Conn)
errch := make(chan error, 1)
go func() {
conn, err := tls.Dial(network, address, new(tls.Config))
if err != nil {
errch <- err
return
}
select {
case <-ctx.Done():
conn.Close()
case connch <- conn:
}
}()
select {
case <-ctx.Done():
return nil, ctx.Err()
case conn := <-connch:
return conn, nil
case err := <-errch:
return nil, err
}
}