From: Nick Porter Date: Tue, 28 Nov 2023 13:08:08 +0000 (+0000) Subject: Only report EAP sessions as being expired if they really are X-Git-Tag: release_3_2_4~110 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=282d02277dca12f461ad1b2198259b8b6cbb1c88;p=thirdparty%2Ffreeradius-server.git Only report EAP sessions as being expired if they really are --- diff --git a/src/modules/rlm_eap/mem.c b/src/modules/rlm_eap/mem.c index 6ef6c5c0c41..546eff3463c 100644 --- a/src/modules/rlm_eap/mem.c +++ b/src/modules/rlm_eap/mem.c @@ -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);