diff options
author | Pieter Wuille <pieter.wuille@gmail.com> | 2012-06-19 02:22:09 +0200 |
---|---|---|
committer | Pieter Wuille <pieter.wuille@gmail.com> | 2012-06-19 02:22:09 +0200 |
commit | 4c6b210af0d6047aafe0f600cbcc5122df4132a1 (patch) | |
tree | 74b955a1937c22cc9016855a90893cb424c7474c /src | |
parent | c5532e188e17deb077c2c78d9087943236e45458 (diff) |
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
Diffstat (limited to 'src')
-rw-r--r-- | src/netbase.cpp | 6 | ||||
-rw-r--r-- | src/test/netbase_tests.cpp | 1 |
2 files changed, 2 insertions, 5 deletions
diff --git a/src/netbase.cpp b/src/netbase.cpp index 953ef13f19..ffd3ea68a5 100644 --- a/src/netbase.cpp +++ b/src/netbase.cpp @@ -65,19 +65,17 @@ bool static LookupIntern(const char *pszName, std::vector<CNetAddr>& 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 77a360aca3..f0828f39fc 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() |