-
Notifications
You must be signed in to change notification settings - Fork 588
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Regression with c-ares 1.21.0/1.22.0 in nodejs tests #621
Comments
This is an intentional change in c-ares. DNS TXT records, due to the wire format, must be split every 255 characters as the length indicator for a string is a single octet. This complicates things like DKIM record that my have say 2048bit keys as the old c-ares would return this as multiple TXT records even though it is a single record entry. So in c-ares we concatenate the strings in a single TXT entry. Separate actual TXT records are output independently. As far as I am aware, there is no use-case for interpreting "strings" in a single text record independently. |
Some info, which says "If a published record contains multiple character-strings, then the record MUST be treated as if those strings are concatenated together without adding spaces": Which is what c-ares is doing today, but was NOT previously. |
I also see test-dns-resolveany-bad-ancount is returning ARES_ETIMEOUT when it is expecting ARES_EBADRESP. I'd have to see what this test case is actually doing, but likely it is considered a critical parse failure and throws away the response if its malformed and retries the query in the new version. I'd think this test should check for not ARES_SUCCESS instead. I don't think we can really revert this behavior since we're going to be implementing #620 which does require full message parsing up front to validate DNS cookies, so we can't just strip off the header to do the matching as we might want to throw away responses that look to be spoofed to wait on the legitimate response. |
hopefully with the 1.23.0 release it will fix any remaining issues |
closing this since 1.23.0 release is out and should resolve the remaining issues |
Hello,
part of the Debian package migration checks is an autopkgtest run where the newly built packages are tested within their consumers. In this case it's the node(js) package which now runs its internal test suite with c-ares 1.21.0 (and 1.22.0).
Unfortunately, there is a regression: Please see the "excuses" in the c-ares package tracking page. The i386 run for example fails with (any some more):
The test itself is located here.
Could you please take a look at this test with its failure and check if the test assumption is wrong or the new parser code has issues?
Thanks,
Gregor
CC: @addaleax
The text was updated successfully, but these errors were encountered: