From: Stephan Bosch Date: Mon, 13 Dec 2021 03:08:32 +0000 (+0100) Subject: submssion: submission-backend-relay - Avoid logging two errors about a connection... X-Git-Tag: 2.3.18~31 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=b29d0df2ef0b5124f2a9dab773f200a6f9106f9a;p=thirdparty%2Fdovecot%2Fcore.git submssion: submission-backend-relay - Avoid logging two errors about a connection problem. Earlier commit changed lib-smtp to consistently log an error for connection problems, which causes a second error to occur for submission relay backend. This is undesirable. --- diff --git a/src/submission/submission-backend-relay.c b/src/submission/submission-backend-relay.c index b29ec080e5..cc8a6797f8 100644 --- a/src/submission/submission-backend-relay.c +++ b/src/submission/submission-backend-relay.c @@ -47,6 +47,8 @@ backend_relay_handle_relay_reply(struct submission_backend_relay *backend, const struct smtp_reply *reply, struct smtp_reply *reply_r) ATTR_NULL(2) { + struct client *client = backend->backend.client; + struct mail_user *user = client->user; const char *enh_code, *msg, *log_msg = NULL; const char *const *reply_lines; bool result = TRUE; @@ -126,8 +128,15 @@ backend_relay_handle_relay_reply(struct submission_backend_relay *backend, reason = t_strdup_printf("%s%s", msg, detail); smtp_client_transaction_destroy(&backend->trans); - if (log_msg != NULL) - i_error("%s: %s", log_msg, smtp_reply_log(reply)); + if (log_msg != NULL) { + if (smtp_reply_is_remote(reply)) { + i_error("%s: %s", + log_msg, smtp_reply_log(reply)); + } else if (user->mail_debug) { + i_debug("%s: %s", + log_msg, smtp_reply_log(reply)); + } + } submission_backend_fail(&backend->backend, cmd, enh_code, reason); return FALSE;