From: Timo Sirainen Date: Wed, 4 Jun 2025 14:05:36 +0000 (+0300) Subject: imap: Add imap_compress_on_proxy hidden setting X-Git-Tag: 2.4.2~669 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=da832e63e91d640e9a4bc57189c488cd97d99477;p=thirdparty%2Fdovecot%2Fcore.git 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. --- diff --git a/src/imap/cmd-compress.c b/src/imap/cmd-compress.c index cf08c66568..e457b66b0d 100644 --- a/src/imap/cmd-compress.c +++ b/src/imap/cmd-compress.c @@ -84,7 +84,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 71186bccc9..ee027c7c15 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), DEF(BOOL, imap4rev2_enable), #ifdef BUILD_IMAP_HIBERNATE @@ -116,6 +117,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, .imap4rev2_enable = FALSE, #ifdef DOVECOT_PRO_EDITION diff --git a/src/imap/imap-settings.h b/src/imap/imap-settings.h index 1884c6debe..edc1ea0ce8 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 imap4rev2_enable; bool mail_utf8_extensions; unsigned int imap_hibernate_timeout;