Skip to content

Commit

Permalink
net: Move NetPermissionFlags::Implicit verification to `InitializeP…
Browse files Browse the repository at this point in the history
…ermissionFlag`

Github-Pull: bitcoin#27114
Rebased-From: 54b22e7
  • Loading branch information
luke-jr committed Oct 19, 2023
1 parent 8009cc1 commit e11c4d4
Showing 1 changed file with 11 additions and 7 deletions.
18 changes: 11 additions & 7 deletions src/net.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -360,6 +360,16 @@ bool IsLocal(const CService& addr)
return mapLocalHost.count(addr) > 0;
}

static void InitializePermissionFlags(NetPermissionFlags& flags) {
if (NetPermissions::HasFlag(flags, NetPermissionFlags::Implicit)) {
NetPermissions::ClearFlag(flags, NetPermissionFlags::Implicit);
if (gArgs.GetBoolArg("-whitelistforcerelay", DEFAULT_WHITELISTFORCERELAY)) NetPermissions::AddFlag(flags, NetPermissionFlags::ForceRelay);
if (gArgs.GetBoolArg("-whitelistrelay", DEFAULT_WHITELISTRELAY)) NetPermissions::AddFlag(flags, NetPermissionFlags::Relay);
NetPermissions::AddFlag(flags, NetPermissionFlags::Mempool);
NetPermissions::AddFlag(flags, NetPermissionFlags::NoBan);
}
}

CNode* CConnman::FindNode(const CNetAddr& ip)
{
LOCK(m_nodes_mutex);
Expand Down Expand Up @@ -977,13 +987,7 @@ void CConnman::CreateNodeFromAcceptedSocket(std::unique_ptr<Sock>&& sock,
int nMaxInbound = nMaxConnections - m_max_outbound;

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);
}
InitializePermissionFlags(permission_flags);

{
LOCK(m_nodes_mutex);
Expand Down

0 comments on commit e11c4d4

Please sign in to comment.