Test each address returned in the getaddrinfo() call and stop blindly preferring IPv4

Fixes NAT64 on iOS 12 and probably other obscure configurations
This commit is contained in:
Cameron Gutman
2018-11-16 00:37:38 -08:00
parent d9210a6a9a
commit 396b02a94d
4 changed files with 41 additions and 35 deletions

View File

@@ -72,7 +72,7 @@ typedef socklen_t SOCKADDR_LEN;
#define URLSAFESTRING_LEN (INET6_ADDRSTRLEN+2)
void addrToUrlSafeString(struct sockaddr_storage* addr, char* string);
int resolveHostName(const char* host, struct sockaddr_storage* addr, SOCKADDR_LEN* addrLen);
int resolveHostName(const char* host, int family, int tcpTestPort, struct sockaddr_storage* addr, SOCKADDR_LEN* addrLen);
SOCKET connectTcpSocket(struct sockaddr_storage* dstaddr, SOCKADDR_LEN addrlen, unsigned short port, int timeoutSec);
SOCKET bindUdpSocket(int addrfamily, int bufferSize);
int enableNoDelay(SOCKET s);