From: Timo Sirainen Date: Wed, 4 Jun 2025 14:05:36 +0000 (+0300) Subject: [PATCH 5/6] imap: Add imap_compress_on_proxy hidden setting X-Git-Tag: archive/raspbian/1%2.4.1+dfsg1-6+rpi1+deb13u7^2~9 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=7ba2f5f938d344aa39c2cf840b967007ab039da5;p=dovecot.git [PATCH 5/6] imap: Add imap_compress_on_proxy hidden setting Keep it disabled by default for now. Once we're sure COMPRESS on proxy works properly we'll enable it again. Gbp-Pq: Name 0005-imap-Add-imap_compress_on_proxy-hidden-setting.patch --- diff --git a/src/imap/cmd-compress.c b/src/imap/cmd-compress.c index 18aa988..0367cc6 100644 --- a/src/imap/cmd-compress.c +++ b/src/imap/cmd-compress.c @@ -87,7 +87,8 @@ bool cmd_compress(struct client_command_context *cmd) return TRUE; } - if (client->multiplex_output != NULL) { + if (client->multiplex_output != NULL && + client->set->imap_compress_on_proxy) { /* Let imap-login process handle the COMPRESS. It's the one that will send the tagged reply to the client. */ client->compress_handler = handler; diff --git a/src/imap/imap-settings.c b/src/imap/imap-settings.c index aa0cd74..3e2561c 100644 --- a/src/imap/imap-settings.c +++ b/src/imap/imap-settings.c @@ -81,6 +81,7 @@ static const struct setting_define imap_setting_defines[] = { DEF(ENUM, imap_fetch_failure), DEF(BOOL, imap_metadata), DEF(BOOL, imap_literal_minus), + DEF(BOOL_HIDDEN, imap_compress_on_proxy), DEF(BOOL, mail_utf8_extensions), #ifdef BUILD_IMAP_HIBERNATE DEF(TIME, imap_hibernate_timeout), @@ -115,6 +116,7 @@ static const struct imap_settings imap_default_settings = { .imap_fetch_failure = "disconnect-immediately:disconnect-after:no-after", .imap_metadata = FALSE, .imap_literal_minus = FALSE, + .imap_compress_on_proxy = FALSE, .mail_utf8_extensions = FALSE, #ifdef DOVECOT_PRO_EDITION .imap_hibernate_timeout = 30, diff --git a/src/imap/imap-settings.h b/src/imap/imap-settings.h index 202ea45..347d85c 100644 --- a/src/imap/imap-settings.h +++ b/src/imap/imap-settings.h @@ -34,6 +34,7 @@ struct imap_settings { const char *imap_fetch_failure; bool imap_metadata; bool imap_literal_minus; + bool imap_compress_on_proxy; bool mail_utf8_extensions; unsigned int imap_hibernate_timeout; ARRAY_TYPE(const_string) imap_id_send;