Skip to content

Commit

Permalink
net_processing: Move extra service flag into InitializeNode
Browse files Browse the repository at this point in the history
Github-Pull: bitcoin#27114
Rebased-From: a3cdcf1
  • Loading branch information
luke-jr committed Oct 19, 2023
1 parent e11c4d4 commit c1bd439
Show file tree
Hide file tree
Showing 2 changed files with 10 additions and 7 deletions.
9 changes: 2 additions & 7 deletions src/net.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -1043,12 +1043,6 @@ void CConnman::CreateNodeFromAcceptedSocket(std::unique_ptr<Sock>&& sock,
uint64_t nonce = GetDeterministicRandomizer(RANDOMIZER_ID_LOCALHOSTNONCE).Write(id).Finalize();

ServiceFlags nodeServices = nLocalServices;
if (NetPermissions::HasFlag(permission_flags, NetPermissionFlags::BloomFilter)) {
nodeServices = static_cast<ServiceFlags>(nodeServices | NODE_BLOOM);
}
if (NetPermissions::HasFlag(permission_flags, NetPermissionFlags::BlockFilters)) {
nodeServices = static_cast<ServiceFlags>(nodeServices | NODE_COMPACT_FILTERS);
}

const bool inbound_onion = std::find(m_onion_binds.begin(), m_onion_binds.end(), addr_bind) != m_onion_binds.end();
CNode* pnode = new CNode(id,
Expand Down Expand Up @@ -2041,7 +2035,8 @@ void CConnman::OpenNetworkConnection(const CAddress& addrConnect, bool fCountFai
if (grantOutbound)
grantOutbound->MoveTo(pnode->grantOutbound);

m_msgproc->InitializeNode(*pnode, nLocalServices);
ServiceFlags nodeServices = nLocalServices;
m_msgproc->InitializeNode(*pnode, nodeServices);
{
LOCK(m_nodes_mutex);
m_nodes.push_back(pnode);
Expand Down
8 changes: 8 additions & 0 deletions src/net_processing.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -1451,6 +1451,14 @@ void PeerManagerImpl::InitializeNode(CNode& node, ServiceFlags our_services)
m_node_states.emplace_hint(m_node_states.end(), std::piecewise_construct, std::forward_as_tuple(nodeid), std::forward_as_tuple(node.IsInboundConn()));
assert(m_txrequest.Count(nodeid) == 0);
}

if (NetPermissions::HasFlag(node.m_permission_flags, NetPermissionFlags::BloomFilter)) {
our_services = static_cast<ServiceFlags>(our_services | NODE_BLOOM);
}
if (NetPermissions::HasFlag(node.m_permission_flags, NetPermissionFlags::BlockFilters)) {
our_services = static_cast<ServiceFlags>(our_services | NODE_COMPACT_FILTERS);
}

PeerRef peer = std::make_shared<Peer>(nodeid, our_services);
{
LOCK(m_peer_mutex);
Expand Down

0 comments on commit c1bd439

Please sign in to comment.