From a1005ca85826bfde59b34f205c10adc6ff1a3a1b Mon Sep 17 00:00:00 2001 From: Adam Ierymenko Date: Sun, 26 Apr 2015 16:03:16 -0700 Subject: [PATCH] Do not unite() peers across different IP scopes as this would pretty much never work. --- node/Switch.cpp | 3 +++ 1 file changed, 3 insertions(+) diff --git a/node/Switch.cpp b/node/Switch.cpp index 8c27fdfac..e2bc74c5f 100644 --- a/node/Switch.cpp +++ b/node/Switch.cpp @@ -296,6 +296,9 @@ bool Switch::unite(const Address &p1,const Address &p2,bool force) if (!(cg.first)) return false; + if (cg.first.ipScope() != cg.second.ipScope()) + return false; + // Addresses are sorted in key for last unite attempt map for order // invariant lookup: (p1,p2) == (p2,p1) Array uniteKey;