* whois: use the upstream server to resolve whois server hostname
Close #1535 Squashed commit of the following: commit 7755d7a50e48db5d341029e1c21da95a396d9090 Merge: e24e945f5c2ca690
Author: Simon Zolin <s.zolin@adguard.com> Date: Wed May 27 14:41:24 2020 +0300 Merge remote-tracking branch 'origin/master' into 1535-whois-resolve commit e24e945f9b949e3cabcddb3a8a62962bb7a5b0b9 Merge: db764710355e634f
Author: Simon Zolin <s.zolin@adguard.com> Date: Wed May 27 14:29:44 2020 +0300 Merge remote-tracking branch 'origin/master' into 1535-whois-resolve commit db764710a0f0b60293f7bdf6b0d7b858d56819e0 Author: Simon Zolin <s.zolin@adguard.com> Date: Wed May 27 12:57:00 2020 +0300 fix commit dc38f668d5845cfd696b3107a8f02dda4f10298e Author: Simon Zolin <s.zolin@adguard.com> Date: Wed May 27 12:44:10 2020 +0300 * whois: use the upstream server to resolve whois server hostname
This commit is contained in:
parent
5c2ca69018
commit
391e619979
|
@ -1,6 +1,7 @@
|
||||||
package home
|
package home
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"context"
|
||||||
"encoding/binary"
|
"encoding/binary"
|
||||||
"fmt"
|
"fmt"
|
||||||
"io/ioutil"
|
"io/ioutil"
|
||||||
|
@ -120,7 +121,7 @@ func (w *Whois) query(target string, serverAddr string) (string, error) {
|
||||||
if addr == "whois.arin.net" {
|
if addr == "whois.arin.net" {
|
||||||
target = "n + " + target
|
target = "n + " + target
|
||||||
}
|
}
|
||||||
conn, err := net.DialTimeout("tcp", serverAddr, time.Duration(w.timeoutMsec)*time.Millisecond)
|
conn, err := customDialContext(context.TODO(), "tcp", serverAddr)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return "", err
|
return "", err
|
||||||
}
|
}
|
||||||
|
|
|
@ -2,11 +2,29 @@ package home
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"testing"
|
"testing"
|
||||||
|
"time"
|
||||||
|
|
||||||
|
"github.com/AdguardTeam/AdGuardHome/dnsforward"
|
||||||
|
"github.com/AdguardTeam/dnsproxy/proxy"
|
||||||
"github.com/stretchr/testify/assert"
|
"github.com/stretchr/testify/assert"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
func prepareTestDNSServer() error {
|
||||||
|
config.DNS.Port = 1234
|
||||||
|
Context.dnsServer = dnsforward.NewServer(nil, nil, nil)
|
||||||
|
conf := &dnsforward.ServerConfig{}
|
||||||
|
uc, err := proxy.ParseUpstreamsConfig([]string{"1.1.1.1"}, nil, time.Second*5)
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
conf.UpstreamConfig = &uc
|
||||||
|
return Context.dnsServer.Prepare(conf)
|
||||||
|
}
|
||||||
|
|
||||||
func TestWhois(t *testing.T) {
|
func TestWhois(t *testing.T) {
|
||||||
|
err := prepareTestDNSServer()
|
||||||
|
assert.Nil(t, err)
|
||||||
|
|
||||||
w := Whois{timeoutMsec: 5000}
|
w := Whois{timeoutMsec: 5000}
|
||||||
resp, err := w.queryAll("8.8.8.8")
|
resp, err := w.queryAll("8.8.8.8")
|
||||||
assert.True(t, err == nil)
|
assert.True(t, err == nil)
|
||||||
|
|
Loading…
Reference in New Issue