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