From: Timo Sirainen Date: Tue, 11 May 2021 18:10:59 +0000 (+0300) Subject: login-common: Don't log auth referral disconnects as having "internal error" X-Git-Tag: 2.4.0~4812 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=492023b395033d266652c901eb0ad2e6c1b6bc72;p=thirdparty%2Fdovecot%2Fcore.git login-common: Don't log auth referral disconnects as having "internal error" --- diff --git a/src/login-common/client-common-auth.c b/src/login-common/client-common-auth.c index 3a4f574c79..848285a14e 100644 --- a/src/login-common/client-common-auth.c +++ b/src/login-common/client-common-auth.c @@ -737,6 +737,7 @@ client_auth_handle_reply(struct client *client, reason = "Logged in, but you should use this server instead."; if (reply->nologin) { + client->auth_nologin_referral = TRUE; client_auth_result(client, CLIENT_AUTH_RESULT_REFERRAL_NOLOGIN, reply, reason); diff --git a/src/login-common/client-common.c b/src/login-common/client-common.c index d3df9bb57b..6fec73c601 100644 --- a/src/login-common/client-common.c +++ b/src/login-common/client-common.c @@ -1077,6 +1077,8 @@ const char *client_get_extra_disconnect_reason(struct client *client) if (client->auth_process_comm_fail) return "(auth process communication failure)"; + if (client->auth_nologin_referral) + return "(auth referral)"; if (client->proxy_auth_failed) return "(proxy dest auth failed)"; if (client->auth_successes > 0) { diff --git a/src/login-common/client-common.h b/src/login-common/client-common.h index 3d6dfad1c1..b3e7d72019 100644 --- a/src/login-common/client-common.h +++ b/src/login-common/client-common.h @@ -253,6 +253,7 @@ struct client { bool auth_initializing:1; bool auth_process_comm_fail:1; bool auth_anonymous:1; + bool auth_nologin_referral:1; bool proxy_auth_failed:1; bool proxy_noauth:1; bool proxy_nopipelining:1;