From 1f6ddc6429fa8671f77b63e2e80ee093ddefcf49 Mon Sep 17 00:00:00 2001 From: Stephan Bosch Date: Sat, 15 Sep 2018 15:02:20 +0200 Subject: [PATCH] submission: client: Simplifly calculation of max mail size. --- src/submission/submission-client.c | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/src/submission/submission-client.c b/src/submission/submission-client.c index bf8d532670..f0d9c655dc 100644 --- a/src/submission/submission-client.c +++ b/src/submission/submission-client.c @@ -342,18 +342,18 @@ void client_disconnect(struct client *client, const char *enh_code, uoff_t client_get_max_mail_size(struct client *client) { - uoff_t max_size; + uoff_t max_size, limit; /* Account for the backend server's SIZE limit and calculate our own relative to it. */ - max_size = client_proxy_get_max_mail_size(client); - if (max_size == 0 || max_size <= SUBMISSION_MAX_ADDITIONAL_MAIL_SIZE) { - max_size = client->set->submission_max_mail_size; - } else { - max_size = max_size - SUBMISSION_MAX_ADDITIONAL_MAIL_SIZE; - if (client->set->submission_max_mail_size > 0 && - max_size > client->set->submission_max_mail_size) - max_size = client->set->submission_max_mail_size; + max_size = client->set->submission_max_mail_size; + if (max_size == 0) + max_size = UOFF_T_MAX; + limit = client_proxy_get_max_mail_size(client); + if (limit > SUBMISSION_MAX_ADDITIONAL_MAIL_SIZE) { + limit -= SUBMISSION_MAX_ADDITIONAL_MAIL_SIZE; + if (limit < max_size) + max_size = limit; } return max_size; -- 2.47.3