From: Peter Eisentraut Date: Tue, 15 Feb 2022 09:03:52 +0000 (+0100) Subject: Remove IS_AF_UNIX macro X-Git-Tag: REL_15_BETA1~700 X-Git-Url: http://git.postgresql.org/gitweb/?a=commitdiff_plain;h=797129e5910144a2a937b88e145874a15b83578a;p=postgresql.git 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 --- diff --git a/src/backend/libpq/hba.c b/src/backend/libpq/hba.c index a7f3def184e..d84a40b7265 100644 --- a/src/backend/libpq/hba.c +++ b/src/backend/libpq/hba.c @@ -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 */ diff --git a/src/backend/libpq/pqcomm.c b/src/backend/libpq/pqcomm.c index 9e34f616deb..47923b9e9de 100644 --- a/src/backend/libpq/pqcomm.c +++ b/src/backend/libpq/pqcomm.c @@ -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 diff --git a/src/backend/postmaster/postmaster.c b/src/backend/postmaster/postmaster.c index ce90877154f..32992bafa0f 100644 --- a/src/backend/postmaster/postmaster.c +++ b/src/backend/postmaster/postmaster.c @@ -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 diff --git a/src/include/common/ip.h b/src/include/common/ip.h index 85c88574353..8414520989e 100644 --- a/src/include/common/ip.h +++ b/src/include/common/ip.h @@ -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); diff --git a/src/interfaces/libpq/fe-connect.c b/src/interfaces/libpq/fe-connect.c index a6a1db3356d..30d6b7b3778 100644 --- a/src/interfaces/libpq/fe-connect.c +++ b/src/interfaces/libpq/fe-connect.c @@ -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