break;
case LOGIN_PROXY_FAILURE_TYPE_REMOTE_CONFIG:
case LOGIN_PROXY_FAILURE_TYPE_INTERNAL_CONFIG:
+ case LOGIN_PROXY_FAILURE_TYPE_AUTH_NOT_REPLIED:
client_send_reply_code(&imap_client->common, IMAP_CMD_REPLY_NO,
IMAP_RESP_CODE_SERVERBUG,
LOGIN_PROXY_FAILURE_MSG);
last_reason = "protocol failure";
break;
case LOGIN_PROXY_FAILURE_TYPE_AUTH_REPLIED:
+ case LOGIN_PROXY_FAILURE_TYPE_AUTH_NOT_REPLIED:
event_reason = "auth_failed";
last_reason = "authentication failure";
break;
log_prefix = "Remote server sent invalid input: ";
break;
case LOGIN_PROXY_FAILURE_TYPE_AUTH_REPLIED:
+ case LOGIN_PROXY_FAILURE_TYPE_AUTH_NOT_REPLIED:
log_prefix = "";
try_reconnect = FALSE;
break;
}
if (type != LOGIN_PROXY_FAILURE_TYPE_AUTH_REPLIED &&
+ type != LOGIN_PROXY_FAILURE_TYPE_AUTH_NOT_REPLIED &&
type != LOGIN_PROXY_FAILURE_TYPE_AUTH_TEMPFAIL)
e_error(event, "%s%s", log_prefix, reason);
else if (proxy->client->set->auth_verbose)
/* Authentication failed to backend. The LOGIN/AUTH command reply was
already sent to the client. */
LOGIN_PROXY_FAILURE_TYPE_AUTH_REPLIED,
+ /* Authentication failed to backend. The LOGIN/AUTH command reply was
+ NOT sent to the client yet. */
+ LOGIN_PROXY_FAILURE_TYPE_AUTH_NOT_REPLIED,
/* Authentication failed with a temporary failure code. Attempting it
again might work. */
LOGIN_PROXY_FAILURE_TYPE_AUTH_TEMPFAIL,
break;
case LOGIN_PROXY_FAILURE_TYPE_INTERNAL_CONFIG:
case LOGIN_PROXY_FAILURE_TYPE_REMOTE_CONFIG:
+ case LOGIN_PROXY_FAILURE_TYPE_AUTH_NOT_REPLIED:
client_send_reply(client, POP3_CMD_REPLY_ERROR,
LOGIN_PROXY_FAILURE_MSG);
break;
case LOGIN_PROXY_FAILURE_TYPE_REMOTE_CONFIG:
case LOGIN_PROXY_FAILURE_TYPE_PROTOCOL:
case LOGIN_PROXY_FAILURE_TYPE_AUTH_REDIRECT:
+ case LOGIN_PROXY_FAILURE_TYPE_AUTH_NOT_REPLIED:
i_assert(cmd != NULL);
subm_client->pending_auth = NULL;
smtp_server_reply(cmd, 454, "4.7.0", LOGIN_PROXY_FAILURE_MSG);