diff --git a/dnscrypt-proxy/plugin_get_set_payload_size.go b/dnscrypt-proxy/plugin_get_set_payload_size.go index 7f551e59..d866120f 100644 --- a/dnscrypt-proxy/plugin_get_set_payload_size.go +++ b/dnscrypt-proxy/plugin_get_set_payload_size.go @@ -35,6 +35,13 @@ func (plugin *PluginGetSetPayloadSize) Eval(pluginsState *PluginsState, msg *dns pluginsState.dnssec = dnssec pluginsState.maxPayloadSize = Min(MaxDNSUDPPacketSize-ResponseOverhead, Max(pluginsState.originalMaxPayloadSize, pluginsState.maxPayloadSize)) if pluginsState.maxPayloadSize > 512 { + extra2 := []dns.RR{} + for _, extra := range msg.Extra { + if extra.Header().Rrtype != dns.TypeOPT { + extra2 = append(extra2, extra) + } + } + msg.Extra = extra2 msg.SetEdns0(uint16(pluginsState.maxPayloadSize), dnssec) } return nil