From: Karl Fleischmann Date: Wed, 12 Mar 2025 08:59:18 +0000 (+0100) Subject: lmtp: Clarify lmtp_user_concurrency_limit value of unlimited X-Git-Tag: 2.4.1~12 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=7f6abba4ce4a95acf33733bca6f8f1dc29237f44;p=thirdparty%2Fdovecot%2Fcore.git lmtp: Clarify lmtp_user_concurrency_limit value of unlimited Disallow setting this setting to 0. Make the relevant checks against "unlimited" instead. --- diff --git a/src/lmtp/lmtp-commands.c b/src/lmtp/lmtp-commands.c index 377dd94569..da4eb19f1a 100644 --- a/src/lmtp/lmtp-commands.c +++ b/src/lmtp/lmtp-commands.c @@ -35,7 +35,7 @@ int client_default_cmd_mail(struct client *client, struct smtp_server_cmd_ctx *cmd ATTR_UNUSED, struct smtp_server_cmd_mail *data ATTR_UNUSED) { - if (client->lmtp_set->lmtp_user_concurrency_limit > 0) { + if (client->lmtp_set->lmtp_user_concurrency_limit < SET_UINT_UNLIMITED) { /* Connect to anvil before dropping privileges */ lmtp_anvil_init(); } diff --git a/src/lmtp/lmtp-local.c b/src/lmtp/lmtp-local.c index 6f386477e9..9fe04559ed 100644 --- a/src/lmtp/lmtp-local.c +++ b/src/lmtp/lmtp-local.c @@ -359,7 +359,7 @@ int lmtp_local_rcpt(struct client *client, rcpt, SMTP_SERVER_RECIPIENT_HOOK_APPROVED, lmtp_local_rcpt_approved, llrcpt); - if (client->lmtp_set->lmtp_user_concurrency_limit == 0) { + if (client->lmtp_set->lmtp_user_concurrency_limit == SET_UINT_UNLIMITED) { (void)lmtp_local_rcpt_anvil_finish(llrcpt); } else { /* NOTE: username may change as the result of the userdb diff --git a/src/lmtp/lmtp-settings.c b/src/lmtp/lmtp-settings.c index db4db1ac57..0ecbd0e3ac 100644 --- a/src/lmtp/lmtp-settings.c +++ b/src/lmtp/lmtp-settings.c @@ -208,6 +208,13 @@ static bool lmtp_settings_check(void *_set, pool_t pool ATTR_UNUSED, set->lmtp_hdr_delivery_address); return FALSE; } + + if (set->lmtp_user_concurrency_limit == 0) { + *error_r = "lmtp_user_concurrency_limit must not be 0 " + "(did you mean \"unlimited\"?)"; + return FALSE; + } + return TRUE; } /* */