Ignore the length requirement of sync orders we want to drop

This commit is contained in:
abcdefg30
2020-10-11 20:39:20 +02:00
committed by abcdefg30
parent 1bc19e788c
commit 8a7020b4ef
2 changed files with 2 additions and 7 deletions

View File

@@ -70,10 +70,7 @@ namespace OpenRA.Network
if (frame != int.MaxValue && (!lastClientsFrame.ContainsKey(client) || frame > lastClientsFrame[client]))
lastClientsFrame[client] = frame;
if (packet.Length == 5 && packet[4] == (byte)OrderType.Disconnect)
continue;
if (packet.Length == 4 + Order.SyncHashOrderLength && packet[4] == (byte)OrderType.SyncHash)
if (packet.Length > 4 && (packet[4] == (byte)OrderType.Disconnect || packet[4] == (byte)OrderType.SyncHash))
continue;
if (frame == 0)

View File

@@ -26,9 +26,7 @@ namespace OpenRA.Network
static bool IsGameStart(byte[] data)
{
if (data.Length == 5 && data[4] == (byte)OrderType.Disconnect)
return false;
if (data.Length == 4 + Order.SyncHashOrderLength && data[4] == (byte)OrderType.SyncHash)
if (data.Length > 4 && (data[4] == (byte)OrderType.Disconnect || data[4] == (byte)OrderType.SyncHash))
return false;
var frame = BitConverter.ToInt32(data, 0);