]> granicus.if.org Git - postgresql/commitdiff
Use AF_UNSPEC not PF_UNSPEC in getaddrinfo calls.
authorTom Lane <tgl@sss.pgh.pa.us>
Wed, 16 Apr 2014 17:21:03 +0000 (13:21 -0400)
committerTom Lane <tgl@sss.pgh.pa.us>
Wed, 16 Apr 2014 17:21:35 +0000 (13:21 -0400)
According to the Single Unix Spec and assorted man pages, you're supposed
to use the constants named AF_xxx when setting ai_family for a getaddrinfo
call.  In a few places we were using PF_xxx instead.  Use of PF_xxx
appears to be an ancient BSD convention that was not adopted by later
standardization.  On BSD and most later Unixen, it doesn't matter much
because those constants have equivalent values anyway; but nonetheless
this code is not per spec.

In the same vein, replace PF_INET by AF_INET in one socket() call, which
wasn't even consistent with the other socket() call in the same function
let alone the remainder of our code.

Per investigation of a Cygwin trouble report from Marco Atzeri.  It's
probably a long shot that this will fix his issue, but it's wrong in
any case.

src/backend/libpq/hba.c
src/backend/port/pipe.c
src/backend/postmaster/pgstat.c
src/bin/initdb/initdb.c

index 715e72a92a5aceebac5a5f45ed4c5e075b995e6e..472a960728a046d71d022527815fced1280b5baa 100644 (file)
@@ -971,7 +971,7 @@ parse_hba_line(List *line, int line_num, HbaLine *parsedline)
 
                        /* Get the IP address either way */
                        hints.ai_flags = AI_NUMERICHOST;
-                       hints.ai_family = PF_UNSPEC;
+                       hints.ai_family = AF_UNSPEC;
                        hints.ai_socktype = 0;
                        hints.ai_protocol = 0;
                        hints.ai_addrlen = 0;
index b249e959107d8c2cc8a9aca5acc5f7b8de57ac15..2865204e6d2c0ce60966106f5aaf0c0efe1f6f02 100644 (file)
@@ -55,7 +55,7 @@ pgpipe(int handles[2])
                closesocket(s);
                return -1;
        }
-       if ((handles[1] = socket(PF_INET, SOCK_STREAM, 0)) == INVALID_SOCKET)
+       if ((handles[1] = socket(AF_INET, SOCK_STREAM, 0)) == INVALID_SOCKET)
        {
                ereport(LOG, (errmsg_internal("pgpipe could not create socket 2: %ui", WSAGetLastError())));
                closesocket(s);
index e1e60294ea0419fcde0c7c47a994b3ed0ba6f4cd..67a7122a1ffeafb31cf1a22a75339a8e7c30c66c 100644 (file)
@@ -316,7 +316,7 @@ pgstat_init(void)
         * Create the UDP socket for sending and receiving statistic messages
         */
        hints.ai_flags = AI_PASSIVE;
-       hints.ai_family = PF_UNSPEC;
+       hints.ai_family = AF_UNSPEC;
        hints.ai_socktype = SOCK_DGRAM;
        hints.ai_protocol = 0;
        hints.ai_addrlen = 0;
index 64a2604f5b9de334a4a9bbe4389845a89c76b130..9bc3e2364e99f0ed2b7c3c2302e431d0b6eabc7a 100644 (file)
@@ -1053,7 +1053,7 @@ setup_config(void)
 
                /* for best results, this code should match parse_hba() */
                hints.ai_flags = AI_NUMERICHOST;
-               hints.ai_family = PF_UNSPEC;
+               hints.ai_family = AF_UNSPEC;
                hints.ai_socktype = 0;
                hints.ai_protocol = 0;
                hints.ai_addrlen = 0;