Fix for issue #910: Bad packet received by server when hearbeat is enabled (#911)

* Fix for issue #910: Bad packet received by server when hearbeat is enabled

* Address re-keying case too

---------

Co-authored-by: Jeroen van Erp <jeroen@hierynomus.com>
This commit is contained in:
Raul Santelices
2024-04-18 03:31:24 -04:00
committed by GitHub
parent 079cb08fb0
commit 607e80591c

View File

@@ -420,9 +420,9 @@ public final class TransportImpl
try { try {
if (kexer.isKexOngoing()) { if (kexer.isKexOngoing()) {
// Only transport layer packets (1 to 49) allowed except SERVICE_REQUEST // Only transport layer packets (1 to 49) allowed except SERVICE_REQUEST and IGNORE
final Message m = Message.fromByte(payload.array()[payload.rpos()]); final Message m = Message.fromByte(payload.array()[payload.rpos()]);
if (!m.in(1, 49) || m == Message.SERVICE_REQUEST) { if (!m.in(1, 49) || m == Message.SERVICE_REQUEST || m == Message.IGNORE) {
assert m != Message.KEXINIT; assert m != Message.KEXINIT;
kexer.waitForDone(); kexer.waitForDone();
} }