mirror of
https://github.com/bitcoin/bitcoin.git
synced 2025-05-21 17:31:05 +02:00
tests: Add tests to make sure lookup methods fail on std::string parameters with embedded NUL characters
This commit is contained in:
parent
9574de86ad
commit
fefb9165f2
@ -99,6 +99,8 @@ BOOST_AUTO_TEST_CASE(caddrdb_read)
|
|||||||
BOOST_CHECK(Lookup("250.7.1.1", addr1, 8333, false));
|
BOOST_CHECK(Lookup("250.7.1.1", addr1, 8333, false));
|
||||||
BOOST_CHECK(Lookup("250.7.2.2", addr2, 9999, false));
|
BOOST_CHECK(Lookup("250.7.2.2", addr2, 9999, false));
|
||||||
BOOST_CHECK(Lookup("250.7.3.3", addr3, 9999, false));
|
BOOST_CHECK(Lookup("250.7.3.3", addr3, 9999, false));
|
||||||
|
BOOST_CHECK(Lookup(std::string("250.7.3.3", 9), addr3, 9999, false));
|
||||||
|
BOOST_CHECK(!Lookup(std::string("250.7.3.3\0example.com", 21), addr3, 9999, false));
|
||||||
|
|
||||||
// Add three addresses to new table.
|
// Add three addresses to new table.
|
||||||
CService source;
|
CService source;
|
||||||
|
@ -127,7 +127,6 @@ BOOST_AUTO_TEST_CASE(netbase_lookupnumeric)
|
|||||||
|
|
||||||
BOOST_AUTO_TEST_CASE(onioncat_test)
|
BOOST_AUTO_TEST_CASE(onioncat_test)
|
||||||
{
|
{
|
||||||
|
|
||||||
// values from https://web.archive.org/web/20121122003543/http://www.cypherpunk.at/onioncat/wiki/OnionCat
|
// values from https://web.archive.org/web/20121122003543/http://www.cypherpunk.at/onioncat/wiki/OnionCat
|
||||||
CNetAddr addr1(ResolveIP("5wyqrzbvrdsumnok.onion"));
|
CNetAddr addr1(ResolveIP("5wyqrzbvrdsumnok.onion"));
|
||||||
CNetAddr addr2(ResolveIP("FD87:D87E:EB43:edb1:8e4:3588:e546:35ca"));
|
CNetAddr addr2(ResolveIP("FD87:D87E:EB43:edb1:8e4:3588:e546:35ca"));
|
||||||
@ -402,4 +401,22 @@ BOOST_AUTO_TEST_CASE(netpermissions_test)
|
|||||||
BOOST_CHECK(std::find(strings.begin(), strings.end(), "mempool") != strings.end());
|
BOOST_CHECK(std::find(strings.begin(), strings.end(), "mempool") != strings.end());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
BOOST_AUTO_TEST_CASE(netbase_dont_resolve_strings_with_embedded_nul_characters)
|
||||||
|
{
|
||||||
|
CNetAddr addr;
|
||||||
|
BOOST_CHECK(LookupHost(std::string("127.0.0.1", 9), addr, false));
|
||||||
|
BOOST_CHECK(!LookupHost(std::string("127.0.0.1\0", 10), addr, false));
|
||||||
|
BOOST_CHECK(!LookupHost(std::string("127.0.0.1\0example.com", 21), addr, false));
|
||||||
|
BOOST_CHECK(!LookupHost(std::string("127.0.0.1\0example.com\0", 22), addr, false));
|
||||||
|
CSubNet ret;
|
||||||
|
BOOST_CHECK(LookupSubNet(std::string("1.2.3.0/24", 10), ret));
|
||||||
|
BOOST_CHECK(!LookupSubNet(std::string("1.2.3.0/24\0", 11), ret));
|
||||||
|
BOOST_CHECK(!LookupSubNet(std::string("1.2.3.0/24\0example.com", 22), ret));
|
||||||
|
BOOST_CHECK(!LookupSubNet(std::string("1.2.3.0/24\0example.com\0", 23), ret));
|
||||||
|
BOOST_CHECK(LookupSubNet(std::string("5wyqrzbvrdsumnok.onion", 22), ret));
|
||||||
|
BOOST_CHECK(!LookupSubNet(std::string("5wyqrzbvrdsumnok.onion\0", 23), ret));
|
||||||
|
BOOST_CHECK(!LookupSubNet(std::string("5wyqrzbvrdsumnok.onion\0example.com", 34), ret));
|
||||||
|
BOOST_CHECK(!LookupSubNet(std::string("5wyqrzbvrdsumnok.onion\0example.com\0", 35), ret));
|
||||||
|
}
|
||||||
|
|
||||||
BOOST_AUTO_TEST_SUITE_END()
|
BOOST_AUTO_TEST_SUITE_END()
|
||||||
|
Loading…
x
Reference in New Issue
Block a user