aboutsummaryrefslogtreecommitdiff
path: root/src/net_processing.cpp
diff options
context:
space:
mode:
authorGleb Naumenko <naumenko.gs@gmail.com>2020-06-03 18:51:34 +0300
committerGleb Naumenko <naumenko.gs@gmail.com>2020-07-30 14:38:50 +0300
commitcf1569e074505dbbb9d29422803dd31bb62072d4 (patch)
treed86245d33855ec83bc82125b50776dc448572c35 /src/net_processing.cpp
parentacd6135b43941fa51d52f5fcdb2ce944280ad01e (diff)
downloadbitcoin-cf1569e074505dbbb9d29422803dd31bb62072d4.tar.xz
Add addr permission flag enabling non-cached addr sharing
Diffstat (limited to 'src/net_processing.cpp')
-rw-r--r--src/net_processing.cpp7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/net_processing.cpp b/src/net_processing.cpp
index a9f6ed960f..90d3af8c2a 100644
--- a/src/net_processing.cpp
+++ b/src/net_processing.cpp
@@ -3477,7 +3477,12 @@ void ProcessMessage(
pfrom.fSentAddr = true;
pfrom.vAddrToSend.clear();
- std::vector<CAddress> vAddr = connman.GetAddresses(pfrom.addr.GetNetwork());
+ std::vector<CAddress> vAddr;
+ if (pfrom.HasPermission(PF_ADDR)) {
+ vAddr = connman.GetAddresses();
+ } else {
+ vAddr = connman.GetAddresses(pfrom.addr.GetNetwork());
+ }
FastRandomContext insecure_rand;
for (const CAddress &addr : vAddr) {
pfrom.PushAddress(addr, insecure_rand);