Compare commits

...

1 Commits

Author SHA1 Message Date
世界
ec4d472912
Handle EDNS version downgrade 2025-04-30 20:03:02 +08:00

View File

@ -232,10 +232,17 @@ func (c *Client) Exchange(ctx context.Context, transport adapter.DNSTransport, m
record.Header().Ttl = timeToLive
}
}
response.Id = messageId
if !disableCache {
c.storeCache(transport, question, response, timeToLive)
}
response.Id = messageId
requestEDNSOpt := message.IsEdns0()
responseEDNSOpt := response.IsEdns0()
if responseEDNSOpt != nil && (requestEDNSOpt == nil || requestEDNSOpt.Version() < responseEDNSOpt.Version()) {
response.Extra = common.Filter(response.Extra, func(it dns.RR) bool {
return it.Header().Rrtype != dns.TypeOPT
})
}
logExchangedResponse(c.logger, ctx, response, timeToLive)
return response, err
}