From 6a620ba2874f961a6651a34edb5df96bed7a40f1 Mon Sep 17 00:00:00 2001 From: wwqgtxx Date: Sat, 5 Jul 2025 23:04:05 +0800 Subject: [PATCH] chore: revert "chore: better dns batchExchange" This reverts commit 55f626424f944aedb2d7690dd10002d94c2b851f. The previous changes resulted in a situation where no resolution results were found when multiple DNS servers were used concurrently, and the final resolution time was dragged down by the slowest server. --- dns/util.go | 18 +----------------- 1 file changed, 1 insertion(+), 17 deletions(-) diff --git a/dns/util.go b/dns/util.go index c0fd0ea8..12dd59b4 100644 --- a/dns/util.go +++ b/dns/util.go @@ -231,8 +231,7 @@ func batchExchange(ctx context.Context, clients []dnsClient, m *D.Msg) (msg *D.M fast, ctx := picker.WithTimeout[*D.Msg](ctx, resolver.DefaultDNSTimeout) defer fast.Close() domain := msgToDomain(m) - qType, qTypeStr := msgToQtype(m) - var noIpMsg *D.Msg + _, qTypeStr := msgToQtype(m) for _, client := range clients { if _, isRCodeClient := client.(rcodeClient); isRCodeClient { msg, err = client.ExchangeContext(ctx, m) @@ -251,27 +250,12 @@ func batchExchange(ctx context.Context, clients []dnsClient, m *D.Msg) (msg *D.M } ips := msgToIP(m) log.Debugln("[DNS] %s --> %s %s from %s", domain, ips, qTypeStr, client.Address()) - switch qType { - case D.TypeAAAA: - if len(ips) == 0 { - noIpMsg = m - return nil, resolver.ErrIPNotFound - } - case D.TypeA: - if len(ips) == 0 { - noIpMsg = m - return nil, resolver.ErrIPNotFound - } - } return m, nil }) } msg = fast.Wait() if msg == nil { - if noIpMsg != nil { - return noIpMsg, false, nil - } err = errors.New("all DNS requests failed") if fErr := fast.Error(); fErr != nil { err = fmt.Errorf("%w, first error: %w", err, fErr)