]> git.ipfire.org Git - thirdparty/freeradius-server.git/commitdiff
Make the logging destination resumption function transparent in terms of rcodes
authorArran Cudbard-Bell <a.cudbardb@freeradius.org>
Sun, 1 Jun 2025 16:03:23 +0000 (10:03 -0600)
committerNick Porter <nick@portercomputing.co.uk>
Wed, 18 Jun 2025 12:53:09 +0000 (13:53 +0100)
src/lib/server/virtual_servers.c

index cfbe7324329002457606f6a840405c48f3b63546..f037f133bcebed857e8a0d9b41fe180d3ff29527 100644 (file)
@@ -781,9 +781,11 @@ unlang_action_t virtual_server_push(unlang_result_t *p_result, request_t *reques
                if (unlang_interpret_stack_depth(request) > 1) {
                        unlang_action_t action;
 
-                       action = unlang_function_push(NULL, request, NULL, /* don't call it immediately */
-                                                     server_remove_log_destination, /* but when we pop the frame */
-                                                     server_signal_remove_log_destination, FR_SIGNAL_CANCEL,
+                       action = unlang_function_push(unlang_interpret_result(request), /* transparent */
+                                                     request,
+                                                     NULL,                             /* don't call it immediately */
+                                                     server_remove_log_destination,    /* but when we pop the frame */
+                                                     server_signal_remove_log_destination, ~(FR_SIGNAL_CANCEL),
                                                      top_frame, vs);
                        if (action != UNLANG_ACTION_PUSHED_CHILD) return action;