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)
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
/* 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;
}