From 20668c8b95781c09b3043d45cf82a5414c83bdc4 Mon Sep 17 00:00:00 2001 From: Iryna Antsyferova <iryna.antsyferova@genexis.eu> Date: Wed, 7 May 2025 13:37:12 +0200 Subject: [PATCH] Fix DNS lookup conflict by replacing ub_resolve_async with ub_resolve for multiple SIP clients registrations, REF 15147 --- res/res_resolver_unbound.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/res/res_resolver_unbound.c b/res/res_resolver_unbound.c index 47cd883ceb..84d61e7c78 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", -- GitLab