-
Notifications
You must be signed in to change notification settings - Fork 29.8k
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
Tracking Issue: DNS features requiring c-ares support #14713
Comments
IMHO a native implementation of DNS without c-ares would be more future proof. |
It was attempted to write a JS resolver in the past, but performance wasn't up to par back then. Anyone aware of other libraries we could consider? |
I considered writing a small DNS library tailored for Node.js as c-ares comes with some downsides and I did not find any alternatives. Our main concerns are portability (c-ares has a lot of code just to support Windows 95), performance (we should not allow significant regression) and dependability (c-ares has been tested for years). I could try to put something together, but it will take some time and we would need to test it extensively before shipping it in release lines. |
Just as a question: what DNS resolvers do browsers use? |
@TimothyGu Usually the one of the network router which most likely forwards the requests to the caching resolvers of the ISP. |
Browsers use |
@fvdm I believe you are referring to DNS servers (routers usually act as DNS servers in local networks), this is not what this issue is about. |
@tniessen I misinterpreted resolvers in the question as the part of DNS that provides the requested answers, instead of the client software that performs the requests. My apologies. |
I think there are two different topics:
For 1) I would see this in the core and as standard as possible, perhaps even using libc getaddr* functions, and optimized for speed. |
This is coming up on two years of inactivity. @tniessen Anything new to add here? I'm guessing not. |
We can consider https://github.com/getdnsapi/getdns/blob/develop/README.md as alternative, maintained, DNSSEC-capable, TTL-capable library: https://github.com/getdnsapi/getdns/blob/develop/README.md |
@ad-m I think that would require quite a bit of porting work, but if somebody’s up for that, why not. |
Interestingly getdns has first-class support for libuv 👀 |
@devsnek, there's NodeJS binding too 👀 |
I've started looking into using getdns in core. |
NodeJS currently use 1 - We use the module miekg/dns in Golang 2 - We find another package with this support to all queries types. Another problem we have those third-party libs to DNS in NodeJS is bad. Refer issue #33299 |
@renanbastos93 that would require us adding a dependency on golang's compiler, and it also seems that library doesn't have a stable c api. |
it's okay, thanks for explaining to me. |
@nodejs/node-gyp @nodejs/gyp could i get some assistance with porting getdns's cmake config to gyp? I have stripped out a bunch of the unneeded config (tests and libev support and such): https://gist.github.com/devsnek/04666f858ae6c3ebbc43c04edd1c6a38. I'm not sure what to do with those |
@devsnek One solution: generate them for different targets, then check them in and tweak |
This adds support for DNS Certification Authority Authorization (RFC 6844) to nodejs. This closes nodejs#19239 and possibly affects nodejs#14713.
This is coming up on one year of inactivity and open for more than 3 years. @tniessen, any update on this issue? |
There has been no activity on this feature request for 5 months and it is unlikely to be implemented. It will be closed 6 months after the last non-automated comment. For more information on how the project manages feature requests, please consult the feature request management document. |
do not close pls |
There has been no activity on this feature request for 5 months and it is unlikely to be implemented. It will be closed 6 months after the last non-automated comment. For more information on how the project manages feature requests, please consult the feature request management document. |
There has been no activity on this feature request for 5 months and it is unlikely to be implemented. It will be closed 6 months after the last non-automated comment. For more information on how the project manages feature requests, please consult the feature request management document. |
@tniessen this issue has been open for 5.5 years now and, realistically, I don't expect any of the items to happen. I don't think it's a huge problem either; the dns module doesn't have to be everything for everyone, there are third-party modules that fill the gap. I suggest we close this. Aye/nay? |
based on the time we waiting for that, let's close it. I believe that if case a problem we open again. |
FYI, I think c-ares will support a majority of what you need in the near future. The goal is to expose the new parser publicly probably after this upcoming release. New parser / record API is defined here: |
There is a growing list of feature requests for the DNS module which require upstream changes for an efficient implementation within node.
dns
module.A
andAAAA
rrtypes.ANAME
questions.FYI @bagder @daviddrysdale
cc @addaleax @refack @silverwind @alexte
The text was updated successfully, but these errors were encountered: