From 8a3cc0ae8722b18c4167f6205dd2ea5547af5248 Mon Sep 17 00:00:00 2001 From: Dejan Strbac Date: Sun, 21 Sep 2025 21:47:38 +0200 Subject: [PATCH] Allow empty lines / commands without breaking connection --- imapserver/conn.go | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/imapserver/conn.go b/imapserver/conn.go index 291f37ec..3e795432 100644 --- a/imapserver/conn.go +++ b/imapserver/conn.go @@ -194,6 +194,17 @@ func (c *Conn) serve() { } func (c *Conn) readCommand(dec *imapwire.Decoder) error { + for { + if dec.EOF() { + return nil + } + + if dec.ExpectCRLF() { + continue + } + break + } + var tag, name string if !dec.ExpectAtom(&tag) || !dec.ExpectSP() || !dec.ExpectAtom(&name) { return fmt.Errorf("in command: %w", dec.Err())