# HG changeset patch # User unc0rr # Date 1437670274 -10800 # Node ID ba585693e19de3efda1730210230c108e895a896 # Parent b8022f4bea14590bda10e46dce88716859e10d32 Don't allow too big messages from clients diff -r b8022f4bea14 -r ba585693e19d gameServer/ClientIO.hs --- a/gameServer/ClientIO.hs Tue Jul 21 23:51:58 2015 +0300 +++ b/gameServer/ClientIO.hs Thu Jul 23 19:51:14 2015 +0300 @@ -55,6 +55,7 @@ unless (B.null recvBS) $ do let (packets, newrecvBuf) = bs2Packets $ B.append recvBuf recvBS forM_ packets sendPacket + when (B.length newrecvBuf > 128 * 1024) $ sendPacket ["QUIT", "Protocol violation"] receiveWithBufferLoop $ B.copy newrecvBuf sendPacket packet = writeChan chan $ ClientMessage (ci, packet)