summaryrefslogtreecommitdiff
path: root/src/backend/libpq/ifaddr.c
diff options
context:
space:
mode:
authorThomas Munro <tmunro@postgresql.org>2022-08-26 10:13:22 +1200
committerThomas Munro <tmunro@postgresql.org>2022-08-26 10:18:30 +1200
commitbcc8b14ef630b2ad9aae7813981fb248fbff9ed8 (patch)
tree522dcfb926b2b235137aec71256dbb281c1dd5af /src/backend/libpq/ifaddr.c
parent28ec316787674dd74d00b296724a009b6edc2fb0 (diff)
Remove configure probe for sockaddr_in6 and require AF_INET6.
SUSv3 <netinet/in.h> defines struct sockaddr_in6, and all targeted Unix systems have it. Windows has it in <ws2ipdef.h>. Remove the configure probe, the macro and a small amount of dead code. Also remove a mention of IPv6-less builds from the documentation, since there aren't any. This is similar to commits f5580882 and 077bf2f2 for Unix sockets. Even though AF_INET6 is an "optional" component of SUSv3, there are no known modern operating system without it, and it seems even less likely to be omitted from future systems than AF_UNIX. Reviewed-by: Andres Freund <andres@anarazel.de> Discussion: https://postgr.es/m/CA+hUKGKErNfhmvb_H0UprEmp4LPzGN06yR2_0tYikjzB-2ECMw@mail.gmail.com
Diffstat (limited to 'src/backend/libpq/ifaddr.c')
-rw-r--r--src/backend/libpq/ifaddr.c18
1 files changed, 1 insertions, 17 deletions
diff --git a/src/backend/libpq/ifaddr.c b/src/backend/libpq/ifaddr.c
index de35fbba455..ff9dadfb379 100644
--- a/src/backend/libpq/ifaddr.c
+++ b/src/backend/libpq/ifaddr.c
@@ -34,11 +34,9 @@ static int range_sockaddr_AF_INET(const struct sockaddr_in *addr,
const struct sockaddr_in *netaddr,
const struct sockaddr_in *netmask);
-#ifdef HAVE_IPV6
static int range_sockaddr_AF_INET6(const struct sockaddr_in6 *addr,
const struct sockaddr_in6 *netaddr,
const struct sockaddr_in6 *netmask);
-#endif
/*
@@ -56,12 +54,10 @@ pg_range_sockaddr(const struct sockaddr_storage *addr,
return range_sockaddr_AF_INET((const struct sockaddr_in *) addr,
(const struct sockaddr_in *) netaddr,
(const struct sockaddr_in *) netmask);
-#ifdef HAVE_IPV6
else if (addr->ss_family == AF_INET6)
return range_sockaddr_AF_INET6((const struct sockaddr_in6 *) addr,
(const struct sockaddr_in6 *) netaddr,
(const struct sockaddr_in6 *) netmask);
-#endif
else
return 0;
}
@@ -78,9 +74,6 @@ range_sockaddr_AF_INET(const struct sockaddr_in *addr,
return 0;
}
-
-#ifdef HAVE_IPV6
-
static int
range_sockaddr_AF_INET6(const struct sockaddr_in6 *addr,
const struct sockaddr_in6 *netaddr,
@@ -97,7 +90,6 @@ range_sockaddr_AF_INET6(const struct sockaddr_in6 *addr,
return 1;
}
-#endif /* HAVE_IPV6 */
/*
* pg_sockaddr_cidr_mask - make a network mask of the appropriate family
@@ -147,7 +139,6 @@ pg_sockaddr_cidr_mask(struct sockaddr_storage *mask, char *numbits, int family)
break;
}
-#ifdef HAVE_IPV6
case AF_INET6:
{
struct sockaddr_in6 mask6;
@@ -172,7 +163,7 @@ pg_sockaddr_cidr_mask(struct sockaddr_storage *mask, char *numbits, int family)
memcpy(mask, &mask6, sizeof(mask6));
break;
}
-#endif
+
default:
return -1;
}
@@ -207,13 +198,11 @@ run_ifaddr_callback(PgIfAddrCallback callback, void *cb_data,
if (((struct sockaddr_in *) mask)->sin_addr.s_addr == INADDR_ANY)
mask = NULL;
}
-#ifdef HAVE_IPV6
else if (mask->sa_family == AF_INET6)
{
if (IN6_IS_ADDR_UNSPECIFIED(&((struct sockaddr_in6 *) mask)->sin6_addr))
mask = NULL;
}
-#endif
}
/* If mask is invalid, generate our own fully-set mask */
@@ -437,10 +426,7 @@ pg_foreach_ifaddr(PgIfAddrCallback callback, void *cb_data)
{
struct sockaddr_in addr;
struct sockaddr_storage mask;
-
-#ifdef HAVE_IPV6
struct sockaddr_in6 addr6;
-#endif
/* addr 127.0.0.1/8 */
memset(&addr, 0, sizeof(addr));
@@ -452,7 +438,6 @@ pg_foreach_ifaddr(PgIfAddrCallback callback, void *cb_data)
(struct sockaddr *) &addr,
(struct sockaddr *) &mask);
-#ifdef HAVE_IPV6
/* addr ::1/128 */
memset(&addr6, 0, sizeof(addr6));
addr6.sin6_family = AF_INET6;
@@ -462,7 +447,6 @@ pg_foreach_ifaddr(PgIfAddrCallback callback, void *cb_data)
run_ifaddr_callback(callback, cb_data,
(struct sockaddr *) &addr6,
(struct sockaddr *) &mask);
-#endif
return 0;
}