41
41
static_assert (MINIUPNPC_API_VERSION >= 10 , " miniUPnPc API version >= 10 assumed" );
42
42
#endif
43
43
44
+ #include < algorithm>
44
45
#include < cstdint>
45
46
#include < unordered_map>
46
47
@@ -1118,7 +1119,9 @@ void CConnman::AcceptConnection(const ListenSocket& hListenSocket) {
1118
1119
if (NetPermissions::HasFlag (permissionFlags, PF_BLOOMFILTER)) {
1119
1120
nodeServices = static_cast <ServiceFlags>(nodeServices | NODE_BLOOM);
1120
1121
}
1121
- CNode* pnode = new CNode (id, nodeServices, GetBestHeight (), hSocket, addr, CalculateKeyedNetGroup (addr), nonce, addr_bind, " " , ConnectionType::INBOUND);
1122
+
1123
+ const bool inbound_onion = std::find (m_onion_binds.begin (), m_onion_binds.end (), addr_bind) != m_onion_binds.end ();
1124
+ CNode* pnode = new CNode (id, nodeServices, GetBestHeight (), hSocket, addr, CalculateKeyedNetGroup (addr), nonce, addr_bind, " " , ConnectionType::INBOUND, inbound_onion);
1122
1125
pnode->AddRef ();
1123
1126
pnode->m_permissionFlags = permissionFlags;
1124
1127
// If this flag is present, the user probably expect that RPC and QT report it as whitelisted (backward compatibility)
@@ -2859,7 +2862,7 @@ int CConnman::GetBestHeight() const
2859
2862
2860
2863
unsigned int CConnman::GetReceiveFloodSize () const { return nReceiveFloodSize; }
2861
2864
2862
- CNode::CNode (NodeId idIn, ServiceFlags nLocalServicesIn, int nMyStartingHeightIn, SOCKET hSocketIn, const CAddress& addrIn, uint64_t nKeyedNetGroupIn, uint64_t nLocalHostNonceIn, const CAddress& addrBindIn, const std::string& addrNameIn, ConnectionType conn_type_in)
2865
+ CNode::CNode (NodeId idIn, ServiceFlags nLocalServicesIn, int nMyStartingHeightIn, SOCKET hSocketIn, const CAddress& addrIn, uint64_t nKeyedNetGroupIn, uint64_t nLocalHostNonceIn, const CAddress& addrBindIn, const std::string& addrNameIn, ConnectionType conn_type_in, bool inbound_onion )
2863
2866
: nTimeConnected(GetSystemTimeInSeconds()),
2864
2867
addr(addrIn),
2865
2868
addrBind(addrBindIn),
@@ -2871,7 +2874,8 @@ CNode::CNode(NodeId idIn, ServiceFlags nLocalServicesIn, int nMyStartingHeightIn
2871
2874
nLocalHostNonce(nLocalHostNonceIn),
2872
2875
m_conn_type(conn_type_in),
2873
2876
nLocalServices(nLocalServicesIn),
2874
- nMyStartingHeight(nMyStartingHeightIn)
2877
+ nMyStartingHeight(nMyStartingHeightIn),
2878
+ m_inbound_onion(inbound_onion)
2875
2879
{
2876
2880
hSocket = hSocketIn;
2877
2881
addrName = addrNameIn == " " ? addr.ToStringIPPort () : addrNameIn;
0 commit comments