#include "master-service.h"
#include "master-service-ssl-settings.h"
#include "master-auth.h"
+#include "anvil-client.h"
#include "auth-client.h"
#include "dsasl-client.h"
#include "login-proxy.h"
} else if (client->auth_request != 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);
}
time_t auth_first_started, auth_finished;
const char *sasl_final_resp;
const char *const *auth_passdb_args;
+ struct anvil_query *anvil_query;
unsigned int master_auth_id;
unsigned int master_tag;
unsigned int conn_count;
int ret;
+ client->anvil_query = NULL;
+
conn_count = 0;
if (reply != NULL && str_to_uint(reply, &conn_count) < 0)
i_fatal("Received invalid reply from anvil: %s", reply);
query = t_strconcat("LOOKUP\t", login_binary->protocol, "/",
net_ip2addr(&client->ip), "/",
str_tabescape(client->virtual_user), NULL);
- anvil_client_query(anvil, query, anvil_lookup_callback, req);
+ client->anvil_query =
+ anvil_client_query(anvil, query, anvil_lookup_callback, req);
}
static bool