|
@@ -195,8 +195,12 @@ void Cluster::handleIncomingStateMessage(const void *msg,unsigned int len)
|
|
const Address destinationAddress(reinterpret_cast<const char *>(packet) + 8,ZT_ADDRESS_LENGTH);
|
|
const Address destinationAddress(reinterpret_cast<const char *>(packet) + 8,ZT_ADDRESS_LENGTH);
|
|
SharedPtr<Peer> destinationPeer(RR->topology->getPeer(destinationAddress));
|
|
SharedPtr<Peer> destinationPeer(RR->topology->getPeer(destinationAddress));
|
|
if (destinationPeer) {
|
|
if (destinationPeer) {
|
|
- RemotePath *destinationPath = destinationPeer->send(RR,packet,packetLen,RR->node->now());
|
|
|
|
- if ((destinationPath)&&(numRemotePeerPaths > 0)&&(packetLen >= 18)&&(reinterpret_cast<const unsigned char *>(packet)[ZT_PACKET_FRAGMENT_IDX_FRAGMENT_INDICATOR] == ZT_PACKET_FRAGMENT_INDICATOR)) {
|
|
|
|
|
|
+ if (
|
|
|
|
+ (destinationPeer->send(RR,packet,packetLen,RR->node->now()))&&
|
|
|
|
+ (numRemotePeerPaths > 0)&&
|
|
|
|
+ (packetLen >= 18)&&
|
|
|
|
+ (reinterpret_cast<const unsigned char *>(packet)[ZT_PACKET_FRAGMENT_IDX_FRAGMENT_INDICATOR] == ZT_PACKET_FRAGMENT_INDICATOR)
|
|
|
|
+ ) {
|
|
// If remote peer paths were sent with this relayed packet, we do
|
|
// If remote peer paths were sent with this relayed packet, we do
|
|
// RENDEZVOUS. It's handled here for cluster-relayed packets since
|
|
// RENDEZVOUS. It's handled here for cluster-relayed packets since
|
|
// we don't have both Peer records so this is a different path.
|
|
// we don't have both Peer records so this is a different path.
|