diff options
| author | Adam Ierymenko <adam.ierymenko@gmail.com> | 2014-04-10 11:17:54 -0700 |
|---|---|---|
| committer | Adam Ierymenko <adam.ierymenko@gmail.com> | 2014-04-10 11:17:54 -0700 |
| commit | b117ff54358d4e2b6b8eae4bd5300464f377d948 (patch) | |
| tree | 3329edee4e08e39e8cfa4c4d4f8cf6aa1b349ffb /node/PacketDecoder.cpp | |
| parent | 119ef5ecbf5653ddf497666e18894fa148cc2e9b (diff) | |
| download | infinitytier-b117ff54358d4e2b6b8eae4bd5300464f377d948.tar.gz infinitytier-b117ff54358d4e2b6b8eae4bd5300464f377d948.zip | |
Probable fix for GitHub issue #63 - do not unite() if either path is TCP, since doing so can result in asymmetric failed NAT-t over UDP if one side has a firewall that permits outgoing UDP but not incoming.
Diffstat (limited to 'node/PacketDecoder.cpp')
| -rw-r--r-- | node/PacketDecoder.cpp | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/node/PacketDecoder.cpp b/node/PacketDecoder.cpp index c7d3ffda..36f7ead7 100644 --- a/node/PacketDecoder.cpp +++ b/node/PacketDecoder.cpp @@ -81,8 +81,9 @@ bool PacketDecoder::tryDecode(const RuntimeEnvironment *_r) //TRACE("<< %s from %s(%s)",Packet::verbString(verb()),source().toString().c_str(),_remoteAddress.toString().c_str()); switch(verb()) { - case Packet::VERB_NOP: - peer->receive(_r,_fromSock,_remoteAddress,hops(),packetId(),Packet::VERB_NOP,0,Packet::VERB_NOP,Utils::now()); + //case Packet::VERB_NOP: + default: // ignore unknown verbs, but if they pass auth check they are still valid + peer->receive(_r,_fromSock,_remoteAddress,hops(),packetId(),verb(),0,Packet::VERB_NOP,Utils::now()); return true; case Packet::VERB_HELLO: return _doHELLO(_r); // legal, but why? :) @@ -108,8 +109,6 @@ bool PacketDecoder::tryDecode(const RuntimeEnvironment *_r) return _doNETWORK_CONFIG_REQUEST(_r,peer); case Packet::VERB_NETWORK_CONFIG_REFRESH: return _doNETWORK_CONFIG_REFRESH(_r,peer); - default: // ignore unknown verbs - return true; } } else { _step = DECODE_WAITING_FOR_SENDER_LOOKUP; // should already be this... |
