Ver código fonte

DNS: temporary appending hosts results (#4702)

patterniha 8 meses atrás
pai
commit
59aa5e1b88
1 arquivos alterados com 8 adições e 8 exclusões
  1. 8 8
      app/dns/hosts.go

+ 8 - 8
app/dns/hosts.go

@@ -2,8 +2,6 @@ package dns
 
 import (
 	"context"
-	"sort"
-
 	"github.com/xtls/xray-core/common/errors"
 	"github.com/xtls/xray-core/common/net"
 	"github.com/xtls/xray-core/common/strmatcher"
@@ -61,14 +59,16 @@ func filterIP(ips []net.Address, option dns.IPOption) []net.Address {
 }
 
 func (h *StaticHosts) lookupInternal(domain string) []net.Address {
-	MatchSlice := h.matchers.Match(domain)
-	sort.Slice(MatchSlice, func(i, j int) bool {
-		return MatchSlice[i] < MatchSlice[j]
-	})
-	if len(MatchSlice) == 0 {
+	ips := make([]net.Address, 0)
+	found := false
+	for _, id := range h.matchers.Match(domain) {
+		ips = append(ips, h.ips[id]...)
+		found = true
+	}
+	if !found {
 		return nil
 	}
-	return h.ips[MatchSlice[0]]
+	return ips
 }
 
 func (h *StaticHosts) lookup(domain string, option dns.IPOption, maxDepth int) []net.Address {