1
0
Fork 0
mirror of https://github.com/XTLS/Xray-core.git synced 2025-04-05 23:03:34 +03:00

DNS: Ensure order for DNS server match

This commit is contained in:
风扇滑翔翼 2025-03-19 14:30:47 +00:00 committed by GitHub
parent 2cba2c4d59
commit e07672037f
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -4,6 +4,7 @@ package dns
import (
"context"
"fmt"
"sort"
"strings"
"sync"
@ -250,7 +251,11 @@ func (s *DNS) sortClients(domain string) []*Client {
// Priority domain matching
hasMatch := false
for _, match := range s.domainMatcher.Match(domain) {
MatchSlice := s.domainMatcher.Match(domain)
sort.Slice(MatchSlice, func(i, j int) bool {
return MatchSlice[i] < MatchSlice[j]
})
for _, match := range MatchSlice {
info := s.matcherInfos[match]
client := s.clients[info.clientIdx]
domainRule := client.domains[info.domainRuleIdx]