]> git.ipfire.org Git - thirdparty/freeradius-server.git/commitdiff
don't immediately delete NATed clients
authorAlan T. DeKok <aland@freeradius.org>
Wed, 17 Jan 2018 21:28:37 +0000 (16:28 -0500)
committerAlan T. DeKok <aland@freeradius.org>
Wed, 17 Jan 2018 22:23:51 +0000 (17:23 -0500)
src/modules/proto_radius/proto_radius_udp.c

index 28e1ddaee8fde8c3c06fa0ebd77e7bc46422225e..11d7a9639f0e5cd1ab993e3b8ab37ede48555d15 100644 (file)
@@ -1132,26 +1132,6 @@ received_packet:
                }
 
 untrack:
-
-               /*
-                *      If the client is dynamic, AND is behind a NAT,
-                *      AND we've processed all pending packets for
-                *      it, THEN delete the dynamic client.  This
-                *      means that the next packet from that IP will
-                *      cause a new client to be defined.
-                *
-                *      i.e. each connection has it's own client.
-                */
-               if (address.client->dynamic && address.client->behind_nat &&
-                   (address.client->received == 0)) {
-                       RADCLIENT *client = address.client;
-
-                       rad_assert(client->outstanding == 0);
-                       (void) client_delete(inst->dynamic_clients.clients, client);
-                       rad_assert(client->outstanding == 0);
-                       client_free(client);
-               }
-
                /*
                 *      We're no longer tracking this packet.
                 *      Instead, the client is.  So we just discard it