static void authtest_input_init(struct authtest_input *input)
{
i_zero(input);
+ input->pool = pool_alloconly_create("auth input", 256);
input->info.protocol = "doveadm";
input->info.debug = auth_want_log_debug();
/* start assuming any failure will be internal failure */
input->internal_failure = TRUE;
}
+static void authtest_input_deinit(struct authtest_input *input)
+{
+ pool_unref(&input->pool);
+}
+
static void cmd_auth_test(struct doveadm_cmd_context *cctx)
{
const char *auth_socket_path = NULL;
else if (!input.success)
doveadm_exit_code = EX_NOPERM;
event_unref(&input.event);
+ authtest_input_deinit(&input);
}
static void
cmd_auth_init_sasl_client(&input);
- input.pool = pool_alloconly_create("auth login", 256);
input.event = event_create(cctx->event);
event_set_append_log_prefix(input.event,
t_strdup_printf("user %s: ", input.username));
auth_client_deinit(&auth_client);
event_unref(&input.event);
cmd_auth_deinit_sasl_client(&input);
- pool_unref(&input.pool);
+ authtest_input_deinit(&input);
}
static void cmd_auth_lookup(struct doveadm_cmd_context *cctx)
}
}
auth_master_deinit(&conn);
+ authtest_input_deinit(&input);
}
static void cmd_user_mail_input_field(const char *key, const char *value,
if (expand_field != NULL && userdb_only) {
e_error(cctx->event, "-e can't be used with -u");
doveadm_exit_code = EX_USAGE;
+ authtest_input_deinit(&input);
return;
}
if (expand_field != NULL && show_field != NULL) {
e_error(cctx->event, "-e can't be used with -f");
doveadm_exit_code = EX_USAGE;
+ authtest_input_deinit(&input);
return;
}
if (have_wildcards) {
cmd_user_list(conn, &input, user_masks);
auth_master_deinit(&conn);
+ authtest_input_deinit(&input);
return;
}
mail_storage_service_deinit(&storage_service);
if (conn != NULL)
auth_master_deinit(&conn);
+ authtest_input_deinit(&input);
}
struct doveadm_cmd_ver2 doveadm_cmd_auth[] = {