Remove IS_AF_UNIX macro

The AF_UNIX macro was being used unprotected by HAVE_UNIX_SOCKETS,
apparently since 2008.  So the redirection through IS_AF_UNIX() is
apparently no longer necessary.  (More generally, all supported
platforms are now HAVE_UNIX_SOCKETS, but even if there were a new
platform in the future, it seems plausible that it would define the
AF_UNIX symbol even without kernel support.)  So remove the
IS_AF_UNIX() macro and make the code a bit more consistent.

Discussion: https://www.postgresql.org/message-id/flat/f2d26815-9832-e333-d52d-72fbc0ade896%40enterprisedb.com
This commit is contained in:
Peter Eisentraut 2022-02-15 10:03:52 +01:00
parent a59135a81a
commit 797129e591
5 changed files with 23 additions and 29 deletions

View File

@ -2138,12 +2138,12 @@ check_hba(hbaPort *port)
/* Check connection type */
if (hba->conntype == ctLocal)
{
if (!IS_AF_UNIX(port->raddr.addr.ss_family))
if (port->raddr.addr.ss_family != AF_UNIX)
continue;
}
else
{
if (IS_AF_UNIX(port->raddr.addr.ss_family))
if (port->raddr.addr.ss_family == AF_UNIX)
continue;
/* Check SSL state */

View File

@ -409,7 +409,7 @@ StreamServerPort(int family, const char *hostName, unsigned short portNumber,
for (addr = addrs; addr; addr = addr->ai_next)
{
if (!IS_AF_UNIX(family) && IS_AF_UNIX(addr->ai_family))
if (family != AF_UNIX && addr->ai_family == AF_UNIX)
{
/*
* Only set up a unix domain socket when they really asked for it.
@ -494,7 +494,7 @@ StreamServerPort(int family, const char *hostName, unsigned short portNumber,
* unpredictable behavior. With no flags at all, win32 behaves as Unix
* with SO_REUSEADDR.
*/
if (!IS_AF_UNIX(addr->ai_family))
if (addr->ai_family != AF_UNIX)
{
if ((setsockopt(fd, SOL_SOCKET, SO_REUSEADDR,
(char *) &one, sizeof(one))) == -1)
@ -546,7 +546,7 @@ StreamServerPort(int family, const char *hostName, unsigned short portNumber,
errmsg("could not bind %s address \"%s\": %m",
familyDesc, addrDesc),
saved_errno == EADDRINUSE ?
(IS_AF_UNIX(addr->ai_family) ?
(addr->ai_family == AF_UNIX ?
errhint("Is another postmaster already running on port %d?",
(int) portNumber) :
errhint("Is another postmaster already running on port %d?"
@ -764,7 +764,7 @@ StreamConnection(pgsocket server_fd, Port *port)
}
/* select NODELAY and KEEPALIVE options if it's a TCP connection */
if (!IS_AF_UNIX(port->laddr.addr.ss_family))
if (port->laddr.addr.ss_family != AF_UNIX)
{
int on;
#ifdef WIN32
@ -1639,7 +1639,7 @@ int
pq_getkeepalivesidle(Port *port)
{
#if defined(PG_TCP_KEEPALIVE_IDLE) || defined(SIO_KEEPALIVE_VALS)
if (port == NULL || IS_AF_UNIX(port->laddr.addr.ss_family))
if (port == NULL || port->laddr.addr.ss_family == AF_UNIX)
return 0;
if (port->keepalives_idle != 0)
@ -1673,7 +1673,7 @@ pq_getkeepalivesidle(Port *port)
int
pq_setkeepalivesidle(int idle, Port *port)
{
if (port == NULL || IS_AF_UNIX(port->laddr.addr.ss_family))
if (port == NULL || port->laddr.addr.ss_family == AF_UNIX)
return STATUS_OK;
/* check SIO_KEEPALIVE_VALS here, not just WIN32, as some toolchains lack it */
@ -1724,7 +1724,7 @@ int
pq_getkeepalivesinterval(Port *port)
{
#if defined(TCP_KEEPINTVL) || defined(SIO_KEEPALIVE_VALS)
if (port == NULL || IS_AF_UNIX(port->laddr.addr.ss_family))
if (port == NULL || port->laddr.addr.ss_family == AF_UNIX)
return 0;
if (port->keepalives_interval != 0)
@ -1758,7 +1758,7 @@ pq_getkeepalivesinterval(Port *port)
int
pq_setkeepalivesinterval(int interval, Port *port)
{
if (port == NULL || IS_AF_UNIX(port->laddr.addr.ss_family))
if (port == NULL || port->laddr.addr.ss_family == AF_UNIX)
return STATUS_OK;
#if defined(TCP_KEEPINTVL) || defined(SIO_KEEPALIVE_VALS)
@ -1808,7 +1808,7 @@ int
pq_getkeepalivescount(Port *port)
{
#ifdef TCP_KEEPCNT
if (port == NULL || IS_AF_UNIX(port->laddr.addr.ss_family))
if (port == NULL || port->laddr.addr.ss_family == AF_UNIX)
return 0;
if (port->keepalives_count != 0)
@ -1837,7 +1837,7 @@ pq_getkeepalivescount(Port *port)
int
pq_setkeepalivescount(int count, Port *port)
{
if (port == NULL || IS_AF_UNIX(port->laddr.addr.ss_family))
if (port == NULL || port->laddr.addr.ss_family == AF_UNIX)
return STATUS_OK;
#ifdef TCP_KEEPCNT
@ -1883,7 +1883,7 @@ int
pq_gettcpusertimeout(Port *port)
{
#ifdef TCP_USER_TIMEOUT
if (port == NULL || IS_AF_UNIX(port->laddr.addr.ss_family))
if (port == NULL || port->laddr.addr.ss_family == AF_UNIX)
return 0;
if (port->tcp_user_timeout != 0)
@ -1912,7 +1912,7 @@ pq_gettcpusertimeout(Port *port)
int
pq_settcpusertimeout(int timeout, Port *port)
{
if (port == NULL || IS_AF_UNIX(port->laddr.addr.ss_family))
if (port == NULL || port->laddr.addr.ss_family == AF_UNIX)
return STATUS_OK;
#ifdef TCP_USER_TIMEOUT

View File

@ -2085,7 +2085,7 @@ ProcessStartupPacket(Port *port, bool ssl_done, bool gss_done)
#ifdef USE_SSL
/* No SSL when disabled or on Unix sockets */
if (!LoadedSSL || IS_AF_UNIX(port->laddr.addr.ss_family))
if (!LoadedSSL || port->laddr.addr.ss_family == AF_UNIX)
SSLok = 'N';
else
SSLok = 'S'; /* Support for SSL */
@ -2134,7 +2134,7 @@ retry1:
#ifdef ENABLE_GSS
/* No GSSAPI encryption when on Unix socket */
if (!IS_AF_UNIX(port->laddr.addr.ss_family))
if (port->laddr.addr.ss_family != AF_UNIX)
GSSok = 'G';
#endif

View File

@ -18,12 +18,6 @@
#include "libpq/pqcomm.h" /* pgrminclude ignore */
#ifdef HAVE_UNIX_SOCKETS
#define IS_AF_UNIX(fam) ((fam) == AF_UNIX)
#else
#define IS_AF_UNIX(fam) (0)
#endif
extern int pg_getaddrinfo_all(const char *hostname, const char *servname,
const struct addrinfo *hintp,
struct addrinfo **result);

View File

@ -1694,7 +1694,7 @@ static void
emitHostIdentityInfo(PGconn *conn, const char *host_addr)
{
#ifdef HAVE_UNIX_SOCKETS
if (IS_AF_UNIX(conn->raddr.addr.ss_family))
if (conn->raddr.addr.ss_family == AF_UNIX)
{
char service[NI_MAXHOST];
@ -1758,7 +1758,7 @@ connectFailureMessage(PGconn *conn, int errorno)
SOCK_STRERROR(errorno, sebuf, sizeof(sebuf)));
#ifdef HAVE_UNIX_SOCKETS
if (IS_AF_UNIX(conn->raddr.addr.ss_family))
if (conn->raddr.addr.ss_family == AF_UNIX)
appendPQExpBufferStr(&conn->errorMessage,
libpq_gettext("\tIs the server running locally and accepting connections on that socket?\n"));
else
@ -2590,7 +2590,7 @@ keep_going: /* We will come back to here until there is
* TCP sockets, nonblock mode, close-on-exec. Try the
* next address if any of this fails.
*/
if (!IS_AF_UNIX(addr_cur->ai_family))
if (addr_cur->ai_family != AF_UNIX)
{
if (!connectNoDelay(conn))
{
@ -2619,7 +2619,7 @@ keep_going: /* We will come back to here until there is
}
#endif /* F_SETFD */
if (!IS_AF_UNIX(addr_cur->ai_family))
if (addr_cur->ai_family != AF_UNIX)
{
#ifndef WIN32
int on = 1;
@ -2821,7 +2821,7 @@ keep_going: /* We will come back to here until there is
* Unix-domain socket.
*/
if (conn->requirepeer && conn->requirepeer[0] &&
IS_AF_UNIX(conn->raddr.addr.ss_family))
conn->raddr.addr.ss_family == AF_UNIX)
{
#ifndef WIN32
char *remote_username;
@ -2867,7 +2867,7 @@ keep_going: /* We will come back to here until there is
#endif /* WIN32 */
}
if (IS_AF_UNIX(conn->raddr.addr.ss_family))
if (conn->raddr.addr.ss_family == AF_UNIX)
{
/* Don't request SSL or GSSAPI over Unix sockets */
#ifdef USE_SSL
@ -4528,7 +4528,7 @@ PQcancel(PGcancel *cancel, char *errbuf, int errbufsize)
* This ensures that this function does not block indefinitely when
* reasonable keepalive and timeout settings have been provided.
*/
if (!IS_AF_UNIX(cancel->raddr.addr.ss_family) &&
if (cancel->raddr.addr.ss_family != AF_UNIX &&
cancel->keepalives != 0)
{
#ifndef WIN32