summaryrefslogtreecommitdiff
path: root/node/IncomingPacket.cpp
diff options
context:
space:
mode:
authorAdam Ierymenko <adam.ierymenko@gmail.com>2015-10-14 10:45:33 -0700
committerAdam Ierymenko <adam.ierymenko@gmail.com>2015-10-14 10:45:33 -0700
commitc312ae221f0aa339cce56c411d59d9cc9e34abc5 (patch)
tree5431332fa6ed3eb851b892e6652fbb99966cd217 /node/IncomingPacket.cpp
parent719233617ca9f26c3309d608a38aadf701bb5648 (diff)
downloadinfinitytier-c312ae221f0aa339cce56c411d59d9cc9e34abc5.tar.gz
infinitytier-c312ae221f0aa339cce56c411d59d9cc9e34abc5.zip
Fix for world size in OK(HELLO)
Diffstat (limited to 'node/IncomingPacket.cpp')
-rw-r--r--node/IncomingPacket.cpp6
1 files changed, 3 insertions, 3 deletions
diff --git a/node/IncomingPacket.cpp b/node/IncomingPacket.cpp
index 79a700f6..944e3043 100644
--- a/node/IncomingPacket.cpp
+++ b/node/IncomingPacket.cpp
@@ -302,7 +302,7 @@ bool IncomingPacket::_doHELLO(const RuntimeEnvironment *RR)
const unsigned int sizeAt = outp.size();
outp.addSize(2); // make room for 16-bit size field
w.serialize(outp,false);
- outp.setAt<uint16_t>(sizeAt,(uint16_t)(outp.size() - sizeAt));
+ outp.setAt<uint16_t>(sizeAt,(uint16_t)(outp.size() - (sizeAt + 2)));
} else {
outp.append((uint16_t)0); // no world update needed
}
@@ -435,12 +435,12 @@ bool IncomingPacket::_doWHOIS(const RuntimeEnvironment *RR,const SharedPtr<Peer>
{
try {
if (payloadLength() == ZT_ADDRESS_LENGTH) {
- const SharedPtr<Peer> queried(RR->topology->getPeer(Address(payload(),ZT_ADDRESS_LENGTH)));
+ Identity queried(RR->topology->getIdentity(Address(payload(),ZT_ADDRESS_LENGTH)));
if (queried) {
Packet outp(peer->address(),RR->identity.address(),Packet::VERB_OK);
outp.append((unsigned char)Packet::VERB_WHOIS);
outp.append(packetId());
- queried->identity().serialize(outp,false);
+ queried.serialize(outp,false);
outp.armor(peer->key(),true);
RR->node->putPacket(_localAddress,_remoteAddress,outp.data(),outp.size());
} else {