This is ... kinda silly? I'm going to work around it for now by using -b but it would be nice to update socket logic to try different hosts.
The TL;DR is:
- resolve() returns the host list
- connect_socks_target() only tries /one/ entry in the list
- github.com returns only A records
- freebsd.org git repo IPs return AAAA and A records
- my interfaces have local v6 addresses but currently (for stupid reasons) no global v6 addresses
- so, if I try connecting to freebsd.org hosts, it will see AAAA is likely fine, bind() ok, connect() hits "HOST_UNREACHABLE" and bam.
It would be nice if instead it could loop over the hosts returned by getaddrinfo() and try them until one succeeds?
This is ... kinda silly? I'm going to work around it for now by using -b but it would be nice to update socket logic to try different hosts.
The TL;DR is:
It would be nice if instead it could loop over the hosts returned by getaddrinfo() and try them until one succeeds?