From c111675dd8788ef8ab662989b1e5a90fc04a9a56 Mon Sep 17 00:00:00 2001 From: Viktor Liu <17948409+lixmal@users.noreply.github.com> Date: Wed, 5 Mar 2025 18:57:17 +0100 Subject: [PATCH] [client] Handle large DNS packets in dns route resolution (#3441) --- client/internal/routemanager/dnsinterceptor/handler.go | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/client/internal/routemanager/dnsinterceptor/handler.go b/client/internal/routemanager/dnsinterceptor/handler.go index f36285cc4..da1056e2d 100644 --- a/client/internal/routemanager/dnsinterceptor/handler.go +++ b/client/internal/routemanager/dnsinterceptor/handler.go @@ -160,6 +160,12 @@ func (d *DnsInterceptor) ServeDNS(w dns.ResponseWriter, r *dns.Msg) { return } + // set the AuthenticatedData flag and the EDNS0 buffer size to 4096 bytes to support larger dns records + if r.Extra == nil { + r.SetEdns0(4096, false) + r.MsgHdr.AuthenticatedData = true + } + client := &dns.Client{ Timeout: 5 * time.Second, Net: "udp",