diff --git a/res/res_resolver_unbound.c b/res/res_resolver_unbound.c index 47cd883ceb35bf15ac2a8cef9850565a6a196e4f..84d61e7c78b328d63a1a5603dffad3c5d708abe4 100644 --- a/res/res_resolver_unbound.c +++ b/res/res_resolver_unbound.c @@ -290,6 +290,7 @@ static int unbound_resolver_resolve(struct ast_dns_query *query) { struct unbound_config *cfg = ao2_global_obj_ref(globals); struct unbound_resolver_data *data; + struct ub_result *ub_result; int res; data = ao2_alloc_options(sizeof(*data), unbound_resolver_data_dtor, @@ -302,9 +303,11 @@ static int unbound_resolver_resolve(struct ast_dns_query *query) data->resolver = ao2_bump(cfg->global->state->resolver); ast_dns_resolver_set_data(query, data); - res = ub_resolve_async(data->resolver->context, ast_dns_query_get_name(query), + res = ub_resolve(data->resolver->context, ast_dns_query_get_name(query), ast_dns_query_get_rr_type(query), ast_dns_query_get_rr_class(query), - ao2_bump(query), unbound_resolver_callback, &data->id); + &ub_result); + + unbound_resolver_callback(ao2_bump(query), res, ub_result); if (res) { ast_log(LOG_ERROR, "Failed to perform async DNS resolution of '%s'\n",