mirror of
https://github.com/bitcoin/bitcoin.git
synced 2026-06-10 06:39:15 +02:00
Merge #14605: Return of the Banman
18185b57c3scripted-diff: batch-recase BanMan variables (Carl Dong)c2e04d37f3banman: Add, use CBanEntry ctor that takes ban reason (Carl Dong)1ffa4ce27dbanman: reformulate nBanUtil calculation (Carl Dong)daae598febbanman: add thread annotations and mark members const where possible (Cory Fields)84fc3fbd03scripted-diff: batch-rename BanMan members (Cory Fields)af3503d903net: move BanMan to its own files (Cory Fields)d0469b2e93banman: pass in default ban time as a parameter (Cory Fields)2e56702ecebanman: pass the banfile path in (Cory Fields)4c0d961eb0banman: create and split out banman (Cory Fields)83c1ea2e5enet: split up addresses/ban dumps in preparation for moving them (Cory Fields)136bd7926ctests: remove member connman/peerLogic in TestingSetup (Cory Fields)7cc2b9f678net: Break disconnecting out of Ban() (Cory Fields) Pull request description: **Old English à la Beowulf** ``` Banman wæs bréme --blaéd wíde sprang-- Connmanes eafera Coreum in. aéglaéca léodum forstandan Swá bealdode bearn Connmanes guma gúðum cúð gódum daédum· dréah æfter dóme· nealles druncne slóg ``` **Modern English Translation** ``` Banman was famed --his renown spread wide-- Conman's hier, in Core-land. against the evil creature defend the people Thus he was bold, the son of Connman man famed in war, for good deeds; he led his life for glory, never, having drunk, slew ``` -- With @theuni's blessing, here is Banman, rebased. Original PR: https://github.com/bitcoin/bitcoin/pull/11457 -- Followup PRs: 1. Give `CNode` a `Disconnect` method ([source](https://github.com/bitcoin/bitcoin/pull/14605#discussion_r248065847)) 2. Add a comment to `std::atomic_bool fDisconnect` in `net.h` that setting this to true will cause the node to be disconnected the next time `DisconnectNodes()` runs ([source](https://github.com/bitcoin/bitcoin/pull/14605#discussion_r248384309)) Tree-SHA512: 9c207edbf577415c22c9811113e393322d936a843d4ff265186728152a67c057779ac4d4f27b895de9729f7a53e870f828b9ebc8bcdab757520c2aebe1e9be35
This commit is contained in:
@@ -1211,16 +1211,16 @@ void RPCConsole::banSelectedNode(int bantime)
|
||||
// Get currently selected peer address
|
||||
NodeId id = nodes.at(i).data().toLongLong();
|
||||
|
||||
// Get currently selected peer address
|
||||
int detailNodeRow = clientModel->getPeerTableModel()->getRowByNodeId(id);
|
||||
if(detailNodeRow < 0)
|
||||
return;
|
||||
// Get currently selected peer address
|
||||
int detailNodeRow = clientModel->getPeerTableModel()->getRowByNodeId(id);
|
||||
if (detailNodeRow < 0) return;
|
||||
|
||||
// Find possible nodes, ban it and clear the selected node
|
||||
const CNodeCombinedStats *stats = clientModel->getPeerTableModel()->getNodeStats(detailNodeRow);
|
||||
if(stats) {
|
||||
// Find possible nodes, ban it and clear the selected node
|
||||
const CNodeCombinedStats *stats = clientModel->getPeerTableModel()->getNodeStats(detailNodeRow);
|
||||
if (stats) {
|
||||
m_node.ban(stats->nodeStats.addr, BanReasonManuallyAdded, bantime);
|
||||
}
|
||||
m_node.disconnect(stats->nodeStats.addr);
|
||||
}
|
||||
}
|
||||
clearSelectedNode();
|
||||
clientModel->getBanTableModel()->refresh();
|
||||
|
||||
Reference in New Issue
Block a user