summaryrefslogtreecommitdiff
path: root/node/OutboundMulticast.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'node/OutboundMulticast.cpp')
-rw-r--r--node/OutboundMulticast.cpp9
1 files changed, 8 insertions, 1 deletions
diff --git a/node/OutboundMulticast.cpp b/node/OutboundMulticast.cpp
index f62046be..bda7ab00 100644
--- a/node/OutboundMulticast.cpp
+++ b/node/OutboundMulticast.cpp
@@ -102,8 +102,14 @@ void OutboundMulticast::init(
void OutboundMulticast::sendOnly(const RuntimeEnvironment *RR,const Address &toAddr)
{
+ SharedPtr<Network> network(RR->node->network(_nwid));
+
+ if (!network)
+ return;
+ if (!network->isAllowed(toAddr))
+ return;
+
if (_haveCom) {
- SharedPtr<Network> network(RR->node->network(_nwid));
if (network->peerNeedsOurMembershipCertificate(toAddr,RR->node->now())) {
_packetWithCom.newInitializationVector();
_packetWithCom.setDestination(toAddr);
@@ -112,6 +118,7 @@ void OutboundMulticast::sendOnly(const RuntimeEnvironment *RR,const Address &toA
return;
}
}
+
//TRACE(">>MC %.16llx -> %s (without COM)",(unsigned long long)this,toAddr.toString().c_str());
_packetNoCom.newInitializationVector();
_packetNoCom.setDestination(toAddr);