From 1da81ad7d3a800bfbf6918ec0b149ea84d840390 Mon Sep 17 00:00:00 2001 From: fatedier Date: Sun, 7 Aug 2016 13:18:54 +0800 Subject: [PATCH] models/msg: limit single package length --- src/frp/models/msg/process.go | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/frp/models/msg/process.go b/src/frp/models/msg/process.go index 55d99ba2..0d8a75ed 100644 --- a/src/frp/models/msg/process.go +++ b/src/frp/models/msg/process.go @@ -146,6 +146,11 @@ func pipeDecrypt(r *conn.Conn, w *conn.Conn, conf config.BaseConf, needRecord bo } cnt, res, left = unpkgMsg(newBuf) if cnt < 0 { + // limit one package length, maximum is 1MB + if len(res) > 1024*1024 { + log.Warn("ProxyName [%s], package length exceeds the limit") + return fmt.Errorf("package length error") + } continue }