fix: Fixes packet length checks (#953)
Fixes an issue with DropReq where an old client was sending in 14 bytes, but the server was expecting 15 bytes. To fix this we introduced a new packet handler, `ContainerGridPacketHandler` and changed the code to determine the length of the packet dynamically using `GetLength(NetState)`. Also fixed throttling so dropped packets are properly skipped.
This commit is contained in:
parent
1f4162288e
commit
58b907d39e
30 changed files with 1077 additions and 1126 deletions
|
|
@ -27,7 +27,7 @@ namespace Server.Engines.Chat
|
|||
IncomingPackets.Register(0xB3, 0, true, ChatAction);
|
||||
}
|
||||
|
||||
public static void OpenChatWindowRequest(NetState state, CircularBufferReader reader, ref int packetLength)
|
||||
public static void OpenChatWindowRequest(NetState state, CircularBufferReader reader, int packetLength)
|
||||
{
|
||||
var from = state.Mobile;
|
||||
|
||||
|
|
@ -48,7 +48,7 @@ namespace Server.Engines.Chat
|
|||
ChatUser.AddChatUser(from, chatName);
|
||||
}
|
||||
|
||||
public static void ChatAction(NetState state, CircularBufferReader reader, ref int packetLength)
|
||||
public static void ChatAction(NetState state, CircularBufferReader reader, int packetLength)
|
||||
{
|
||||
if (!ChatSystem.Enabled)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -193,7 +193,7 @@ namespace Server.Engines.MLQuests.Gumps
|
|||
return false;
|
||||
}
|
||||
|
||||
private static void RaceChangeReply(NetState state, CircularBufferReader reader, ref int packetLength)
|
||||
private static void RaceChangeReply(NetState state, CircularBufferReader reader, int packetLength)
|
||||
{
|
||||
if (!m_Pending.TryGetValue(state, out var raceChangeState))
|
||||
{
|
||||
|
|
|
|||
|
|
@ -9,7 +9,7 @@ namespace Server.Engines.UltimaStore
|
|||
IncomingPackets.Register(0xFA, 1, true, UltimaStoreOpenRequest);
|
||||
}
|
||||
|
||||
public static void UltimaStoreOpenRequest(NetState state, CircularBufferReader reader, ref int packetLength)
|
||||
public static void UltimaStoreOpenRequest(NetState state, CircularBufferReader reader, int packetLength)
|
||||
{
|
||||
state.Mobile.SendMessage("Ultima Store is not currently available.");
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue