# 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)