Github-Pull: #11456
Rebased-From: 57edc0b0c8
tags/v0.15.1
@@ -665,7 +665,7 @@ void CNode::copyStats(CNodeStats &stats) | |||
X(cleanSubVer); | |||
} | |||
X(fInbound); | |||
X(fAddnode); | |||
X(m_manual_connection); | |||
X(nStartingHeight); | |||
{ | |||
LOCK(cs_vSend); | |||
@@ -1738,7 +1738,7 @@ void CConnman::ThreadOpenConnections() | |||
{ | |||
LOCK(cs_vNodes); | |||
for (CNode* pnode : vNodes) { | |||
if (!pnode->fInbound && !pnode->fAddnode) { | |||
if (!pnode->fInbound && !pnode->m_manual_connection) { | |||
// Count the peers that have all relevant services | |||
if (pnode->fSuccessfullyConnected && !pnode->fFeeler && ((pnode->nServices & nRelevantServices) == nRelevantServices)) { | |||
@@ -1934,7 +1934,7 @@ void CConnman::ThreadOpenAddedConnections() | |||
} | |||
// if successful, this moves the passed grant to the constructed node | |||
bool CConnman::OpenNetworkConnection(const CAddress& addrConnect, bool fCountFailure, CSemaphoreGrant *grantOutbound, const char *pszDest, bool fOneShot, bool fFeeler, bool fAddnode) | |||
bool CConnman::OpenNetworkConnection(const CAddress& addrConnect, bool fCountFailure, CSemaphoreGrant *grantOutbound, const char *pszDest, bool fOneShot, bool fFeeler, bool manual_connection) | |||
{ | |||
// | |||
// Initiate outbound network connection | |||
@@ -1963,8 +1963,8 @@ bool CConnman::OpenNetworkConnection(const CAddress& addrConnect, bool fCountFai | |||
pnode->fOneShot = true; | |||
if (fFeeler) | |||
pnode->fFeeler = true; | |||
if (fAddnode) | |||
pnode->fAddnode = true; | |||
if (manual_connection) | |||
pnode->m_manual_connection = true; | |||
GetNodeSignals().InitializeNode(pnode, *this); | |||
{ | |||
@@ -2704,7 +2704,7 @@ CNode::CNode(NodeId idIn, ServiceFlags nLocalServicesIn, int nMyStartingHeightIn | |||
strSubVer = ""; | |||
fWhitelisted = false; | |||
fOneShot = false; | |||
fAddnode = false; | |||
m_manual_connection = false; | |||
fClient = false; // set by version message | |||
fFeeler = false; | |||
fSuccessfullyConnected = false; |
@@ -170,7 +170,7 @@ public: | |||
void Interrupt(); | |||
bool GetNetworkActive() const { return fNetworkActive; }; | |||
void SetNetworkActive(bool active); | |||
bool OpenNetworkConnection(const CAddress& addrConnect, bool fCountFailure, CSemaphoreGrant *grantOutbound = nullptr, const char *strDest = nullptr, bool fOneShot = false, bool fFeeler = false, bool fAddnode = false); | |||
bool OpenNetworkConnection(const CAddress& addrConnect, bool fCountFailure, CSemaphoreGrant *grantOutbound = nullptr, const char *strDest = nullptr, bool fOneShot = false, bool fFeeler = false, bool manual_connection = false); | |||
bool CheckIncomingNonce(uint64_t nonce); | |||
bool ForNode(NodeId id, std::function<bool(CNode* pnode)> func); | |||
@@ -508,7 +508,7 @@ public: | |||
int nVersion; | |||
std::string cleanSubVer; | |||
bool fInbound; | |||
bool fAddnode; | |||
bool m_manual_connection; | |||
int nStartingHeight; | |||
uint64_t nSendBytes; | |||
mapMsgCmdSize mapSendBytesPerMsgCmd; | |||
@@ -618,7 +618,7 @@ public: | |||
bool fWhitelisted; // This peer can bypass DoS banning. | |||
bool fFeeler; // If true this node is being used as a short lived feeler. | |||
bool fOneShot; | |||
bool fAddnode; | |||
bool m_manual_connection; | |||
bool fClient; | |||
const bool fInbound; | |||
std::atomic_bool fSuccessfullyConnected; |
@@ -2656,7 +2656,7 @@ static bool SendRejectsAndCheckIfBanned(CNode* pnode, CConnman& connman) | |||
state.fShouldBan = false; | |||
if (pnode->fWhitelisted) | |||
LogPrintf("Warning: not punishing whitelisted peer %s!\n", pnode->addr.ToString()); | |||
else if (pnode->fAddnode) | |||
else if (pnode->m_manual_connection) | |||
LogPrintf("Warning: not punishing addnoded peer %s!\n", pnode->addr.ToString()); | |||
else { | |||
pnode->fDisconnect = true; |
@@ -156,7 +156,7 @@ UniValue getpeerinfo(const JSONRPCRequest& request) | |||
// their ver message. | |||
obj.push_back(Pair("subver", stats.cleanSubVer)); | |||
obj.push_back(Pair("inbound", stats.fInbound)); | |||
obj.push_back(Pair("addnode", stats.fAddnode)); | |||
obj.push_back(Pair("addnode", stats.m_manual_connection)); | |||
obj.push_back(Pair("startingheight", stats.nStartingHeight)); | |||
if (fStateStats) { | |||
obj.push_back(Pair("banscore", statestats.nMisbehavior)); |