diff options
| author | Adam Ierymenko <adam.ierymenko@gmail.com> | 2014-10-14 12:37:35 -0700 |
|---|---|---|
| committer | Adam Ierymenko <adam.ierymenko@gmail.com> | 2014-10-14 12:37:35 -0700 |
| commit | 42d644a57ea65144be2e9ffb0319701a7187c33f (patch) | |
| tree | d3cc9f3a056a4ae9c3650856d75e7b1afd067bcb /node/Multicaster.cpp | |
| parent | 023cac4ebb42cd66073649d92340b2d2a8f74f33 (diff) | |
| download | infinitytier-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.cpp | 7 |
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()); |
