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