-
Notifications
You must be signed in to change notification settings - Fork 13.2k
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 name resolution more than getaddrinfo() #8925
Comments
Apart from libc one, libuv also has a getaddrinfo, and I think it would be good to also expose/wrap that. |
cc #9000 |
@alexcrichton Is this done? |
I think the simple aspect is done, but I believe that we have the bare bones ability to work, but "fancy dns" like dealing with MX records would require a full DNS implementation (not currently present). I do not think this is a 1.0 blocker, this is more of an interesting project at this point. |
(updated title a bit) |
I need bulk DNS lookup for a project I'm working on in Rust, and would like to make a more fully featured DNS resolver. If what I need overlaps with what would be acceptable for use in the standard library, that work could of course be shared. What's the scope of things that could be included in the standard library? There's a few different things a "DNS Resolver" library could encompass:
Binding an external library like libunbound is certainly a possibility to get everything but the host OS config, but adds dependencies for Rust. Any other way probably wouldn't include DNSSEC support. The async API is most useful to me, as I'd like to have hundreds of DNS requests in flight at least. But most existing rust APIs are not async, so I'd like some guidance on what's appropriate for inclusion. |
If a DNS library were to encompass all of the features you listed, I would likely expect it to be its own separate library. We could include the library in the libstd facade to reexport it in the standard library, but I don't think all of that functionality belongs in the standard library itself (just as channels are no longer there). Does that make sense to you? This sounds awesome though! I'd love to get some more flavorful DNS support. |
I'm going to start working on this outside the standard library (and put it in cargo). |
Awesome! Thanks! |
@mcpherrinm did you get around to writing any code for this? Kind of interested in a similar feature myself. |
@zmack I haven't yet; the project that required DNS is on the back-burner right now. |
need to async |
I'm pulling a massive triage effort to get us ready for 1.0. As part of this, I'm moving stuff that's wishlist-like to the RFCs repo, as that's where major new things should get discussed/prioritized. This issue has been moved to the RFCs repo: rust-lang/rfcs#654 |
There should be a way to do DNS name resolution in the standard library.
The text was updated successfully, but these errors were encountered: