From: sergey.kitov Date: Thu, 26 Oct 2023 13:24:10 +0000 (+0300) Subject: imap(-login): Remove +CAPABILITY functionality from imap_capability setting. X-Git-Tag: 2.4.1~626 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=c201adf7f6b90150ce3b0fd6ab27f55f03af4aee;p=thirdparty%2Fdovecot%2Fcore.git imap(-login): Remove +CAPABILITY functionality from imap_capability setting. This will be unnecessary after the following commit changes imap_capability to BOOLLIST. --- diff --git a/src/imap-login/imap-login-client.c b/src/imap-login/imap-login-client.c index 384e40f4f4..a3be3c0e71 100644 --- a/src/imap-login/imap-login-client.c +++ b/src/imap-login/imap-login-client.c @@ -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) diff --git a/src/imap/imap-client.c b/src/imap/imap-client.c index 2ef89d55b0..7e78e16ef9 100644 --- a/src/imap/imap-client.c +++ b/src/imap/imap-client.c @@ -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; }