mirror of
https://github.com/bitcoin/bitcoin.git
synced 2025-02-03 09:56:38 -05:00
Only relay IPv4, IPv6, Tor addresses
This commit is contained in:
parent
79f3d9b932
commit
56f9dba015
2 changed files with 9 additions and 0 deletions
|
@ -1528,6 +1528,7 @@ void RelayTransaction(const uint256& txid, const uint256& wtxid, const CConnman&
|
||||||
|
|
||||||
static void RelayAddress(const CAddress& addr, bool fReachable, const CConnman& connman)
|
static void RelayAddress(const CAddress& addr, bool fReachable, const CConnman& connman)
|
||||||
{
|
{
|
||||||
|
if (!fReachable && !addr.IsRelayable()) return;
|
||||||
|
|
||||||
// Relay to a limited number of other nodes
|
// Relay to a limited number of other nodes
|
||||||
// Use deterministic randomness to send to the same nodes for 24 hours
|
// Use deterministic randomness to send to the same nodes for 24 hours
|
||||||
|
|
|
@ -211,6 +211,14 @@ class CNetAddr
|
||||||
friend bool operator!=(const CNetAddr& a, const CNetAddr& b) { return !(a == b); }
|
friend bool operator!=(const CNetAddr& a, const CNetAddr& b) { return !(a == b); }
|
||||||
friend bool operator<(const CNetAddr& a, const CNetAddr& b);
|
friend bool operator<(const CNetAddr& a, const CNetAddr& b);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Whether this address should be relayed to other peers even if we can't reach it ourselves.
|
||||||
|
*/
|
||||||
|
bool IsRelayable() const
|
||||||
|
{
|
||||||
|
return IsIPv4() || IsIPv6() || IsTor();
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Serialize to a stream.
|
* Serialize to a stream.
|
||||||
*/
|
*/
|
||||||
|
|
Loading…
Add table
Reference in a new issue