On Thu, Dec 25, 2014 at 03:55:02PM +1300, David Rowley wrote: > f6dc6dd seems to have broken vcregress check for me:
> FATAL: no pg_hba.conf entry for host "::1", user "David", database > "postgres" > ... > FATAL: no pg_hba.conf entry for host "::1", user "David", database > "postgres" Thanks. I bet this is the reason buildfarm members hamerkop, jacana and bowerbird have not been reporting in. > @@ -1085,6 +1085,8 @@ config_sspi_auth(const char *pgdata) > CW(fputs("# Configuration written by config_sspi_auth()\n", hba) >= 0); > CW(fputs("host all all 127.0.0.1/32 sspi include_realm=1 > map=regress\n", > hba) >= 0); > + CW(fputs("host all all ::1/128 sspi include_realm=1 map=regress\n", > + hba) >= 0); This needs to be conditional on whether the platform supports IPv6, like we do in setup_config(). The attached patch works on these configurations: 64-bit Windows Server 2003, 32-bit VS2010 64-bit Windows Server 2003, MinGW (always 32-bit) 64-bit Windows Server 2008, 64-bit VS2012 64-bit Windows Server 2008, 64-bit MinGW-w64 If the patch looks reasonable, I will commit it.
diff --git a/src/test/regress/pg_regress.c b/src/test/regress/pg_regress.c index cb092f9..e8c644b 100644 --- a/src/test/regress/pg_regress.c +++ b/src/test/regress/pg_regress.c @@ -1035,6 +1035,7 @@ config_sspi_auth(const char *pgdata) *domainname; const char *username; char *errstr; + bool have_ipv6; char fname[MAXPGPATH]; int res; FILE *hba, @@ -1054,6 +1055,28 @@ config_sspi_auth(const char *pgdata) exit(2); } + /* + * Like initdb.c:setup_config(), determine whether the platform recognizes + * ::1 (IPv6 loopback) as a numeric host address string. + */ + { + struct addrinfo *gai_result; + struct addrinfo hints; + WSADATA wsaData; + + hints.ai_flags = AI_NUMERICHOST; + hints.ai_family = AF_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; + + have_ipv6 = (WSAStartup(MAKEWORD(2, 2), &wsaData) == 0 && + getaddrinfo("::1", NULL, &hints, &gai_result) == 0); + } + /* Check a Write outcome and report any error. */ #define CW(cond) \ do { \ @@ -1085,6 +1108,9 @@ config_sspi_auth(const char *pgdata) CW(fputs("# Configuration written by config_sspi_auth()\n", hba) >= 0); CW(fputs("host all all 127.0.0.1/32 sspi include_realm=1 map=regress\n", hba) >= 0); + if (have_ipv6) + CW(fputs("host all all ::1/128 sspi include_realm=1 map=regress\n", + hba) >= 0); CW(fclose(hba) == 0); snprintf(fname, sizeof(fname), "%s/pg_ident.conf", pgdata); diff --git a/src/tools/msvc/Mkvcbuild.pm b/src/tools/msvc/Mkvcbuild.pm index 004942c..4506739 100644 --- a/src/tools/msvc/Mkvcbuild.pm +++ b/src/tools/msvc/Mkvcbuild.pm @@ -345,6 +345,7 @@ sub mkvcbuild $pgregress_ecpg->AddIncludeDir('src\test\regress'); $pgregress_ecpg->AddDefine('HOST_TUPLE="i686-pc-win32vc"'); $pgregress_ecpg->AddDefine('FRONTEND'); + $pgregress_ecpg->AddLibrary('ws2_32.lib'); $pgregress_ecpg->AddDirResourceFile('src\interfaces\ecpg\test'); $pgregress_ecpg->AddReference($libpgcommon, $libpgport); @@ -372,6 +373,7 @@ sub mkvcbuild $pgregress_isolation->AddIncludeDir('src\test\regress'); $pgregress_isolation->AddDefine('HOST_TUPLE="i686-pc-win32vc"'); $pgregress_isolation->AddDefine('FRONTEND'); + $pgregress_isolation->AddLibrary('ws2_32.lib'); $pgregress_isolation->AddDirResourceFile('src\test\isolation'); $pgregress_isolation->AddReference($libpgcommon, $libpgport); @@ -605,6 +607,8 @@ sub mkvcbuild $pgregress->AddFile('src\test\regress\pg_regress_main.c'); $pgregress->AddIncludeDir('src\port'); $pgregress->AddDefine('HOST_TUPLE="i686-pc-win32vc"'); + $pgregress->AddDefine('FRONTEND'); + $pgregress->AddLibrary('ws2_32.lib'); $pgregress->AddDirResourceFile('src\test\regress'); $pgregress->AddReference($libpgcommon, $libpgport);
-- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers