]> git.ipfire.org Git - thirdparty/dovecot/core.git/commitdiff
imap(-login): Remove +CAPABILITY functionality from imap_capability setting.
authorsergey.kitov <sergey.kitov@open-xchange.com>
Thu, 26 Oct 2023 13:24:10 +0000 (16:24 +0300)
committerAki Tuomi <aki.tuomi@open-xchange.com>
Fri, 17 Jan 2025 08:40:00 +0000 (10:40 +0200)
This will be unnecessary after the following commit changes
imap_capability to BOOLLIST.

src/imap-login/imap-login-client.c
src/imap/imap-client.c

index 384e40f4f405b44e469de94d0a61f0ed10c3a4ae..a3be3c0e71e11965dfb450456f466846d7447ec2 100644 (file)
@@ -94,25 +94,19 @@ static const char *get_capability(struct client *client)
        struct imap_client *imap_client =
                container_of(client, struct imap_client, common);
        string_t *cap_str = t_str_new(256);
-       bool explicit_capability = FALSE;
 
        if (*imap_client->set->imap_capability == '\0')
                str_append(cap_str, CAPABILITY_BANNER_STRING);
-       else if (*imap_client->set->imap_capability != '+') {
-               explicit_capability = TRUE;
-               str_append(cap_str, imap_client->set->imap_capability);
-       } else {
+       else {
                str_append(cap_str, CAPABILITY_BANNER_STRING);
                str_append_c(cap_str, ' ');
                str_append(cap_str, imap_client->set->imap_capability + 1);
        }
 
-       if (!explicit_capability) {
-               if (imap_client->set->imap_literal_minus)
-                       str_append(cap_str, " LITERAL-");
-               else
-                       str_append(cap_str, " LITERAL+");
-       }
+       if (imap_client->set->imap_literal_minus)
+               str_append(cap_str, " LITERAL-");
+       else
+               str_append(cap_str, " LITERAL+");
 
        if (client_is_tls_enabled(client) && !client->connection_tls_secured &&
            !client->haproxy_terminated_tls)
index 2ef89d55b0fb924d1c7b8e605ab16c3e84faff13..7e78e16ef9d34756ec2bf8f00e04ea52a32c29ba 100644 (file)
@@ -143,13 +143,8 @@ struct client *client_create(int fd_in, int fd_out,
 
        if (*set->imap_capability == '\0')
                str_append(client->capability_string, CAPABILITY_STRING);
-       else if (*set->imap_capability != '+') {
+       else
                str_append(client->capability_string, set->imap_capability);
-       } else {
-               str_append(client->capability_string, CAPABILITY_STRING);
-               str_append_c(client->capability_string, ' ');
-               str_append(client->capability_string, set->imap_capability + 1);
-       }
        if (client->set->imap_literal_minus)
                client_add_capability(client, "LITERAL-");
        else
@@ -596,8 +591,7 @@ void client_add_capability(struct client *client, const char *capability)
        /* require a single capability at a time (feels cleaner) */
        i_assert(strchr(capability, ' ') == NULL);
 
-       if (client->set->imap_capability[0] != '\0' &&
-           client->set->imap_capability[0] != '+') {
+       if (client->set->imap_capability[0] != '\0') {
                /* explicit capability - don't change it */
                return;
        }