Skip to content
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

dynamically fallback to getaddrinfo if hickory-dns doesn't work #1700

Open
NobodyXu opened this issue May 11, 2024 · 1 comment
Open

dynamically fallback to getaddrinfo if hickory-dns doesn't work #1700

NobodyXu opened this issue May 11, 2024 · 1 comment

Comments

@NobodyXu
Copy link
Member

We could also, dynamically fallback to getaddrinfo if hickory-dns doesn't work
Might be worthwhile to consider, not sure if that has any security concerns (different guarantees? Like with DNSSEC I suppose if someone is expecting a failure to hard-fail)

We could expose this in dns options hickory-dns-with-getaddrinfo fallback so that user can disable it.

Currently we don't provide any guarantee or any option to tune dns, like banning unecrypted DNS or limiting tls version used in dns resolution, so I think it's fine.

Also, we could provide an option to disable hickory-dns at runtime.

That's probably more convenient. You could alternatively publish a build with the feature disabled to releases

Providing builds with features disabled would be more maintenance and most user just use the official one-line script or cargo-binstall to self-update won't notice it.

I prefer disabling it at runtime using cmdline options, that would give them flexibility on this, enabling users to test with a different dns to verify the problem.

Originally posted by @NobodyXu in #1688 (comment)

@NobodyXu
Copy link
Member Author

In the reference thread, for the specific setup inside docker on desktop, using WSL, the getaddrinfo works but hickory-dns does not, possibly due to NSS lookup.

I'd suggest to fallback to getaddrinfo if it doesn't work, it would make cargo-binstall dns resolution works more reliably in these environments.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant