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:
@@ -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)
|
||||
}
|
||||
|
||||
@@ -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
|
||||
)
|
||||
@@ -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{}
|
||||
|
||||
@@ -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,
|
||||
|
||||
@@ -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
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user