]> git.ipfire.org Git - thirdparty/dovecot/core.git/commitdiff
imap: Add imap_compress_on_proxy hidden setting
authorTimo Sirainen <timo.sirainen@open-xchange.com>
Wed, 4 Jun 2025 14:05:36 +0000 (17:05 +0300)
committertimo.sirainen <timo.sirainen@open-xchange.com>
Sat, 12 Jul 2025 06:49:23 +0000 (06:49 +0000)
Keep it disabled by default for now. Once we're sure COMPRESS on proxy
works properly we'll enable it again.

src/imap/cmd-compress.c
src/imap/imap-settings.c
src/imap/imap-settings.h

index cf08c66568f5e42ab042f2c739a4652f6e875a4a..e457b66b0d77ebf8ebb80918fef2c1f09616dbe2 100644 (file)
@@ -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;
index 71186bccc9e0e11521380dbce1922fa777b10bf7..ee027c7c1511c3d4a4c4932d6de539318a5e8592 100644 (file)
@@ -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
index 1884c6debe73f6afd01c754f9059dbf4db090d0a..edc1ea0ce80110049cc26ff71265ce53dba0a613 100644 (file)
@@ -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;