Re: [HACKERS] PostgreSQL 8.0.3 and Ipv6 - Mailing list pgsql-patches
| From | Andrew Dunstan |
|---|---|
| Subject | Re: [HACKERS] PostgreSQL 8.0.3 and Ipv6 |
| Date | |
| Msg-id | 4309D9E6.9060403@dunslane.net Whole thread Raw |
| In response to | Re: [HACKERS] PostgreSQL 8.0.3 and Ipv6 (Tom Lane <tgl@sss.pgh.pa.us>) |
| Responses |
Re: [HACKERS] PostgreSQL 8.0.3 and Ipv6
|
| List | pgsql-patches |
Tom Lane wrote:
>Andrew Dunstan <andrew@dunslane.net> writes:
>
>
>>Tom Lane wrote:
>>
>>
>>>If you like, you can improve initdb to comment that line out if
>>>getaddrinfo chokes on "::1", rather than believing HAVE_IPV6.
>>>
>>>
>
>
>
>>Good idea. Here's a patch for that. Rather than commenting it out I used
>>the slightly newer initdb facility to remove it and the associated
>>comment line altogether.
>>
>>
>
>Hm, is that really better than just commenting it out? Particularly
>on Windows, where we could imagine someone installing a newer version
>of the relevant DLL and then wanting to use IPv6. Seems to me that
>leaving the line present but commented out is the right thing, because
>it documents how things should look for IPv6.
>
>
>
>
Seemed to me slightly less potentially confusing, but I don't feel
strongly. Try this instead if you prefer.
cheers
andrew
Index: src/bin/initdb/initdb.c
===================================================================
RCS file: /home/cvsmirror/pgsql/src/bin/initdb/initdb.c,v
retrieving revision 1.94
diff -c -r1.94 initdb.c
*** src/bin/initdb/initdb.c 2 Aug 2005 15:16:27 -0000 1.94
--- src/bin/initdb/initdb.c 22 Aug 2005 13:35:22 -0000
***************
*** 1157,1162 ****
--- 1157,1174 ----
char **conflines;
char repltok[100];
char path[MAXPGPATH];
+
+ struct addrinfo *gai_result;
+ struct addrinfo hints;
+
+ hints.ai_flags = AI_NUMERICHOST;
+ hints.ai_family = PF_UNSPEC;
+ hints.ai_socktype = 0;
+ hints.ai_protocol = 0;
+ hints.ai_addrlen = 0;
+ hints.ai_canonname = NULL;
+ hints.ai_addr = NULL;
+ hints.ai_next = NULL;
fputs(_("creating configuration files ... "), stdout);
fflush(stdout);
***************
*** 1210,1220 ****
conflines = replace_token(conflines,"@remove-line-for-nolocal@","");
#endif
! #ifndef HAVE_IPV6
! conflines = replace_token(conflines,
! "host all all ::1",
! "#host all all ::1");
! #endif
/* Replace default authentication methods */
conflines = replace_token(conflines,
--- 1222,1239 ----
conflines = replace_token(conflines,"@remove-line-for-nolocal@","");
#endif
!
! /*
! * runtime test for IPv6 support (previously compile time test).
! * this lets us build on hosts with IPv6 support and run
! * on hosts without, especially on Windows.
! *
! */
! if (getaddrinfo("::1", NULL, &hints, &gai_result) != 0)
! conflines = replace_token(conflines,
! "host all all ::1",
! "#host all all ::1");
!
/* Replace default authentication methods */
conflines = replace_token(conflines,
pgsql-patches by date: