Remove IS_AF_UNIX macro
authorPeter Eisentraut <peter@eisentraut.org>
Tue, 15 Feb 2022 09:03:52 +0000 (10:03 +0100)
committerPeter Eisentraut <peter@eisentraut.org>
Tue, 15 Feb 2022 09:16:34 +0000 (10:16 +0100)
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

src/backend/libpq/hba.c
src/backend/libpq/pqcomm.c
src/backend/postmaster/postmaster.c
src/include/common/ip.h
src/interfaces/libpq/fe-connect.c

index a7f3def184e91072f9d86a7b211239bfb57a8c6f..d84a40b7265bd2ea8e84030bdd6a3b18a30f4a91 100644 (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 */
index 9e34f616debc4ec4236bf60ab603eb51bf771343..47923b9e9def01174a8ace9678bc533e4ba2c9b7 100644 (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
index ce90877154f3ef4e79e4374b69e0dced6b7175e3..32992bafa0f3063686751e3868302aeb50f95409 100644 (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
 
index 85c8857435337278ba405c87b8346289c3772e7e..8414520989ebccbac7564b983871c7456a239634 100644 (file)
 #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);
index a6a1db3356debc0e0588460a17dee1a91726d664..30d6b7b3778e665b7312c9aade4546e7f103d6ae 100644 (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