mirror of
https://github.com/postgres/postgres.git
synced 2025-07-28 23:42:10 +03:00
When reporting the server as not responding, if the hostname was
supplied, also print the IP address. This allows IPv4 and IPv6 failures to be distinguished. Also useful when a hostname resolves to multiple IP addresses. Also, remove use of inet_ntoa() and use our own inet_net_ntop() in all places, including in libpq, because it is thread-safe.
This commit is contained in:
@ -388,16 +388,14 @@ getnameinfo(const struct sockaddr * sa, int salen,
|
||||
|
||||
if (node)
|
||||
{
|
||||
int ret = -1;
|
||||
|
||||
if (sa->sa_family == AF_INET)
|
||||
{
|
||||
char *p;
|
||||
|
||||
p = inet_ntoa(((struct sockaddr_in *) sa)->sin_addr);
|
||||
ret = snprintf(node, nodelen, "%s", p);
|
||||
if (inet_net_ntop(AF_INET, ((struct sockaddr_in *) sa)->sin_addr,
|
||||
sa->sa_family == AF_INET ? 32 : 128,
|
||||
node, nodelen) == NULL)
|
||||
return EAI_MEMORY;
|
||||
}
|
||||
if (ret == -1 || ret > nodelen)
|
||||
else
|
||||
return EAI_MEMORY;
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user