]> git.ipfire.org Git - thirdparty/freeradius-server.git/commitdiff
clean up expired sessions
authorAlan T. DeKok <aland@freeradius.org>
Wed, 3 Mar 2021 12:30:47 +0000 (07:30 -0500)
committerAlan T. DeKok <aland@freeradius.org>
Wed, 3 Mar 2021 12:30:47 +0000 (07:30 -0500)
src/modules/rlm_eap/mem.c

index d80a91b42221ef69f4ba00d3bf20d082103b35da..af0cff6782ace6e3cf1f6629793fe454b3c54db9 100644 (file)
@@ -250,6 +250,22 @@ static void eaplist_expire(rlm_eap_t *inst, REQUEST *request, time_t timestamp)
                                inst->session_head = NULL;
                                inst->session_tail = NULL;
                        }
+
+                       /*
+                        *      Remove expired TLS sessions.
+                        */
+                       switch (handler->type) {
+                       case PW_EAP_TLS:
+                       case PW_EAP_TTLS:
+                       case PW_EAP_PEAP:
+                       case PW_EAP_FAST:
+                               tls_fail(handler->opaque); /* MUST be a tls_session! */
+                               break;
+
+                       default:
+                               break;
+                       }
+
                        talloc_free(handler);
                } else {
                        break;