Indeed, correctly coded applications will use a getaddrinfo()
and then a connect() in a loop until succesful.
it's perfectly reasonable to connect to an address without first
doing a DNS lookup.
I think nobody can't help you if you are using hardcoded IP's.
The only case you have an IP without DNS is when you get it
passed from another layer/entity (eg in a FTP from the server).
uh, no. you can get IP addresses from any number of sources other than
DNS, including from other processes that exist on other nodes. It's a
perfectly reasonable thing to do.
Can you identify those so that getaddrinfo() can be expanded
to fix these cases?
getaddrinfo() cannot be fixed. it's major premise - that the host has
the knowledge to make decisions about which of several addresses is best
to use - is fundamentally flawed, except in a few corner cases.