client->authenticating = FALSE;
master_auth_request_abort(master_auth, client->master_tag);
client->refcount--;
- } else if (client->auth_request != NULL) {
+ } else if (client->auth_request != NULL ||
+ client->anvil_query != NULL) {
i_assert(client->authenticating);
sasl_server_auth_abort(client);
- } else if (client->anvil_query != NULL) {
- anvil_client_query_abort(anvil, &client->anvil_query);
- } else {
- i_assert(!client->authenticating);
}
+ i_assert(!client->authenticating);
+ i_assert(client->auth_request == NULL);
+ i_assert(client->anvil_query == NULL);
timeout_remove(&client->to_disconnect);
timeout_remove(&client->to_auth_waiting);
void sasl_server_auth_abort(struct client *client)
{
client->auth_try_aborted = TRUE;
+ if (client->anvil_query != NULL)
+ anvil_client_query_abort(anvil, &client->anvil_query);
sasl_server_auth_cancel(client, NULL, NULL, SASL_SERVER_REPLY_AUTH_ABORTED);
}