optimize(dns): use different ID for another lookup in ipversion prefer mode

This commit is contained in:
mzz2017
2023-04-07 23:13:10 +08:00
parent 38cc66d1d3
commit 066e856163
2 changed files with 4 additions and 0 deletions

View File

@ -17,10 +17,12 @@ import (
"github.com/daeuniverse/dae/component/outbound/dialer"
"github.com/mohae/deepcopy"
"github.com/mzz2017/softwind/netproxy"
"github.com/mzz2017/softwind/pkg/fastrand"
"github.com/mzz2017/softwind/pool"
"github.com/sirupsen/logrus"
"golang.org/x/net/dns/dnsmessage"
"io"
"math"
"net"
"net/netip"
"strings"
@ -369,6 +371,7 @@ func (c *DnsController) Handle_(dnsMessage *dnsmessage.Message, req *udpRequest)
// Try to make both A and AAAA lookups.
dnsMessage2 := deepcopy.Copy(dnsMessage).(*dnsmessage.Message)
dnsMessage2.ID = uint16(fastrand.Intn(math.MaxUint16))
var qtype2 dnsmessage.Type
switch qtype {
case dnsmessage.TypeA: