From a0853194552107ab6e841a73e0ef1627ee76b72a Mon Sep 17 00:00:00 2001 From: madmaxoft Date: Thu, 16 Jan 2014 20:39:59 +0100 Subject: Protocol 1.7: Unknown packets are dumped to log in Debug mode. --- src/Protocol/Protocol17x.cpp | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) (limited to 'src/Protocol') diff --git a/src/Protocol/Protocol17x.cpp b/src/Protocol/Protocol17x.cpp index 162194bc6..3c870a814 100644 --- a/src/Protocol/Protocol17x.cpp +++ b/src/Protocol/Protocol17x.cpp @@ -1039,7 +1039,20 @@ void cProtocol172::AddReceivedData(const char * a_Data, int a_Size) if (!HandlePacket(bb, PacketType)) { - // Unknown packet, already been reported, just bail out + // Unknown packet, already been reported, but without the length. Log the length here: + LOGWARNING("Unhandled packet: type 0x%x, length %u", PacketType, PacketLen); + + #ifdef _DEBUG + // Dump the packet contents into the log: + bb.ResetRead(); + AString Packet; + bb.ReadAll(Packet); + Packet.resize(Packet.size() - 1); // Drop the final NUL pushed there for over-read detection + AString Out; + CreateHexDump(Out, Packet.data(), (int)Packet.size(), 24); + LOGD("Packet contents:\n%s", Out.c_str()); + #endif // _DEBUG + return; } -- cgit v1.2.3