-
Notifications
You must be signed in to change notification settings - Fork 229
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
dns.resolver.query() causes deprecation warning when using dnspython >=2.0.0 #54
Comments
Meh, why do people do this? If they deprecate something they should wait for a while til the replacement is widely deployed. I think we'll have to do some magic to let it work with both versions. My "compatibility requirement" is usually "needs to work with what's shipped in debian stable". Which likely means we'll have to deal with this for a while. |
What do you think about something like:
? And a big comment that once dnspython 2.0 or above is widely deployed this should be simplified again. |
I agree that this kind of hard deprecations is not really the nicest way. |
Just to quickly record this here: About the other use of dnspython which is only called from the invalidsrc test: I'm not entirely sure if we need this at all, I don't remember my intentions when I implemented this, but it looks like it's just a fallback if the normal socket function does not work. |
Ok, I'm not happy with the amount of changes required to make dnspython 2.0 happy, but here it is: It seems it no longer likes to do axfr queries on a hostname, so we need to first resolve IPs. I changed it to use multiple IPs on NS and also do v4/v6, so this also makes the test more thorough. Can you please test? |
I did some quick tests and didn't get any warnings or errors/exceptions anymore. |
Ok, will consider this as fixed. Obviously if you see any other issues please open another bug. |
In dnspython 2.0.0, dns.resolver.query() has been deprecated, dns.resolver.resolve() should be used instead. Therefore, with dnspython >=2.0.0, snallygaster causes deprecation warnings. However, using dns.resolver.resolve() would make the tool incompatible with dnspython <2.0.0. If that is not an issue, the following path would remove the warnings:
If you want to apply this, I can create a PR.
The text was updated successfully, but these errors were encountered: