From: Aki Tuomi Date: Mon, 25 May 2026 10:38:13 +0000 (+0000) Subject: [PATCH 2/2] managesieve-login: client_skip_line() - Discard data when newline is... X-Git-Tag: archive/raspbian/1%2.4.1+dfsg1-6+rpi1+deb13u7^2~44 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=87322608f13b6c519fc73fb84f890587289eaced;p=dovecot.git [PATCH 2/2] managesieve-login: client_skip_line() - Discard data when newline is not found 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 --- diff --git a/pigeonhole/src/managesieve-login/client.c b/pigeonhole/src/managesieve-login/client.c index c0711cd..7997f3f 100644 --- a/pigeonhole/src/managesieve-login/client.c +++ b/pigeonhole/src/managesieve-login/client.c @@ -51,6 +51,7 @@ bool client_skip_line(struct managesieve_client *msieve_client) } } + i_stream_skip(client->input, data_size); return FALSE; }