Open
Description
There are a couple issues with how network addresses are handled at the moment:
- [IP6NS Grant] Improve hostname resolution MoarVM/MoarVM#1166 was recently merged, which makes it so the
connect
,bindsock
,asyncconnect
,asynclisten
, andasyncudp
ops try to use all addresses received from a DNS lookup rather than just the first. The issue with this, as @niner pointed out, is this is that all errors when connecting/binding except the one when attempting to use the final address received are silent, but people cannot change this behaviour to suit their needs. - The way
IO::Socket::INET
andIO::Socket::Async
deal with resolving addresses is inconsistent;IO::Socket::INET
supports resolving socket addresses and hostnames, whileIO::Socket::Async
only supports resolving hostnames.