From 4e29b62d6d99ef5c5cfceea42a132f04bfd05ba7 Mon Sep 17 00:00:00 2001 From: Stephan Bosch Date: Fri, 15 Dec 2017 23:28:58 +0100 Subject: [PATCH] lmtp: local: Properly handle a user being over quota. Recent changes caused quota enforcement to be ineffective. --- src/lmtp/lmtp-local.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/lmtp/lmtp-local.c b/src/lmtp/lmtp-local.c index 8c6a2c43ad..99a219f59f 100644 --- a/src/lmtp/lmtp-local.c +++ b/src/lmtp/lmtp-local.c @@ -229,20 +229,20 @@ lmtp_local_rcpt_check_quota(struct lmtp_local_recipient *rcpt) error = mailbox_get_last_error(box, &mail_error); if (mail_error == MAIL_ERROR_NOQUOTA) { lmtp_local_rcpt_reply_overquota(rcpt, error); - ret = 0; } else { i_error("mailbox_get_status(%s, STATUS_CHECK_OVER_QUOTA) " "failed: %s", mailbox_get_vname(box), mailbox_get_last_internal_error(box, NULL)); - ret = -1; } + ret = -1; } mailbox_free(&box); mail_user_unref(&user); } - if (ret < 0) { + if (ret < 0 && + !smtp_server_command_is_replied(rcpt->rcpt.rcpt_cmd->cmd)) { smtp_server_reply(rcpt->rcpt.rcpt_cmd, 451, "4.3.0", "<%s> Temporary internal error", smtp_address_encode(address)); -- 2.47.3