mirror of
https://github.com/Retropex/bitcoin.git
synced 2025-06-02 23:42:33 +02:00
Diff-minimisation
This commit is contained in:
parent
622ae61e0b
commit
f5e5abe37f
@ -2034,14 +2034,13 @@ void CConnman::OpenNetworkConnection(const CAddress& addrConnect, bool fCountFai
|
|||||||
return;
|
return;
|
||||||
|
|
||||||
CNode* pnode = ConnectNode(addrConnect, pszDest, fCountFailure, conn_type);
|
CNode* pnode = ConnectNode(addrConnect, pszDest, fCountFailure, conn_type);
|
||||||
|
|
||||||
if (!pnode)
|
if (!pnode)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
if (grantOutbound)
|
if (grantOutbound)
|
||||||
grantOutbound->MoveTo(pnode->grantOutbound);
|
grantOutbound->MoveTo(pnode->grantOutbound);
|
||||||
|
|
||||||
ServiceFlags nodeServices = nLocalServices;
|
m_msgproc->InitializeNode(*pnode, nLocalServices);
|
||||||
m_msgproc->InitializeNode(*pnode, nodeServices);
|
|
||||||
{
|
{
|
||||||
LOCK(m_nodes_mutex);
|
LOCK(m_nodes_mutex);
|
||||||
m_nodes.push_back(pnode);
|
m_nodes.push_back(pnode);
|
||||||
|
@ -90,6 +90,10 @@ class NetWhitelistPermissions : public NetPermissions
|
|||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
static bool TryParse(const std::string& str, NetWhitelistPermissions& output, ConnectionDirection& output_connection_direction, bilingual_str& error);
|
static bool TryParse(const std::string& str, NetWhitelistPermissions& output, ConnectionDirection& output_connection_direction, bilingual_str& error);
|
||||||
|
static inline bool TryParse(const std::string& str, NetWhitelistPermissions& output, bilingual_str& error) {
|
||||||
|
ConnectionDirection connection_direction_ignored;
|
||||||
|
return TryParse(str, output, connection_direction_ignored, error);
|
||||||
|
}
|
||||||
CSubNet m_subnet;
|
CSubNet m_subnet;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -376,7 +376,6 @@ BOOST_AUTO_TEST_CASE(netpermissions_test)
|
|||||||
bilingual_str error;
|
bilingual_str error;
|
||||||
NetWhitebindPermissions whitebindPermissions;
|
NetWhitebindPermissions whitebindPermissions;
|
||||||
NetWhitelistPermissions whitelistPermissions;
|
NetWhitelistPermissions whitelistPermissions;
|
||||||
ConnectionDirection connection_direction;
|
|
||||||
|
|
||||||
// Detect invalid white bind
|
// Detect invalid white bind
|
||||||
BOOST_CHECK(!NetWhitebindPermissions::TryParse("", whitebindPermissions, error));
|
BOOST_CHECK(!NetWhitebindPermissions::TryParse("", whitebindPermissions, error));
|
||||||
@ -454,19 +453,20 @@ BOOST_AUTO_TEST_CASE(netpermissions_test)
|
|||||||
BOOST_CHECK(error.original.find("Invalid P2P permission") != std::string::npos);
|
BOOST_CHECK(error.original.find("Invalid P2P permission") != std::string::npos);
|
||||||
|
|
||||||
// Check netmask error
|
// Check netmask error
|
||||||
BOOST_CHECK(!NetWhitelistPermissions::TryParse("bloom,forcerelay,noban@1.2.3.4:32", whitelistPermissions, connection_direction, error));
|
BOOST_CHECK(!NetWhitelistPermissions::TryParse("bloom,forcerelay,noban@1.2.3.4:32", whitelistPermissions, error));
|
||||||
BOOST_CHECK(error.original.find("Invalid netmask specified in -whitelist") != std::string::npos);
|
BOOST_CHECK(error.original.find("Invalid netmask specified in -whitelist") != std::string::npos);
|
||||||
|
|
||||||
// Happy path for whitelist parsing
|
// Happy path for whitelist parsing
|
||||||
BOOST_CHECK(NetWhitelistPermissions::TryParse("noban@1.2.3.4", whitelistPermissions, connection_direction, error));
|
BOOST_CHECK(NetWhitelistPermissions::TryParse("noban@1.2.3.4", whitelistPermissions, error));
|
||||||
BOOST_CHECK_EQUAL(whitelistPermissions.m_flags, NetPermissionFlags::NoBan);
|
BOOST_CHECK_EQUAL(whitelistPermissions.m_flags, NetPermissionFlags::NoBan);
|
||||||
BOOST_CHECK(NetPermissions::HasFlag(whitelistPermissions.m_flags, NetPermissionFlags::NoBan));
|
BOOST_CHECK(NetPermissions::HasFlag(whitelistPermissions.m_flags, NetPermissionFlags::NoBan));
|
||||||
|
|
||||||
BOOST_CHECK(NetWhitelistPermissions::TryParse("bloom,forcerelay,noban,relay@1.2.3.4/32", whitelistPermissions, connection_direction, error));
|
BOOST_CHECK(NetWhitelistPermissions::TryParse("bloom,forcerelay,noban,relay@1.2.3.4/32", whitelistPermissions, error));
|
||||||
BOOST_CHECK_EQUAL(whitelistPermissions.m_flags, NetPermissionFlags::BloomFilter | NetPermissionFlags::ForceRelay | NetPermissionFlags::NoBan | NetPermissionFlags::Relay);
|
BOOST_CHECK_EQUAL(whitelistPermissions.m_flags, NetPermissionFlags::BloomFilter | NetPermissionFlags::ForceRelay | NetPermissionFlags::NoBan | NetPermissionFlags::Relay);
|
||||||
BOOST_CHECK(error.empty());
|
BOOST_CHECK(error.empty());
|
||||||
BOOST_CHECK_EQUAL(whitelistPermissions.m_subnet.ToString(), "1.2.3.4/32");
|
BOOST_CHECK_EQUAL(whitelistPermissions.m_subnet.ToString(), "1.2.3.4/32");
|
||||||
BOOST_CHECK(NetWhitelistPermissions::TryParse("bloom,forcerelay,noban,relay,mempool@1.2.3.4/32", whitelistPermissions, connection_direction, error));
|
BOOST_CHECK(NetWhitelistPermissions::TryParse("bloom,forcerelay,noban,relay,mempool@1.2.3.4/32", whitelistPermissions, error));
|
||||||
|
ConnectionDirection connection_direction;
|
||||||
BOOST_CHECK(NetWhitelistPermissions::TryParse("in,relay@1.2.3.4", whitelistPermissions, connection_direction, error));
|
BOOST_CHECK(NetWhitelistPermissions::TryParse("in,relay@1.2.3.4", whitelistPermissions, connection_direction, error));
|
||||||
BOOST_CHECK_EQUAL(connection_direction, ConnectionDirection::In);
|
BOOST_CHECK_EQUAL(connection_direction, ConnectionDirection::In);
|
||||||
BOOST_CHECK(NetWhitelistPermissions::TryParse("out,bloom@1.2.3.4", whitelistPermissions, connection_direction, error));
|
BOOST_CHECK(NetWhitelistPermissions::TryParse("out,bloom@1.2.3.4", whitelistPermissions, connection_direction, error));
|
||||||
|
Loading…
Reference in New Issue
Block a user