]> git.ipfire.org Git - thirdparty/freeradius-server.git/commitdiff
Only report EAP sessions as being expired if they really are
authorNick Porter <nick@portercomputing.co.uk>
Tue, 28 Nov 2023 13:08:08 +0000 (13:08 +0000)
committerNick Porter <nick@portercomputing.co.uk>
Tue, 28 Nov 2023 13:08:08 +0000 (13:08 +0000)
src/modules/rlm_eap/mem.c

index 6ef6c5c0c41ac35dd7828212e0f97295c9245edc..546eff3463c05ae4615baa2221c600d96f9aad09 100644 (file)
@@ -240,19 +240,20 @@ static void eaplist_expire(rlm_eap_t *inst, REQUEST *request, time_t timestamp)
                handler = inst->session_head;
                if (!handler) break;
 
-               RDEBUG("Expiring EAP session with state "
-                      "0x%02x%02x%02x%02x%02x%02x%02x%02x",
-                      handler->state[0], handler->state[1],
-                      handler->state[2], handler->state[3],
-                      handler->state[4], handler->state[5],
-                      handler->state[6], handler->state[7]);
-
                /*
                 *      Expire entries from the start of the list.
                 *      They should be the oldest ones.
                 */
                if ((timestamp - handler->timestamp) > (int)inst->timer_limit) {
                        rbnode_t *node;
+
+                       RDEBUG("Expiring EAP session with state "
+                              "0x%02x%02x%02x%02x%02x%02x%02x%02x",
+                              handler->state[0], handler->state[1],
+                              handler->state[2], handler->state[3],
+                              handler->state[4], handler->state[5],
+                              handler->state[6], handler->state[7]);
+
                        node = rbtree_find(inst->session_tree, handler);
                        rad_assert(node != NULL);
                        rbtree_delete(inst->session_tree, node);