Fix DNS exchange index

Signed-off-by: 气息 <qdshizh@gmail.com>
This commit is contained in:
气息 2024-03-19 12:04:16 +08:00 committed by 世界
parent 3efaf834db
commit 1fa7de078b
No known key found for this signature in database
GPG key ID: CD109927C34A63C4

View file

@ -47,7 +47,7 @@ func (r *Router) matchDNS(ctx context.Context, allowFakeIP bool, index int) (con
if index != -1 { if index != -1 {
dnsRules = dnsRules[index+1:] dnsRules = dnsRules[index+1:]
} }
for ruleIndex, rule := range dnsRules { for currentRuleIndex, rule := range dnsRules {
metadata.ResetRuleCache() metadata.ResetRuleCache()
if rule.Match(metadata) { if rule.Match(metadata) {
detour := rule.Outbound() detour := rule.Outbound()
@ -60,11 +60,11 @@ func (r *Router) matchDNS(ctx context.Context, allowFakeIP bool, index int) (con
if isFakeIP && !allowFakeIP { if isFakeIP && !allowFakeIP {
continue continue
} }
displayRuleIndex := ruleIndex ruleIndex := currentRuleIndex
if index != -1 { if index != -1 {
displayRuleIndex += index + 1 ruleIndex += index + 1
} }
r.dnsLogger.DebugContext(ctx, "match[", displayRuleIndex, "] ", rule.String(), " => ", detour) r.dnsLogger.DebugContext(ctx, "match[", ruleIndex, "] ", rule.String(), " => ", detour)
if isFakeIP || rule.DisableCache() { if isFakeIP || rule.DisableCache() {
ctx = dns.ContextWithDisableCache(ctx, true) ctx = dns.ContextWithDisableCache(ctx, true)
} }