From 228e0007cab1f418fb6fd4414f63dd783a2ccd94 Mon Sep 17 00:00:00 2001 From: Chris Miles Date: Tue, 31 Aug 2021 00:33:49 -0500 Subject: [PATCH] Pad zero size packets which is what we did on encrypted connections prior to #1464 (#1504) --- common/net/servertalk_client_connection.cpp | 5 +++++ common/net/servertalk_server_connection.cpp | 5 +++++ 2 files changed, 10 insertions(+) diff --git a/common/net/servertalk_client_connection.cpp b/common/net/servertalk_client_connection.cpp index c6de2e8f8..0c789330d 100644 --- a/common/net/servertalk_client_connection.cpp +++ b/common/net/servertalk_client_connection.cpp @@ -21,6 +21,11 @@ EQ::Net::ServertalkClient::~ServertalkClient() void EQ::Net::ServertalkClient::Send(uint16_t opcode, EQ::Net::Packet &p) { + // pad zero size packets + if (p.Length() == 0) { + p.PutUInt8(0, 0); + } + EQ::Net::DynamicPacket out; out.PutUInt32(0, p.Length()); out.PutUInt16(4, opcode); diff --git a/common/net/servertalk_server_connection.cpp b/common/net/servertalk_server_connection.cpp index 2258d1372..0942c9d50 100644 --- a/common/net/servertalk_server_connection.cpp +++ b/common/net/servertalk_server_connection.cpp @@ -19,6 +19,11 @@ EQ::Net::ServertalkServerConnection::~ServertalkServerConnection() void EQ::Net::ServertalkServerConnection::Send(uint16_t opcode, EQ::Net::Packet & p) { + // pad zero size packets + if (p.Length() == 0) { + p.PutUInt8(0, 0); + } + EQ::Net::DynamicPacket out; out.PutUInt32(0, p.Length()); out.PutUInt16(4, opcode);