]> git.ipfire.org Git - thirdparty/freeradius-server.git/commitdiff
HACK: don't save / restore state for internal proxying
authorAlan T. DeKok <aland@freeradius.org>
Tue, 27 Jun 2017 18:39:05 +0000 (14:39 -0400)
committerAlan T. DeKok <aland@freeradius.org>
Tue, 27 Jun 2017 18:39:05 +0000 (14:39 -0400)
src/modules/proto_radius/proto_radius_auth.c

index 5071d7f790a92a6a0ab45c14871f86b0500f8de8..eab0da4f32caef38ed4f2cf3a7944ff5a4d34f02 100644 (file)
@@ -158,7 +158,7 @@ static fr_io_final_t mod_process(REQUEST *request, UNUSED fr_io_action_t action)
                /*
                 *      Grab the VPS and data associated with the State attribute.
                 */
-               fr_state_to_request(global_state, request, request->packet);
+               if (!request->parent) fr_state_to_request(global_state, request, request->packet);
 
                /*
                 *      Push the conf section into the unlang stack.
@@ -450,10 +450,10 @@ static fr_io_final_t mod_process(REQUEST *request, UNUSED fr_io_action_t action)
                 *      discard it for everything else.
                 */
                if (request->reply->code == FR_CODE_ACCESS_CHALLENGE) {
-                       fr_request_to_state(global_state, request, request->packet, request->reply);
+                       if (!request->parent) fr_request_to_state(global_state, request, request->packet, request->reply);
 
                } else {
-                       fr_state_discard(global_state, request, request->packet);
+                       if (!request->parent) fr_state_discard(global_state, request, request->packet);
                }
 
                if (!request->reply->code) {