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

Port/improve Mono's managed Dns implementation? #25793

Closed
stephentoub opened this issue Apr 6, 2018 · 5 comments
Closed

Port/improve Mono's managed Dns implementation? #25793

stephentoub opened this issue Apr 6, 2018 · 5 comments
Labels
area-System.Net enhancement Product code improvement that does NOT require public API changes/additions
Milestone

Comments

@stephentoub
Copy link
Member

@migueldeicaza highlighted to me today that Mono has a managed DNS implementation:
https://github.com/mono/mono/tree/0bcbe39b148bb498742fc68416f8293ccd350fb6/mcs/class/System/Mono.Net.Dns
We should look into whether it would make sense to port and improve upon that, so as to be able to avoid depending on the DNS resolution capabilities built into specific OSes (e.g. we rely on Windows for its overlapped I/O support, but an equivalent doesn't exist built-in on Linux, and so there our async support is based on queueing work items that in turn invoke the synchronous APIs).

cc: @migueldeicaza, @geoffkizer

@ghost
Copy link

ghost commented Apr 6, 2018

What are the restrictions in it for not being able to run on mobile device: https://github.com/mono/mono/blob/2f211770198d741a35cf1f713e639cc66505db44/mcs/class/System/System.Net/Dns.cs#L47 ?

@stephentoub
Copy link
Member Author

@marek-safar, did I understand you correctly when we chatted that the aforementioned code isn't really production quality? I believe you said it's not really used by anyone (off by default), has known impactful bugs, etc.?

@marek-safar
Copy link
Contributor

@stephentoub you can find the code under https://github.com/mono/mono/tree/master/mcs/class/System/Mono.Net.Dns the main entry point is SimpleResolver.cs. It's an opt-in feature enabled via an environment variable called MONO_DNS. Looking at the history you can see we didn't touch it much recently ;-)

@migueldeicaza
Copy link
Contributor

It lacks some of the new features, like secure DNS, but it is a starting point.

@karelz
Copy link
Member

karelz commented Oct 1, 2019

Duplicate of #19443

@karelz karelz closed this as completed Oct 1, 2019
@msftgits msftgits transferred this issue from dotnet/corefx Jan 31, 2020
@msftgits msftgits added this to the 5.0 milestone Jan 31, 2020
@ghost ghost locked as resolved and limited conversation to collaborators Dec 17, 2020
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
area-System.Net enhancement Product code improvement that does NOT require public API changes/additions
Projects
None yet
Development

No branches or pull requests

5 participants