-
Notifications
You must be signed in to change notification settings - Fork 29
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
Handle RCode::ServFail
from nameserver response
#26
base: master
Are you sure you want to change the base?
Conversation
@hsbt how can we get this merged? |
Can you add test for this at least? |
Sure i will do so (or at least will give it a try - I am not a ruby pro 😉) |
048a670
to
b66db3b
Compare
b66db3b
to
f53cea1
Compare
@hsbt please have a look at the added test case. |
@hsbt did you had a chance to look into this? |
I have examined the logic but don't know if this works with TCP fallback. I'm thinking of a situation as follows:
In this case, it is expected that:
IIUC, the proposed implementation will:
To make this work properly, maybe we have to reset the requester before when RCode::ServFail
if Requester::TCP === requester
requester.close
requester = nil # next iteration assigns new TCP requester
end
next Sorry if I'm wrong. I feel confused 😵 . |
I found this was not a sufficient solution. Please forget about it. We also need to think of what should happen if all of the nameservers return ServFail (This is the expected result when the record set has a bogus DNSSEC signature). Line 1149 in 22153c2
Resolv::DNS::Config#resolv , which conducts retrying.
|
Fixes #23
Try next nameserver if current nameserver response is
RCode::ServFail