Browse Source

Fix queryStrategy ignored (#1285)

世界 4 years ago
parent
commit
8cc6fbc6f9
1 changed files with 13 additions and 15 deletions
  1. 13 15
      app/dns/dns.go

+ 13 - 15
app/dns/dns.go

@@ -175,29 +175,27 @@ func (s *DNS) IsOwnLink(ctx context.Context) bool {
 
 // LookupIP implements dns.Client.
 func (s *DNS) LookupIP(domain string) ([]net.IP, error) {
-	return s.lookupIPInternal(domain, dns.IPOption{
-		IPv4Enable: true,
-		IPv6Enable: true,
-		FakeEnable: s.ipOption.FakeEnable,
-	})
+	return s.lookupIPInternal(domain, *s.ipOption)
 }
 
 // LookupIPv4 implements dns.IPv4Lookup.
 func (s *DNS) LookupIPv4(domain string) ([]net.IP, error) {
-	return s.lookupIPInternal(domain, dns.IPOption{
-		IPv4Enable: true,
-		IPv6Enable: false,
-		FakeEnable: s.ipOption.FakeEnable,
-	})
+	if !s.ipOption.IPv4Enable {
+		return nil, dns.ErrEmptyResponse
+	}
+	o := *s.ipOption
+	o.IPv6Enable = false
+	return s.lookupIPInternal(domain, o)
 }
 
 // LookupIPv6 implements dns.IPv6Lookup.
 func (s *DNS) LookupIPv6(domain string) ([]net.IP, error) {
-	return s.lookupIPInternal(domain, dns.IPOption{
-		IPv4Enable: false,
-		IPv6Enable: true,
-		FakeEnable: s.ipOption.FakeEnable,
-	})
+	if !s.ipOption.IPv6Enable {
+		return nil, dns.ErrEmptyResponse
+	}
+	o := *s.ipOption
+	o.IPv4Enable = false
+	return s.lookupIPInternal(domain, o)
 }
 
 func (s *DNS) lookupIPInternal(domain string, option dns.IPOption) ([]net.IP, error) {