mirror of
https://github.com/zerotier/ZeroTierOne.git
synced 2024-12-30 09:48:54 +00:00
Prevent re-armoring of packets when in multipath broadcast mode
This commit is contained in:
parent
1d1843bf3b
commit
66b70a8043
@ -1249,6 +1249,14 @@ public:
|
|||||||
return (((unsigned int)(*this)[ZT_PACKET_IDX_FLAGS] & 0x38) >> 3);
|
return (((unsigned int)(*this)[ZT_PACKET_IDX_FLAGS] & 0x38) >> 3);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @return Whether this packet is currently encrypted
|
||||||
|
*/
|
||||||
|
inline bool isEncrypted() const
|
||||||
|
{
|
||||||
|
return (cipher() == ZT_PROTO_CIPHER_SUITE__C25519_POLY1305_SALSA2012) || (cipher() == ZT_PROTO_CIPHER_SUITE__AES_GMAC_SIV);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Set this packet's cipher suite
|
* Set this packet's cipher suite
|
||||||
*/
|
*/
|
||||||
|
@ -1045,7 +1045,9 @@ void Switch::_sendViaSpecificPath(void *tPtr,SharedPtr<Peer> peer,SharedPtr<Path
|
|||||||
if (trustedPathId) {
|
if (trustedPathId) {
|
||||||
packet.setTrusted(trustedPathId);
|
packet.setTrusted(trustedPathId);
|
||||||
} else {
|
} else {
|
||||||
|
if (!packet.isEncrypted()) {
|
||||||
packet.armor(peer->key(),encrypt,peer->aesKeysIfSupported());
|
packet.armor(peer->key(),encrypt,peer->aesKeysIfSupported());
|
||||||
|
}
|
||||||
RR->node->expectReplyTo(packet.packetId());
|
RR->node->expectReplyTo(packet.packetId());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user