summaryrefslogtreecommitdiff
path: root/node/PacketDecoder.cpp
diff options
context:
space:
mode:
authorAdam Ierymenko <adam.ierymenko@gmail.com>2013-07-12 16:43:08 -0400
committerAdam Ierymenko <adam.ierymenko@gmail.com>2013-07-12 16:43:08 -0400
commit086050686f4a6759884178e8c8c464ff9db727e0 (patch)
tree056b0fcac6a86f7bd3355749b88a89c9b1c329d3 /node/PacketDecoder.cpp
parentf934b81703eedbc152f07a90a179847f9cc3caea (diff)
parent77fd78d5c9eb0dbab96a16ac5441f33a1abaa764 (diff)
downloadinfinitytier-086050686f4a6759884178e8c8c464ff9db727e0.tar.gz
infinitytier-086050686f4a6759884178e8c8c464ff9db727e0.zip
Merge branch 'adamierymenko-dev' of 10.211.55.2:/Users/api/Code/local-ZeroTierOne into adamierymenko-dev
Diffstat (limited to 'node/PacketDecoder.cpp')
-rw-r--r--node/PacketDecoder.cpp7
1 files changed, 5 insertions, 2 deletions
diff --git a/node/PacketDecoder.cpp b/node/PacketDecoder.cpp
index 9bcf3b43..e953c60c 100644
--- a/node/PacketDecoder.cpp
+++ b/node/PacketDecoder.cpp
@@ -51,7 +51,8 @@ bool PacketDecoder::tryDecode(const RuntimeEnvironment *_r)
if (_step == DECODE_STEP_WAITING_FOR_ORIGINAL_SUBMITTER_LOOKUP) {
// This means we've already decoded, decrypted, decompressed, and
// validated, and we're processing a MULTICAST_FRAME. We're waiting
- // for a lookup on the frame's original submitter.
+ // for a lookup on the frame's original submitter. So try again and
+ // see if we have it.
return _doMULTICAST_FRAME(_r,peer);
}
@@ -65,7 +66,8 @@ bool PacketDecoder::tryDecode(const RuntimeEnvironment *_r)
} else {
// Unencrypted is tolerated in case we want to run this on
// devices where squeezing out cycles matters. HMAC is
- // what's really important.
+ // what's really important. But log it in debug to catch any
+ // packets being mistakenly sent in the clear.
TRACE("ODD: %s from %s(%s) wasn't encrypted",Packet::verbString(verb()),source().toString().c_str(),_remoteAddress.toString().c_str());
}
@@ -108,6 +110,7 @@ bool PacketDecoder::tryDecode(const RuntimeEnvironment *_r)
return true;
}
} else {
+ _step = DECODE_STEP_WAITING_FOR_SENDER_LOOKUP;
_r->sw->requestWhois(source());
return false;
}