]> dgit.raspbian.org Git - dovecot.git/commitdiff
[PATCH 2/2] managesieve-login: client_skip_line() - Discard data when newline is...
authorAki Tuomi <aki.tuomi@open-xchange.com>
Mon, 25 May 2026 10:38:13 +0000 (10:38 +0000)
committerNoah Meyerhans <noahm@debian.org>
Wed, 16 Sep 2026 19:06:35 +0000 (15:06 -0400)
Without this, data without a newline (e.g., from a lone CR protocol violation
detected by the parser) stays in the buffer indefinitely. This prevents the
server from ever detecting client disconnect, causing a deadlock where both
sides wait for the other.

The post-login server-side client_skip_line() in managesieve-client.c already
handles this correctly by always calling i_stream_skip().

Gbp-Pq: Name 0002-managesieve-login-client_skip_line-Discard-data-when.patch

pigeonhole/src/managesieve-login/client.c

index c0711cdb562b37552158a4eaef518def1d192d96..7997f3f5b0e4711ae2213003917781d95ad2661b 100644 (file)
@@ -51,6 +51,7 @@ bool client_skip_line(struct managesieve_client *msieve_client)
                }
        }
 
+       i_stream_skip(client->input, data_size);
        return FALSE;
 }