Skip to content

Commit 89d17ba

Browse files
committed
Remove the additional records in queries before forwarded
Fixes #2867
1 parent c9a8e3a commit 89d17ba

1 file changed

Lines changed: 7 additions & 2 deletions

File tree

dnscrypt-proxy/plugin_forward.go

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -306,13 +306,18 @@ func (plugin *PluginForward) Eval(pluginsState *PluginsState, msg *dns.Msg) erro
306306
tries--
307307
dlog.Debugf("Forwarding [%s] to [%s]", qName, server)
308308
client := dns.Client{Net: pluginsState.serverProto, Timeout: pluginsState.timeout}
309-
respMsg, _, err = client.Exchange(msg, server)
309+
310+
// Create a clean copy of the message without Extra section for forwarding
311+
forwardMsg := msg.Copy()
312+
forwardMsg.Extra = nil
313+
314+
respMsg, _, err = client.Exchange(forwardMsg, server)
310315
if err != nil {
311316
continue
312317
}
313318
if respMsg.Truncated {
314319
client.Net = "tcp"
315-
respMsg, _, err = client.Exchange(msg, server)
320+
respMsg, _, err = client.Exchange(forwardMsg, server)
316321
if err != nil {
317322
continue
318323
}

0 commit comments

Comments
 (0)