You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This issue is down to DNSServer not understanding the extra EDNS information that dig is including in its request, and then getting the error response wrong.
EDNS uses an OPT RR in the additional records section. DNSServer expects there to be 0 additional records with an incoming query and so fails the request. However, there are two separate issues with the error response that it returns:
a) It should return a FORMERR to make dig retry the request without the EDNS OPT record. Instead, it returns whatever custom error code the user has set
b) It copies the header from the query when composing the response, but doesn't reset the ARCount, so claims to be returning 1 additional record when it never copies the additional record into the response payload.
These two issues will probably break any EDNS compatible resolver that doesn't work around broken servers.
I started digging into this, and have actually ended up restructuring all of the request handling code in DNSServer to make it more robust. I'll push a pull request for that once I've completed testing it.
Basic Infos
Platform
Settings in IDE
Problem Description
DNSServer library has issues.
Related to #5529, more details in this comment.
Also related with the much older #3357.
MCVE Sketch
DNSServer example (Files>Examples>DNSServer>DNSServer)
Debug Messages
On unix:
Here, working (not always when following the #5529 comment above)
This warning + no answer must be solved:
The text was updated successfully, but these errors were encountered: