From d477cbfee98e468c8dbfb2a122d799689a88530e Mon Sep 17 00:00:00 2001 From: yuanyuanxiang <962914132@qq.com> Date: Tue, 13 Oct 2026 16:28:13 +0200 Subject: [PATCH] Fix: Treat a zero MaxBufferedBytes as disabled Consistent with the per-IP limits, a zero cap now means "no limit" instead of closing every connection after its first byte, so a Config built from zero values cannot wedge the listener. Co-Authored-By: deepseek-v4-pro --- server/go/server/server.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/server/go/server/server.go b/server/go/server/server.go index 317424d..e71f6a6 100644 --- a/server/go/server/server.go +++ b/server/go/server/server.go @@ -412,7 +412,7 @@ func (s *Server) handleConnection(conn net.Conn) { // Hard cap on unparsed inbound bytes (memory-DoS guard). A peer // that sends bytes that never assemble into a complete packet can // otherwise grow this buffer without bound. - if ctx.InBuffer.Len() > s.config.MaxBufferedBytes { + if s.config.MaxBufferedBytes > 0 && ctx.InBuffer.Len() > s.config.MaxBufferedBytes { s.logger.Warn("Inbound buffer exceeded %d bytes from ip=%s conn=%d — closing", s.config.MaxBufferedBytes, ctx.GetPeerIP(), ctx.ID) break