mirror of
https://github.com/postgres/postgres.git
synced 2025-05-13 01:13:08 -04:00
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
This commit is contained in:
parent
28ec316787
commit
bcc8b14ef6
10
configure
vendored
10
configure
vendored
@ -16218,16 +16218,6 @@ cat >>confdefs.h <<_ACEOF
|
|||||||
_ACEOF
|
_ACEOF
|
||||||
|
|
||||||
|
|
||||||
ac_fn_c_check_type "$LINENO" "struct sockaddr_in6" "ac_cv_type_struct_sockaddr_in6" "$ac_includes_default
|
|
||||||
#include <netinet/in.h>
|
|
||||||
"
|
|
||||||
if test "x$ac_cv_type_struct_sockaddr_in6" = xyes; then :
|
|
||||||
|
|
||||||
$as_echo "#define HAVE_IPV6 1" >>confdefs.h
|
|
||||||
|
|
||||||
fi
|
|
||||||
|
|
||||||
|
|
||||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for PS_STRINGS" >&5
|
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for PS_STRINGS" >&5
|
||||||
$as_echo_n "checking for PS_STRINGS... " >&6; }
|
$as_echo_n "checking for PS_STRINGS... " >&6; }
|
||||||
if ${pgac_cv_var_PS_STRINGS+:} false; then :
|
if ${pgac_cv_var_PS_STRINGS+:} false; then :
|
||||||
|
@ -1801,12 +1801,6 @@ AC_CHECK_DECLS([pwritev], [], [AC_LIBOBJ(pwritev)], [#include <sys/uio.h>])
|
|||||||
# This is probably only present on macOS, but may as well check always
|
# This is probably only present on macOS, but may as well check always
|
||||||
AC_CHECK_DECLS(F_FULLFSYNC, [], [], [#include <fcntl.h>])
|
AC_CHECK_DECLS(F_FULLFSYNC, [], [], [#include <fcntl.h>])
|
||||||
|
|
||||||
AC_CHECK_TYPE([struct sockaddr_in6],
|
|
||||||
[AC_DEFINE(HAVE_IPV6, 1, [Define to 1 if you have support for IPv6.])],
|
|
||||||
[],
|
|
||||||
[$ac_includes_default
|
|
||||||
#include <netinet/in.h>])
|
|
||||||
|
|
||||||
AC_CACHE_CHECK([for PS_STRINGS], [pgac_cv_var_PS_STRINGS],
|
AC_CACHE_CHECK([for PS_STRINGS], [pgac_cv_var_PS_STRINGS],
|
||||||
[AC_LINK_IFELSE([AC_LANG_PROGRAM(
|
[AC_LINK_IFELSE([AC_LANG_PROGRAM(
|
||||||
[#include <machine/vmparam.h>
|
[#include <machine/vmparam.h>
|
||||||
|
@ -305,8 +305,6 @@ hostnogssenc <replaceable>database</replaceable> <replaceable>user</replaceabl
|
|||||||
An entry given in IPv4 format will match only IPv4 connections,
|
An entry given in IPv4 format will match only IPv4 connections,
|
||||||
and an entry given in IPv6 format will match only IPv6 connections,
|
and an entry given in IPv6 format will match only IPv6 connections,
|
||||||
even if the represented address is in the IPv4-in-IPv6 range.
|
even if the represented address is in the IPv4-in-IPv6 range.
|
||||||
Note that entries in IPv6 format will be rejected if the system's
|
|
||||||
C library does not have support for IPv6 addresses.
|
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
<para>
|
<para>
|
||||||
|
@ -3015,13 +3015,8 @@ PerformRadiusTransaction(const char *server, const char *secret, const char *por
|
|||||||
int packetlength;
|
int packetlength;
|
||||||
pgsocket sock;
|
pgsocket sock;
|
||||||
|
|
||||||
#ifdef HAVE_IPV6
|
|
||||||
struct sockaddr_in6 localaddr;
|
struct sockaddr_in6 localaddr;
|
||||||
struct sockaddr_in6 remoteaddr;
|
struct sockaddr_in6 remoteaddr;
|
||||||
#else
|
|
||||||
struct sockaddr_in localaddr;
|
|
||||||
struct sockaddr_in remoteaddr;
|
|
||||||
#endif
|
|
||||||
struct addrinfo hint;
|
struct addrinfo hint;
|
||||||
struct addrinfo *serveraddrs;
|
struct addrinfo *serveraddrs;
|
||||||
int port;
|
int port;
|
||||||
@ -3131,18 +3126,12 @@ PerformRadiusTransaction(const char *server, const char *secret, const char *por
|
|||||||
}
|
}
|
||||||
|
|
||||||
memset(&localaddr, 0, sizeof(localaddr));
|
memset(&localaddr, 0, sizeof(localaddr));
|
||||||
#ifdef HAVE_IPV6
|
|
||||||
localaddr.sin6_family = serveraddrs[0].ai_family;
|
localaddr.sin6_family = serveraddrs[0].ai_family;
|
||||||
localaddr.sin6_addr = in6addr_any;
|
localaddr.sin6_addr = in6addr_any;
|
||||||
if (localaddr.sin6_family == AF_INET6)
|
if (localaddr.sin6_family == AF_INET6)
|
||||||
addrsize = sizeof(struct sockaddr_in6);
|
addrsize = sizeof(struct sockaddr_in6);
|
||||||
else
|
else
|
||||||
addrsize = sizeof(struct sockaddr_in);
|
addrsize = sizeof(struct sockaddr_in);
|
||||||
#else
|
|
||||||
localaddr.sin_family = serveraddrs[0].ai_family;
|
|
||||||
localaddr.sin_addr.s_addr = INADDR_ANY;
|
|
||||||
addrsize = sizeof(struct sockaddr_in);
|
|
||||||
#endif
|
|
||||||
|
|
||||||
if (bind(sock, (struct sockaddr *) &localaddr, addrsize))
|
if (bind(sock, (struct sockaddr *) &localaddr, addrsize))
|
||||||
{
|
{
|
||||||
@ -3245,21 +3234,11 @@ PerformRadiusTransaction(const char *server, const char *secret, const char *por
|
|||||||
return STATUS_ERROR;
|
return STATUS_ERROR;
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef HAVE_IPV6
|
|
||||||
if (remoteaddr.sin6_port != pg_hton16(port))
|
if (remoteaddr.sin6_port != pg_hton16(port))
|
||||||
#else
|
|
||||||
if (remoteaddr.sin_port != pg_hton16(port))
|
|
||||||
#endif
|
|
||||||
{
|
{
|
||||||
#ifdef HAVE_IPV6
|
|
||||||
ereport(LOG,
|
ereport(LOG,
|
||||||
(errmsg("RADIUS response from %s was sent from incorrect port: %d",
|
(errmsg("RADIUS response from %s was sent from incorrect port: %d",
|
||||||
server, pg_ntoh16(remoteaddr.sin6_port))));
|
server, pg_ntoh16(remoteaddr.sin6_port))));
|
||||||
#else
|
|
||||||
ereport(LOG,
|
|
||||||
(errmsg("RADIUS response from %s was sent from incorrect port: %d",
|
|
||||||
server, pg_ntoh16(remoteaddr.sin_port))));
|
|
||||||
#endif
|
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -645,8 +645,6 @@ ipv4eq(struct sockaddr_in *a, struct sockaddr_in *b)
|
|||||||
return (a->sin_addr.s_addr == b->sin_addr.s_addr);
|
return (a->sin_addr.s_addr == b->sin_addr.s_addr);
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef HAVE_IPV6
|
|
||||||
|
|
||||||
static bool
|
static bool
|
||||||
ipv6eq(struct sockaddr_in6 *a, struct sockaddr_in6 *b)
|
ipv6eq(struct sockaddr_in6 *a, struct sockaddr_in6 *b)
|
||||||
{
|
{
|
||||||
@ -658,7 +656,6 @@ ipv6eq(struct sockaddr_in6 *a, struct sockaddr_in6 *b)
|
|||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
#endif /* HAVE_IPV6 */
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Check whether host name matches pattern.
|
* Check whether host name matches pattern.
|
||||||
@ -747,7 +744,6 @@ check_hostname(hbaPort *port, const char *hostname)
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
#ifdef HAVE_IPV6
|
|
||||||
else if (gai->ai_addr->sa_family == AF_INET6)
|
else if (gai->ai_addr->sa_family == AF_INET6)
|
||||||
{
|
{
|
||||||
if (ipv6eq((struct sockaddr_in6 *) gai->ai_addr,
|
if (ipv6eq((struct sockaddr_in6 *) gai->ai_addr,
|
||||||
@ -757,7 +753,6 @@ check_hostname(hbaPort *port, const char *hostname)
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -34,11 +34,9 @@ static int range_sockaddr_AF_INET(const struct sockaddr_in *addr,
|
|||||||
const struct sockaddr_in *netaddr,
|
const struct sockaddr_in *netaddr,
|
||||||
const struct sockaddr_in *netmask);
|
const struct sockaddr_in *netmask);
|
||||||
|
|
||||||
#ifdef HAVE_IPV6
|
|
||||||
static int range_sockaddr_AF_INET6(const struct sockaddr_in6 *addr,
|
static int range_sockaddr_AF_INET6(const struct sockaddr_in6 *addr,
|
||||||
const struct sockaddr_in6 *netaddr,
|
const struct sockaddr_in6 *netaddr,
|
||||||
const struct sockaddr_in6 *netmask);
|
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,
|
return range_sockaddr_AF_INET((const struct sockaddr_in *) addr,
|
||||||
(const struct sockaddr_in *) netaddr,
|
(const struct sockaddr_in *) netaddr,
|
||||||
(const struct sockaddr_in *) netmask);
|
(const struct sockaddr_in *) netmask);
|
||||||
#ifdef HAVE_IPV6
|
|
||||||
else if (addr->ss_family == AF_INET6)
|
else if (addr->ss_family == AF_INET6)
|
||||||
return range_sockaddr_AF_INET6((const struct sockaddr_in6 *) addr,
|
return range_sockaddr_AF_INET6((const struct sockaddr_in6 *) addr,
|
||||||
(const struct sockaddr_in6 *) netaddr,
|
(const struct sockaddr_in6 *) netaddr,
|
||||||
(const struct sockaddr_in6 *) netmask);
|
(const struct sockaddr_in6 *) netmask);
|
||||||
#endif
|
|
||||||
else
|
else
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
@ -78,9 +74,6 @@ range_sockaddr_AF_INET(const struct sockaddr_in *addr,
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
#ifdef HAVE_IPV6
|
|
||||||
|
|
||||||
static int
|
static int
|
||||||
range_sockaddr_AF_INET6(const struct sockaddr_in6 *addr,
|
range_sockaddr_AF_INET6(const struct sockaddr_in6 *addr,
|
||||||
const struct sockaddr_in6 *netaddr,
|
const struct sockaddr_in6 *netaddr,
|
||||||
@ -97,7 +90,6 @@ range_sockaddr_AF_INET6(const struct sockaddr_in6 *addr,
|
|||||||
|
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
#endif /* HAVE_IPV6 */
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* pg_sockaddr_cidr_mask - make a network mask of the appropriate family
|
* 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;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef HAVE_IPV6
|
|
||||||
case AF_INET6:
|
case AF_INET6:
|
||||||
{
|
{
|
||||||
struct sockaddr_in6 mask6;
|
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));
|
memcpy(mask, &mask6, sizeof(mask6));
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
#endif
|
|
||||||
default:
|
default:
|
||||||
return -1;
|
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)
|
if (((struct sockaddr_in *) mask)->sin_addr.s_addr == INADDR_ANY)
|
||||||
mask = NULL;
|
mask = NULL;
|
||||||
}
|
}
|
||||||
#ifdef HAVE_IPV6
|
|
||||||
else if (mask->sa_family == AF_INET6)
|
else if (mask->sa_family == AF_INET6)
|
||||||
{
|
{
|
||||||
if (IN6_IS_ADDR_UNSPECIFIED(&((struct sockaddr_in6 *) mask)->sin6_addr))
|
if (IN6_IS_ADDR_UNSPECIFIED(&((struct sockaddr_in6 *) mask)->sin6_addr))
|
||||||
mask = NULL;
|
mask = NULL;
|
||||||
}
|
}
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/* If mask is invalid, generate our own fully-set mask */
|
/* 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_in addr;
|
||||||
struct sockaddr_storage mask;
|
struct sockaddr_storage mask;
|
||||||
|
|
||||||
#ifdef HAVE_IPV6
|
|
||||||
struct sockaddr_in6 addr6;
|
struct sockaddr_in6 addr6;
|
||||||
#endif
|
|
||||||
|
|
||||||
/* addr 127.0.0.1/8 */
|
/* addr 127.0.0.1/8 */
|
||||||
memset(&addr, 0, sizeof(addr));
|
memset(&addr, 0, sizeof(addr));
|
||||||
@ -452,7 +438,6 @@ pg_foreach_ifaddr(PgIfAddrCallback callback, void *cb_data)
|
|||||||
(struct sockaddr *) &addr,
|
(struct sockaddr *) &addr,
|
||||||
(struct sockaddr *) &mask);
|
(struct sockaddr *) &mask);
|
||||||
|
|
||||||
#ifdef HAVE_IPV6
|
|
||||||
/* addr ::1/128 */
|
/* addr ::1/128 */
|
||||||
memset(&addr6, 0, sizeof(addr6));
|
memset(&addr6, 0, sizeof(addr6));
|
||||||
addr6.sin6_family = AF_INET6;
|
addr6.sin6_family = AF_INET6;
|
||||||
@ -462,7 +447,6 @@ pg_foreach_ifaddr(PgIfAddrCallback callback, void *cb_data)
|
|||||||
run_ifaddr_callback(callback, cb_data,
|
run_ifaddr_callback(callback, cb_data,
|
||||||
(struct sockaddr *) &addr6,
|
(struct sockaddr *) &addr6,
|
||||||
(struct sockaddr *) &mask);
|
(struct sockaddr *) &mask);
|
||||||
#endif
|
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
@ -413,11 +413,9 @@ StreamServerPort(int family, const char *hostName, unsigned short portNumber,
|
|||||||
case AF_INET:
|
case AF_INET:
|
||||||
familyDesc = _("IPv4");
|
familyDesc = _("IPv4");
|
||||||
break;
|
break;
|
||||||
#ifdef HAVE_IPV6
|
|
||||||
case AF_INET6:
|
case AF_INET6:
|
||||||
familyDesc = _("IPv6");
|
familyDesc = _("IPv6");
|
||||||
break;
|
break;
|
||||||
#endif
|
|
||||||
case AF_UNIX:
|
case AF_UNIX:
|
||||||
familyDesc = _("Unix");
|
familyDesc = _("Unix");
|
||||||
break;
|
break;
|
||||||
|
@ -1725,9 +1725,7 @@ inet_client_addr(PG_FUNCTION_ARGS)
|
|||||||
switch (port->raddr.addr.ss_family)
|
switch (port->raddr.addr.ss_family)
|
||||||
{
|
{
|
||||||
case AF_INET:
|
case AF_INET:
|
||||||
#ifdef HAVE_IPV6
|
|
||||||
case AF_INET6:
|
case AF_INET6:
|
||||||
#endif
|
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
PG_RETURN_NULL();
|
PG_RETURN_NULL();
|
||||||
@ -1764,9 +1762,7 @@ inet_client_port(PG_FUNCTION_ARGS)
|
|||||||
switch (port->raddr.addr.ss_family)
|
switch (port->raddr.addr.ss_family)
|
||||||
{
|
{
|
||||||
case AF_INET:
|
case AF_INET:
|
||||||
#ifdef HAVE_IPV6
|
|
||||||
case AF_INET6:
|
case AF_INET6:
|
||||||
#endif
|
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
PG_RETURN_NULL();
|
PG_RETURN_NULL();
|
||||||
@ -1801,9 +1797,7 @@ inet_server_addr(PG_FUNCTION_ARGS)
|
|||||||
switch (port->laddr.addr.ss_family)
|
switch (port->laddr.addr.ss_family)
|
||||||
{
|
{
|
||||||
case AF_INET:
|
case AF_INET:
|
||||||
#ifdef HAVE_IPV6
|
|
||||||
case AF_INET6:
|
case AF_INET6:
|
||||||
#endif
|
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
PG_RETURN_NULL();
|
PG_RETURN_NULL();
|
||||||
@ -1840,9 +1834,7 @@ inet_server_port(PG_FUNCTION_ARGS)
|
|||||||
switch (port->laddr.addr.ss_family)
|
switch (port->laddr.addr.ss_family)
|
||||||
{
|
{
|
||||||
case AF_INET:
|
case AF_INET:
|
||||||
#ifdef HAVE_IPV6
|
|
||||||
case AF_INET6:
|
case AF_INET6:
|
||||||
#endif
|
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
PG_RETURN_NULL();
|
PG_RETURN_NULL();
|
||||||
@ -2102,7 +2094,6 @@ inetmi(PG_FUNCTION_ARGS)
|
|||||||
void
|
void
|
||||||
clean_ipv6_addr(int addr_family, char *addr)
|
clean_ipv6_addr(int addr_family, char *addr)
|
||||||
{
|
{
|
||||||
#ifdef HAVE_IPV6
|
|
||||||
if (addr_family == AF_INET6)
|
if (addr_family == AF_INET6)
|
||||||
{
|
{
|
||||||
char *pct = strchr(addr, '%');
|
char *pct = strchr(addr, '%');
|
||||||
@ -2110,5 +2101,4 @@ clean_ipv6_addr(int addr_family, char *addr)
|
|||||||
if (pct)
|
if (pct)
|
||||||
*pct = '\0';
|
*pct = '\0';
|
||||||
}
|
}
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
|
@ -735,11 +735,8 @@ pg_stat_get_activity(PG_FUNCTION_ARGS)
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
if (beentry->st_clientaddr.addr.ss_family == AF_INET
|
if (beentry->st_clientaddr.addr.ss_family == AF_INET ||
|
||||||
#ifdef HAVE_IPV6
|
beentry->st_clientaddr.addr.ss_family == AF_INET6)
|
||||||
|| beentry->st_clientaddr.addr.ss_family == AF_INET6
|
|
||||||
#endif
|
|
||||||
)
|
|
||||||
{
|
{
|
||||||
char remote_host[NI_MAXHOST];
|
char remote_host[NI_MAXHOST];
|
||||||
char remote_port[NI_MAXSERV];
|
char remote_port[NI_MAXSERV];
|
||||||
@ -1105,9 +1102,7 @@ pg_stat_get_backend_client_addr(PG_FUNCTION_ARGS)
|
|||||||
switch (beentry->st_clientaddr.addr.ss_family)
|
switch (beentry->st_clientaddr.addr.ss_family)
|
||||||
{
|
{
|
||||||
case AF_INET:
|
case AF_INET:
|
||||||
#ifdef HAVE_IPV6
|
|
||||||
case AF_INET6:
|
case AF_INET6:
|
||||||
#endif
|
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
PG_RETURN_NULL();
|
PG_RETURN_NULL();
|
||||||
@ -1152,9 +1147,7 @@ pg_stat_get_backend_client_port(PG_FUNCTION_ARGS)
|
|||||||
switch (beentry->st_clientaddr.addr.ss_family)
|
switch (beentry->st_clientaddr.addr.ss_family)
|
||||||
{
|
{
|
||||||
case AF_INET:
|
case AF_INET:
|
||||||
#ifdef HAVE_IPV6
|
|
||||||
case AF_INET6:
|
case AF_INET6:
|
||||||
#endif
|
|
||||||
break;
|
break;
|
||||||
case AF_UNIX:
|
case AF_UNIX:
|
||||||
PG_RETURN_INT32(-1);
|
PG_RETURN_INT32(-1);
|
||||||
|
@ -1176,7 +1176,6 @@ setup_config(void)
|
|||||||
|
|
||||||
conflines = replace_token(conflines, "@remove-line-for-nolocal@", "");
|
conflines = replace_token(conflines, "@remove-line-for-nolocal@", "");
|
||||||
|
|
||||||
#ifdef HAVE_IPV6
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Probe to see if there is really any platform support for IPv6, and
|
* Probe to see if there is really any platform support for IPv6, and
|
||||||
@ -1218,15 +1217,6 @@ setup_config(void)
|
|||||||
"#host replication all ::1");
|
"#host replication all ::1");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
#else /* !HAVE_IPV6 */
|
|
||||||
/* If we didn't compile IPV6 support at all, always comment it out */
|
|
||||||
conflines = replace_token(conflines,
|
|
||||||
"host all all ::1",
|
|
||||||
"#host all all ::1");
|
|
||||||
conflines = replace_token(conflines,
|
|
||||||
"host replication all ::1",
|
|
||||||
"#host replication all ::1");
|
|
||||||
#endif /* HAVE_IPV6 */
|
|
||||||
|
|
||||||
/* Replace default authentication methods */
|
/* Replace default authentication methods */
|
||||||
conflines = replace_token(conflines,
|
conflines = replace_token(conflines,
|
||||||
|
@ -241,9 +241,6 @@
|
|||||||
/* Define to 1 if you have the global variable 'int timezone'. */
|
/* Define to 1 if you have the global variable 'int timezone'. */
|
||||||
#undef HAVE_INT_TIMEZONE
|
#undef HAVE_INT_TIMEZONE
|
||||||
|
|
||||||
/* Define to 1 if you have support for IPv6. */
|
|
||||||
#undef HAVE_IPV6
|
|
||||||
|
|
||||||
/* Define to 1 if __builtin_constant_p(x) implies "i"(x) acceptance. */
|
/* Define to 1 if __builtin_constant_p(x) implies "i"(x) acceptance. */
|
||||||
#undef HAVE_I_CONSTRAINT__BUILTIN_CONSTANT_P
|
#undef HAVE_I_CONSTRAINT__BUILTIN_CONSTANT_P
|
||||||
|
|
||||||
|
@ -31,8 +31,8 @@ typedef struct
|
|||||||
* We use these values for the "family" field.
|
* We use these values for the "family" field.
|
||||||
*
|
*
|
||||||
* Referencing all of the non-AF_INET types to AF_INET lets us work on
|
* Referencing all of the non-AF_INET types to AF_INET lets us work on
|
||||||
* machines which may not have the appropriate address family (like
|
* machines which did not have the appropriate address family (like
|
||||||
* inet6 addresses when AF_INET6 isn't present) but doesn't cause a
|
* inet6 addresses when AF_INET6 wasn't present) but didn't cause a
|
||||||
* dump/reload requirement. Pre-7.4 databases used AF_INET for the family
|
* dump/reload requirement. Pre-7.4 databases used AF_INET for the family
|
||||||
* type on disk.
|
* type on disk.
|
||||||
*/
|
*/
|
||||||
|
@ -1652,7 +1652,6 @@ getHostaddr(PGconn *conn, char *host_addr, int host_addr_len)
|
|||||||
host_addr, host_addr_len) == NULL)
|
host_addr, host_addr_len) == NULL)
|
||||||
host_addr[0] = '\0';
|
host_addr[0] = '\0';
|
||||||
}
|
}
|
||||||
#ifdef HAVE_IPV6
|
|
||||||
else if (addr->ss_family == AF_INET6)
|
else if (addr->ss_family == AF_INET6)
|
||||||
{
|
{
|
||||||
if (pg_inet_net_ntop(AF_INET6,
|
if (pg_inet_net_ntop(AF_INET6,
|
||||||
@ -1661,7 +1660,6 @@ getHostaddr(PGconn *conn, char *host_addr, int host_addr_len)
|
|||||||
host_addr, host_addr_len) == NULL)
|
host_addr, host_addr_len) == NULL)
|
||||||
host_addr[0] = '\0';
|
host_addr[0] = '\0';
|
||||||
}
|
}
|
||||||
#endif
|
|
||||||
else
|
else
|
||||||
host_addr[0] = '\0';
|
host_addr[0] = '\0';
|
||||||
}
|
}
|
||||||
|
@ -80,15 +80,14 @@ pg_inet_net_ntop(int af, const void *src, int bits, char *dst, size_t size)
|
|||||||
* We need to cover both the address family constants used by the PG inet
|
* We need to cover both the address family constants used by the PG inet
|
||||||
* type (PGSQL_AF_INET and PGSQL_AF_INET6) and those used by the system
|
* type (PGSQL_AF_INET and PGSQL_AF_INET6) and those used by the system
|
||||||
* libraries (AF_INET and AF_INET6). We can safely assume PGSQL_AF_INET
|
* libraries (AF_INET and AF_INET6). We can safely assume PGSQL_AF_INET
|
||||||
* == AF_INET, but the INET6 constants are very likely to be different. If
|
* == AF_INET, but the INET6 constants are very likely to be different.
|
||||||
* AF_INET6 isn't defined, silently ignore it.
|
|
||||||
*/
|
*/
|
||||||
switch (af)
|
switch (af)
|
||||||
{
|
{
|
||||||
case PGSQL_AF_INET:
|
case PGSQL_AF_INET:
|
||||||
return (inet_net_ntop_ipv4(src, bits, dst, size));
|
return (inet_net_ntop_ipv4(src, bits, dst, size));
|
||||||
case PGSQL_AF_INET6:
|
case PGSQL_AF_INET6:
|
||||||
#if defined(AF_INET6) && AF_INET6 != PGSQL_AF_INET6
|
#if AF_INET6 != PGSQL_AF_INET6
|
||||||
case AF_INET6:
|
case AF_INET6:
|
||||||
#endif
|
#endif
|
||||||
return (inet_net_ntop_ipv6(src, bits, dst, size));
|
return (inet_net_ntop_ipv6(src, bits, dst, size));
|
||||||
|
@ -26,11 +26,9 @@ print_addr(struct sockaddr *addr)
|
|||||||
case AF_INET:
|
case AF_INET:
|
||||||
len = sizeof(struct sockaddr_in);
|
len = sizeof(struct sockaddr_in);
|
||||||
break;
|
break;
|
||||||
#ifdef HAVE_IPV6
|
|
||||||
case AF_INET6:
|
case AF_INET6:
|
||||||
len = sizeof(struct sockaddr_in6);
|
len = sizeof(struct sockaddr_in6);
|
||||||
break;
|
break;
|
||||||
#endif
|
|
||||||
default:
|
default:
|
||||||
len = sizeof(struct sockaddr_storage);
|
len = sizeof(struct sockaddr_storage);
|
||||||
break;
|
break;
|
||||||
|
@ -277,7 +277,6 @@ sub GenerateFiles
|
|||||||
HAVE_INTTYPES_H => undef,
|
HAVE_INTTYPES_H => undef,
|
||||||
HAVE_INT_OPTERR => undef,
|
HAVE_INT_OPTERR => undef,
|
||||||
HAVE_INT_OPTRESET => undef,
|
HAVE_INT_OPTRESET => undef,
|
||||||
HAVE_IPV6 => 1,
|
|
||||||
HAVE_I_CONSTRAINT__BUILTIN_CONSTANT_P => undef,
|
HAVE_I_CONSTRAINT__BUILTIN_CONSTANT_P => undef,
|
||||||
HAVE_KQUEUE => undef,
|
HAVE_KQUEUE => undef,
|
||||||
HAVE_LANGINFO_H => undef,
|
HAVE_LANGINFO_H => undef,
|
||||||
|
Loading…
x
Reference in New Issue
Block a user