From 1b7baf147d0ddfc67e88f314534ce888f0081857 Mon Sep 17 00:00:00 2001 From: "Alan T. DeKok" Date: Tue, 4 Aug 2026 11:15:22 -0400 Subject: [PATCH] use unlang_interpret_virtual_server() --- src/lib/server/auth.c | 8 +++++--- src/lib/unlang/io.c | 12 +++++++----- src/modules/rlm_rest/rest.c | 2 +- 3 files changed, 13 insertions(+), 9 deletions(-) diff --git a/src/lib/server/auth.c b/src/lib/server/auth.c index 712d65a61c6..b22f90b641c 100644 --- a/src/lib/server/auth.c +++ b/src/lib/server/auth.c @@ -43,7 +43,9 @@ RCSID("$Id$") */ unlang_action_t rad_virtual_server(unlang_result_t *p_result, request_t *request) { - RDEBUG("Virtual server %s received request NOT IMPLEMENTED", cf_section_name2(unlang_call_current(request))); + char const *server = unlang_interpret_virtual_server(request); + + RDEBUG("Virtual server %s received request NOT IMPLEMENTED", server); log_request_pair_list(L_DBG_LVL_1, request, NULL, &request->request_pairs, NULL); /* @@ -168,11 +170,11 @@ unlang_action_t rad_virtual_server(unlang_result_t *p_result, request_t *request talloc_set_name_const(request->async, talloc_get_name(request->parent->async)); } - RDEBUG("server %s {", cf_section_name2(unlang_call_current(request))); + RDEBUG("server %s {", server); request->async->process(&final, MODULE_CTX(module_rlm_by_data(request->async->process_inst), NULL, NULL, NULL), request); - RDEBUG("} # server %s", cf_section_name2(unlang_call_current(request))); + RDEBUG("} # server %s", server); fr_cond_assert(final == RLM_MODULE_OK); diff --git a/src/lib/unlang/io.c b/src/lib/unlang/io.c index dca81e30d38..9d9fdda106a 100644 --- a/src/lib/unlang/io.c +++ b/src/lib/unlang/io.c @@ -39,7 +39,7 @@ RCSID("$Id$") request_t *unlang_io_subrequest_alloc(request_t *parent, fr_dict_t const *namespace, bool detachable) { request_t *child; - CONF_SECTION *cs; + char const *server; if (!namespace) namespace = parent->proto_dict; @@ -80,10 +80,12 @@ request_t *unlang_io_subrequest_alloc(request_t *parent, fr_dict_t const *namesp COPY_FIELD(recv_time); fr_assert(request_is_internal(child)); - cs = unlang_call_current(parent); - if (cs) { - child->packet->socket.af = AF_FR_VIRTUAL_SERVER; - child->packet->socket.virtual.server = cf_section_name2(cs); + server = unlang_interpret_virtual_server(parent); + if (server) { + child->packet->socket = (fr_socket_t) { + .af = AF_FR_VIRTUAL_SERVER, + .virtual.server = server, + }; child->reply->socket = child->packet->socket; } diff --git a/src/modules/rlm_rest/rest.c b/src/modules/rlm_rest/rest.c index 26044e80b32..d7310fc8714 100644 --- a/src/modules/rlm_rest/rest.c +++ b/src/modules/rlm_rest/rest.c @@ -1883,7 +1883,7 @@ int rest_request_config(module_ctx_t const *mctx, rlm_rest_section_t const *sect snprintf(buffer, sizeof(buffer), "X-FreeRADIUS-Section: %s", section->name); if (unlikely(rest_request_config_add_header(request, randle, buffer, false) < 0)) return -1; - snprintf(buffer, sizeof(buffer), "X-FreeRADIUS-Server: %s", cf_section_name2(unlang_call_current(request))); + snprintf(buffer, sizeof(buffer), "X-FreeRADIUS-Server: %s", unlang_interpret_virtual_server(request)); if (unlikely(rest_request_config_add_header(request, randle, buffer, false) < 0)) return -1; /* -- 2.47.3