Subject: | EDNS OPT handling |
Date: | Wed, 1 Jul 2020 13:59:53 +0100 |
To: | bug-Net-DNS [...] rt.cpan.org |
From: | Ray Bellis <ray [...] isc.org> |
With latest (1.25) explicitly setting the `edns->version()` on a packet
is unsufficient to trigger adding an OPT RR.
To resolve this, the "version" property should be added to the list of
fields checked in the `_specified` method of Net::DNS::RR:OPT.
A further confusion arises from the use of `packet->edns->size()` which
is ignored when you pass a packet to Net::DNS::Resolver.send() and is
promptly overwritten by the Resolver object's own `udppacketsize` property.
I'm unsure of the right fix, but I'd suggest that if the packet's EDNS
size has been explicitly specified that it shouldn't then get
overwritten internally within Net::DNS.
If I pass a packet to `send()` I'd rather hope that that's the packet
that actually gets sent! :)
cheers,
Ray