From 9284e4edfe8267f4f33ac563a17571fcf73833a0 Mon Sep 17 00:00:00 2001 From: Adam Ierymenko Date: Wed, 1 Feb 2017 15:22:14 -0800 Subject: [PATCH] agree() must be called on our identity, the one with the secret --- node/Cluster.cpp | 2 +- node/Switch.cpp | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/node/Cluster.cpp b/node/Cluster.cpp index 7cf6b08be..356a0887e 100644 --- a/node/Cluster.cpp +++ b/node/Cluster.cpp @@ -347,7 +347,7 @@ void Cluster::handleIncomingStateMessage(const void *msg,unsigned int len) _RemotePeer &rp = _remotePeers[std::pair(id.address(),(unsigned int)fromMemberId)]; if (!rp.lastHavePeerReceived) { RR->topology->saveIdentity(id); - id.agree(RR->identity,rp.key,ZT_PEER_SECRET_KEY_LENGTH); + RR->identity.agree(id,rp.key,ZT_PEER_SECRET_KEY_LENGTH); } rp.lastHavePeerReceived = RR->node->now(); } diff --git a/node/Switch.cpp b/node/Switch.cpp index 56a15f0aa..2ab3ccfca 100644 --- a/node/Switch.cpp +++ b/node/Switch.cpp @@ -82,12 +82,12 @@ void Switch::onRemotePacket(const InetAddress &localAddr,const InetAddress &from * no longer send these, but we'll listen for them for a while to * locate peers with versions <1.0.4. */ - Address beaconAddr(reinterpret_cast(data) + 8,5); + const Address beaconAddr(reinterpret_cast(data) + 8,5); if (beaconAddr == RR->identity.address()) return; if (!RR->node->shouldUsePathForZeroTierTraffic(beaconAddr,localAddr,fromAddr)) return; - SharedPtr peer(RR->topology->getPeer(beaconAddr)); + const SharedPtr peer(RR->topology->getPeer(beaconAddr)); if (peer) { // we'll only respond to beacons from known peers if ((now - _lastBeaconResponse) >= 2500) { // limit rate of responses _lastBeaconResponse = now;