From 4c6b210af0d6047aafe0f600cbcc5122df4132a1 Mon Sep 17 00:00:00 2001 From: Pieter Wuille Date: Tue, 19 Jun 2012 02:22:09 +0200 Subject: [PATCH] Fix netbase tests * Do not rely on "a.b.c" being interpreted as "a.0.b.c" * Parse numeric addresses for address families for which no device is configured --- src/netbase.cpp | 6 ++---- src/test/netbase_tests.cpp | 1 - 2 files changed, 2 insertions(+), 5 deletions(-) diff --git a/src/netbase.cpp b/src/netbase.cpp index 953ef13f1..ffd3ea68a 100644 --- a/src/netbase.cpp +++ b/src/netbase.cpp @@ -65,19 +65,17 @@ bool static LookupIntern(const char *pszName, std::vector& vIP, unsign #ifdef WIN32 # ifdef USE_IPV6 aiHint.ai_family = AF_UNSPEC; - aiHint.ai_flags = fAllowLookup ? 0 : AI_NUMERICHOST; # else aiHint.ai_family = AF_INET; - aiHint.ai_flags = fAllowLookup ? 0 : AI_NUMERICHOST; # endif + aiHint.ai_flags = fAllowLookup ? 0 : AI_NUMERICHOST; #else # ifdef USE_IPV6 aiHint.ai_family = AF_UNSPEC; - aiHint.ai_flags = AI_ADDRCONFIG | (fAllowLookup ? 0 : AI_NUMERICHOST); # else aiHint.ai_family = AF_INET; - aiHint.ai_flags = AI_ADDRCONFIG | (fAllowLookup ? 0 : AI_NUMERICHOST); # endif + aiHint.ai_flags = fAllowLookup ? AI_ADDRCONFIG : AI_NUMERICHOST; #endif struct addrinfo *aiRes = NULL; int nErr = getaddrinfo(pszName, NULL, &aiHint, &aiRes); diff --git a/src/test/netbase_tests.cpp b/src/test/netbase_tests.cpp index 77a360aca..f0828f39f 100644 --- a/src/test/netbase_tests.cpp +++ b/src/test/netbase_tests.cpp @@ -86,7 +86,6 @@ BOOST_AUTO_TEST_CASE(netbase_lookupnumeric) BOOST_CHECK(TestParse("[::]:8333", "[::]:8333")); BOOST_CHECK(TestParse("[127.0.0.1]", "127.0.0.1:65535")); BOOST_CHECK(TestParse(":::", "")); - BOOST_CHECK(TestParse("128.5.1", "128.5.0.1:65535")); } BOOST_AUTO_TEST_SUITE_END()