]> git.ipfire.org Git - thirdparty/freeradius-server.git/commitdiff
Ensure that there is a cleanup event for proxied packets
authorAlan T. DeKok <aland@freeradius.org>
Tue, 6 Oct 2009 08:21:45 +0000 (10:21 +0200)
committerAlan T. DeKok <aland@freeradius.org>
Tue, 20 Oct 2009 22:03:34 +0000 (00:03 +0200)
If there was no reply, clean up, reject, etc. the request.

This doesn't matter so much for normal clients, as they will retransmit
and cause the old request to be deleted from the request hash.
But detail requests have random ports (for other reasons), so
they won't be cleaned up by new packets.  Therefore, we need to clean
them up...

src/main/event.c

index 62d9dbf0dfb455ae0a5c08fbb110f95a78977a9f..d23c24689e49fdbe9ed52e0c933549229377124b 100644 (file)
@@ -1045,6 +1045,12 @@ static void no_response_to_proxied_request(void *ctx)
                       request->proxy->dst_port);
 
                post_proxy_fail_handler(request);
+       } else {
+               /*
+                *      Ensure that there is a callback for the request.
+                */
+               request->child_state = REQUEST_RUNNING;
+               wait_a_bit(request);
        }
 
        /*