Merge #10176: net: gracefully handle NodeId wrapping
c851be4
net: define NodeId as an int64_t (Cory Fields)
Tree-SHA512: 2ccc931cfcdc555313b9434d8de2f6cea759b31891212ca62f962208f60157d4fc593010e3ca61265d1a20d6f78c6ca79103600b85df77983d5509d192875b96
This commit is contained in:
commit
cf8a8b1028
|
@ -92,7 +92,7 @@ static const ServiceFlags REQUIRED_SERVICES = NODE_NETWORK;
|
||||||
// NOTE: When adjusting this, update rpcnet:setban's help ("24h")
|
// NOTE: When adjusting this, update rpcnet:setban's help ("24h")
|
||||||
static const unsigned int DEFAULT_MISBEHAVING_BANTIME = 60 * 60 * 24; // Default 24-hour ban
|
static const unsigned int DEFAULT_MISBEHAVING_BANTIME = 60 * 60 * 24; // Default 24-hour ban
|
||||||
|
|
||||||
typedef int NodeId;
|
typedef int64_t NodeId;
|
||||||
|
|
||||||
struct AddedNodeInfo
|
struct AddedNodeInfo
|
||||||
{
|
{
|
||||||
|
|
|
@ -166,7 +166,7 @@ QVariant PeerTableModel::data(const QModelIndex &index, int role) const
|
||||||
switch(index.column())
|
switch(index.column())
|
||||||
{
|
{
|
||||||
case NetNodeId:
|
case NetNodeId:
|
||||||
return rec->nodeStats.nodeid;
|
return (qint64)rec->nodeStats.nodeid;
|
||||||
case Address:
|
case Address:
|
||||||
return QString::fromStdString(rec->nodeStats.addrName);
|
return QString::fromStdString(rec->nodeStats.addrName);
|
||||||
case Subversion:
|
case Subversion:
|
||||||
|
|
|
@ -1118,7 +1118,7 @@ void RPCConsole::disconnectSelectedNode()
|
||||||
for(int i = 0; i < nodes.count(); i++)
|
for(int i = 0; i < nodes.count(); i++)
|
||||||
{
|
{
|
||||||
// Get currently selected peer address
|
// Get currently selected peer address
|
||||||
NodeId id = nodes.at(i).data().toInt();
|
NodeId id = nodes.at(i).data().toLongLong();
|
||||||
// Find the node, disconnect it and clear the selected node
|
// Find the node, disconnect it and clear the selected node
|
||||||
if(g_connman->DisconnectNode(id))
|
if(g_connman->DisconnectNode(id))
|
||||||
clearSelectedNode();
|
clearSelectedNode();
|
||||||
|
@ -1135,7 +1135,7 @@ void RPCConsole::banSelectedNode(int bantime)
|
||||||
for(int i = 0; i < nodes.count(); i++)
|
for(int i = 0; i < nodes.count(); i++)
|
||||||
{
|
{
|
||||||
// Get currently selected peer address
|
// Get currently selected peer address
|
||||||
NodeId id = nodes.at(i).data().toInt();
|
NodeId id = nodes.at(i).data().toLongLong();
|
||||||
|
|
||||||
// Get currently selected peer address
|
// Get currently selected peer address
|
||||||
int detailNodeRow = clientModel->getPeerTableModel()->getRowByNodeId(id);
|
int detailNodeRow = clientModel->getPeerTableModel()->getRowByNodeId(id);
|
||||||
|
|
Loading…
Reference in New Issue