summaryrefslogtreecommitdiff
path: root/node/Multicaster.cpp
diff options
context:
space:
mode:
authorAdam Ierymenko <adam.ierymenko@gmail.com>2014-10-14 12:37:35 -0700
committerAdam Ierymenko <adam.ierymenko@gmail.com>2014-10-14 12:37:35 -0700
commit42d644a57ea65144be2e9ffb0319701a7187c33f (patch)
treed3cc9f3a056a4ae9c3650856d75e7b1afd067bcb /node/Multicaster.cpp
parent023cac4ebb42cd66073649d92340b2d2a8f74f33 (diff)
downloadinfinitytier-42d644a57ea65144be2e9ffb0319701a7187c33f.tar.gz
infinitytier-42d644a57ea65144be2e9ffb0319701a7187c33f.zip
More fixes to legacy support, and to a potential issue on quit.
Diffstat (limited to 'node/Multicaster.cpp')
-rw-r--r--node/Multicaster.cpp7
1 files changed, 3 insertions, 4 deletions
diff --git a/node/Multicaster.cpp b/node/Multicaster.cpp
index 1269d35b..ba8258b2 100644
--- a/node/Multicaster.cpp
+++ b/node/Multicaster.cpp
@@ -270,8 +270,7 @@ void Multicaster::send(
outp.append((uint16_t)0xffff); // do not forward
outp.append((unsigned char)0,320 + 1024); // empty queue and bloom filter
- unsigned int signedPortionStart = outp.size();
- outp.append((unsigned char)0);
+ outp.append((unsigned char)((com) ? ZT_PROTO_VERB_P5_MULTICAST_FRAME_FLAGS_HAS_MEMBERSHIP_CERTIFICATE : 0));
outp.append((uint64_t)nwid);
outp.append((uint16_t)0);
outp.append((unsigned char)0);
@@ -286,9 +285,9 @@ void Multicaster::send(
outp.append((uint16_t)etherType);
outp.append((uint16_t)len);
outp.append(data,len);
- unsigned int signedPortionLen = outp.size() - signedPortionStart;
+ unsigned int signedPortionLen = outp.size() - ZT_PROTO_VERB_P5_MULTICAST_FRAME_IDX__START_OF_SIGNED_PORTION;
- C25519::Signature sig(RR->identity.sign(outp.field(signedPortionStart,signedPortionLen),signedPortionLen));
+ C25519::Signature sig(RR->identity.sign(outp.field(ZT_PROTO_VERB_P5_MULTICAST_FRAME_IDX__START_OF_SIGNED_PORTION,signedPortionLen),signedPortionLen));
outp.append((uint16_t)sig.size());
outp.append(sig.data,sig.size());