mirror of
https://github.com/bitcoin/bitcoin.git
synced 2026-03-18 03:20:24 +01:00
net: Move NetPermissionFlags::Implicit verification to AddWhitelistPermissionFlags
This commit is contained in:
24
src/net.cpp
24
src/net.cpp
@@ -558,9 +558,18 @@ void CNode::CloseSocketDisconnect()
|
||||
m_i2p_sam_session.reset();
|
||||
}
|
||||
|
||||
void CConnman::AddWhitelistPermissionFlags(NetPermissionFlags& flags, const CNetAddr &addr) const {
|
||||
for (const auto& subnet : vWhitelistedRange) {
|
||||
if (subnet.m_subnet.Match(addr)) NetPermissions::AddFlag(flags, subnet.m_flags);
|
||||
void CConnman::AddWhitelistPermissionFlags(NetPermissionFlags& flags, const CNetAddr &addr, const std::vector<NetWhitelistPermissions>& ranges) const {
|
||||
for (const auto& subnet : ranges) {
|
||||
if (subnet.m_subnet.Match(addr)) {
|
||||
NetPermissions::AddFlag(flags, subnet.m_flags);
|
||||
}
|
||||
}
|
||||
if (NetPermissions::HasFlag(flags, NetPermissionFlags::Implicit)) {
|
||||
NetPermissions::ClearFlag(flags, NetPermissionFlags::Implicit);
|
||||
if (whitelist_forcerelay) NetPermissions::AddFlag(flags, NetPermissionFlags::ForceRelay);
|
||||
if (whitelist_relay) NetPermissions::AddFlag(flags, NetPermissionFlags::Relay);
|
||||
NetPermissions::AddFlag(flags, NetPermissionFlags::Mempool);
|
||||
NetPermissions::AddFlag(flags, NetPermissionFlags::NoBan);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1726,14 +1735,7 @@ void CConnman::CreateNodeFromAcceptedSocket(std::unique_ptr<Sock>&& sock,
|
||||
{
|
||||
int nInbound = 0;
|
||||
|
||||
AddWhitelistPermissionFlags(permission_flags, addr);
|
||||
if (NetPermissions::HasFlag(permission_flags, NetPermissionFlags::Implicit)) {
|
||||
NetPermissions::ClearFlag(permission_flags, NetPermissionFlags::Implicit);
|
||||
if (gArgs.GetBoolArg("-whitelistforcerelay", DEFAULT_WHITELISTFORCERELAY)) NetPermissions::AddFlag(permission_flags, NetPermissionFlags::ForceRelay);
|
||||
if (gArgs.GetBoolArg("-whitelistrelay", DEFAULT_WHITELISTRELAY)) NetPermissions::AddFlag(permission_flags, NetPermissionFlags::Relay);
|
||||
NetPermissions::AddFlag(permission_flags, NetPermissionFlags::Mempool);
|
||||
NetPermissions::AddFlag(permission_flags, NetPermissionFlags::NoBan);
|
||||
}
|
||||
AddWhitelistPermissionFlags(permission_flags, addr, vWhitelistedRange);
|
||||
|
||||
{
|
||||
LOCK(m_nodes_mutex);
|
||||
|
||||
Reference in New Issue
Block a user