Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
19 commits
Select commit Hold shift + click to select a range
017d1b4
merge bitcoin#19763: don't relay to the address' originator
kwvg Mar 26, 2024
d0c596e
merge bitcoin#20653: Move addr relay comment in net to correct place
kwvg Dec 14, 2020
b76e029
merge bitcoin#20756: Add missing field (permissions) to the getpeerin…
kwvg Dec 23, 2020
1d4f10a
merge bitcoin#19315: Allow outbound & block-relay-only connections in…
kwvg Mar 28, 2024
e109c00
merge bitcoin#20646: refer to BIPs 339/155 in feature negotiation
kwvg Dec 14, 2020
3e8ba24
partial bitcoin-core/gui#206: Display fRelayTxes and bip152_highbandw…
kwvg Jan 30, 2021
8b204c4
merge bitcoin-core/gui#226: Add "Last Block" and "Last Tx" rows to pe…
kwvg Mar 25, 2024
62a7311
merge bitcoin#21015: Make all of net_processing (and some of net) use…
kwvg Apr 3, 2024
5c4c7c5
merge bitcoin#19771: Replace enum CConnMan::NumConnections with enum …
kwvg Mar 25, 2024
ba1df91
merge bitcoin#21425: Pass PeerManagerImpl members only once
kwvg Mar 25, 2024
d34d2c4
merge bitcoin#21236: Extract addr send functionality into MaybeSendAd…
kwvg Mar 3, 2021
39384ba
merge bitcoin#21198: Address outstanding review comments from PR20721
kwvg Mar 24, 2024
6d27db5
merge bitcoin#21707: Extend functional tests for addr relay
kwvg Apr 2, 2024
03ab144
merge bitcoin#21785: Fix intermittent issue in p2p_addr_relay.py
kwvg Apr 28, 2021
4844e72
merge bitcoin#21506: make NetPermissionFlags an enum class
kwvg Mar 25, 2024
26c39f5
net: replace RelayAddrsWithConn check with !IsBlockOnlyConn
kwvg Mar 28, 2024
5478001
partial bitcoin#21186: Move addr data into net_processing
kwvg Mar 24, 2024
2e55327
net: introduce CanRelayAddrs as RelayAddrsWithConn substitute
kwvg Mar 28, 2024
e89c555
merge bitcoin#22107: rename GetSystemTimeInSeconds to GetTimeSeconds
kwvg Mar 26, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion src/bitcoin-cli.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -426,7 +426,7 @@ class NetinfoRequestHandler : public BaseRequestHandler
"See this help\n"
"> dash-cli -netinfo help\n"};
}
const int64_t m_time_now{GetSystemTimeInSeconds()};
const int64_t m_time_now{GetTimeSeconds()};

public:
static constexpr int ID_PEERINFO = 0;
Expand Down
5 changes: 3 additions & 2 deletions src/interfaces/node.h
Original file line number Diff line number Diff line change
Expand Up @@ -6,9 +6,10 @@
#define BITCOIN_INTERFACES_NODE_H

#include <amount.h> // For CAmount
#include <net.h> // For CConnman::NumConnections
#include <net.h> // For NodeId
#include <net_types.h> // For banmap_t
#include <netaddress.h> // For Network
#include <netbase.h> // For ConnectionDirection
#include <support/allocators/secure.h> // For SecureString
#include <uint256.h>
#include <util/translation.h>
Expand Down Expand Up @@ -175,7 +176,7 @@ class Node
virtual bool getProxy(Network net, proxyType& proxy_info) = 0;

//! Get number of connections.
virtual size_t getNodeCount(CConnman::NumConnections flags) = 0;
virtual size_t getNodeCount(ConnectionDirection flags) = 0;

//! Get stats for connected nodes.
using NodesStats = std::vector<std::tuple<CNodeStats, bool, CNodeStateStats>>;
Expand Down
2 changes: 1 addition & 1 deletion src/llmq/dkgsession.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -1316,7 +1316,7 @@ void CDKGSession::RelayInvToParticipants(const CInv& inv) const
logger.Batch("RelayInvToParticipants inv[%s] relayMembers[%d] GetNodeCount[%d] GetNetworkActive[%d] HasMasternodeQuorumNodes[%d] for quorumHash[%s] forMember[%s] relayMembers[%s]",
inv.ToString(),
relayMembers.size(),
connman.GetNodeCount(CConnman::CONNECTIONS_ALL),
connman.GetNodeCount(ConnectionDirection::Both),
connman.GetNetworkActive(),
connman.HasMasternodeQuorumNodes(params.type, m_quorum_base_block_index->GetBlockHash()),
m_quorum_base_block_index->GetBlockHash().ToString(),
Expand Down
10 changes: 5 additions & 5 deletions src/llmq/instantsend.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -1068,7 +1068,7 @@ void CInstantSendManager::ProcessInstantSendLock(NodeId from, const uint256& has
// bump mempool counter to make sure newly locked txes are picked up by getblocktemplate
mempool.AddTransactionsUpdated(1);
} else {
AskNodesForLockedTx(islock->txid, connman);
AskNodesForLockedTx(islock->txid, connman, *m_peerman.load());
}
}

Expand Down Expand Up @@ -1344,7 +1344,7 @@ void CInstantSendManager::RemoveMempoolConflictsForLock(const uint256& hash, con
for (const auto& p : toDelete) {
RemoveConflictedTx(*p.second);
}
AskNodesForLockedTx(islock.txid, connman);
AskNodesForLockedTx(islock.txid, connman, *m_peerman.load());
}
}

Expand Down Expand Up @@ -1449,16 +1449,16 @@ void CInstantSendManager::RemoveConflictingLock(const uint256& islockHash, const
}
}

void CInstantSendManager::AskNodesForLockedTx(const uint256& txid, const CConnman& connman)
void CInstantSendManager::AskNodesForLockedTx(const uint256& txid, const CConnman& connman, const PeerManager& peerman)
{
std::vector<CNode*> nodesToAskFor;
nodesToAskFor.reserve(4);

auto maybe_add_to_nodesToAskFor = [&nodesToAskFor, &txid](CNode* pnode) {
auto maybe_add_to_nodesToAskFor = [&peerman, &nodesToAskFor, &txid](CNode* pnode) {
if (nodesToAskFor.size() >= 4) {
return;
}
if (pnode->RelayAddrsWithConn()) {
if (peerman.CanRelayAddrs(pnode->GetId())) {
LOCK(pnode->m_tx_relay->cs_tx_inventory);
if (pnode->m_tx_relay->filterInventoryKnown.contains(txid)) {
pnode->AddRef();
Expand Down
2 changes: 1 addition & 1 deletion src/llmq/instantsend.h
Original file line number Diff line number Diff line change
Expand Up @@ -299,7 +299,7 @@ class CInstantSendManager : public CRecoveredSigsListener

void RemoveMempoolConflictsForLock(const uint256& hash, const CInstantSendLock& islock);
void ResolveBlockConflicts(const uint256& islockHash, const CInstantSendLock& islock) LOCKS_EXCLUDED(cs_pendingLocks, cs_nonLocked);
static void AskNodesForLockedTx(const uint256& txid, const CConnman& connman);
static void AskNodesForLockedTx(const uint256& txid, const CConnman& connman, const PeerManager& peerman);
void ProcessPendingRetryLockTxs() LOCKS_EXCLUDED(cs_creating, cs_nonLocked, cs_pendingRetry);

void WorkThreadMain();
Expand Down
2 changes: 1 addition & 1 deletion src/masternode/sync.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -165,7 +165,7 @@ void CMasternodeSync::ProcessTick()
if (!pnode->CanRelay() || (fMasternodeMode && pnode->IsInboundConn())) continue;

{
if ((pnode->HasPermission(PF_NOBAN) || pnode->IsManualConn()) && !m_netfulfilledman.HasFulfilledRequest(pnode->addr, strAllow)) {
if ((pnode->HasPermission(NetPermissionFlags::NoBan) || pnode->IsManualConn()) && !m_netfulfilledman.HasFulfilledRequest(pnode->addr, strAllow)) {
m_netfulfilledman.RemoveAllFulfilledRequests(pnode->addr);
m_netfulfilledman.AddFulfilledRequest(pnode->addr, strAllow);
LogPrintf("CMasternodeSync::ProcessTick -- skipping mnsync restrictions for peer=%d\n", pnode->GetId());
Expand Down
4 changes: 2 additions & 2 deletions src/masternode/utils.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,7 @@ void CMasternodeUtils::DoMaintenance(CConnman& connman, const CMasternodeSync& m
connman.ForEachNode(CConnman::AllNodes, [&](CNode* pnode) {
if (pnode->m_masternode_probe_connection) {
// we're not disconnecting masternode probes for at least PROBE_WAIT_INTERVAL seconds
if (GetSystemTimeInSeconds() - pnode->nTimeConnected < PROBE_WAIT_INTERVAL) return;
if (GetTimeSeconds() - pnode->nTimeConnected < PROBE_WAIT_INTERVAL) return;
} else {
// we're only disconnecting m_masternode_connection connections
if (!pnode->m_masternode_connection) return;
Expand All @@ -65,7 +65,7 @@ void CMasternodeUtils::DoMaintenance(CConnman& connman, const CMasternodeSync& m
if (pnode->IsInboundConn()) {
return;
}
} else if (GetSystemTimeInSeconds() - pnode->nTimeConnected < 5) {
} else if (GetTimeSeconds() - pnode->nTimeConnected < 5) {
// non-verified, give it some time to verify itself
return;
} else if (pnode->qwatch) {
Expand Down
Loading