Closed pimterry closed 2 years ago
Merging #50 (c39038f) into master (4a22f87) will not change coverage. The diff coverage is
100.00%
.
@@ Coverage Diff @@
## master #50 +/- ##
=======================================
Coverage 98.98% 98.98%
=======================================
Files 1 1
Lines 197 197
=======================================
Hits 195 195
Misses 2 2
Impacted Files | Coverage Δ | |
---|---|---|
source/index.js | 98.98% <100.00%> (ø) |
Continue to review full report at Codecov.
Legend - Click here to learn more
Δ = absolute <relative> (impact)
,ø = not affected
,? = missing data
Powered by Codecov. Last update 4a22f87...c39038f. Read the comment docs.
Thanks! 🙌🏼 Released 6.0.4
Awesome, thanks! :+1:
Fixes #49
This can happen when, for example, you query with
{family:6}
on Windows but only IPv4 resolution is available.It's very difficult to pin down all the possible error cases for DNS, but I think this happens because:
uv__getaddrinfo_translate_error
in libuv for Windows falls back touv_translate_sys_error
(here)uv_translate_sys_error
mapsWSANO_DATA
toENOENT
(here)WSANO_DATA
is returned by Windows when the name exists, but not the requested record type. See https://docs.microsoft.com/en-us/windows/win32/winsock/windows-sockets-error-codes-2, which says:This shouldn't ever be returned on Unix OSs, which have their own separate & fixed list of possible errors (here).
There's more discussion and an (unmerged) PR to fix this properly and line up Unix & Windows DNS error handling here: https://github.com/libuv/libuv/issues/2959