]> git.ipfire.org Git - thirdparty/freeradius-server.git/commitdiff
Fix EAP method negotiation for EAP-SIM/AKA/AKA_PRIME
authorArran Cudbard-Bell <a.cudbardb@freeradius.org>
Fri, 9 Apr 2021 22:45:53 +0000 (23:45 +0100)
committerArran Cudbard-Bell <a.cudbardb@freeradius.org>
Fri, 9 Apr 2021 22:45:53 +0000 (23:45 +0100)
src/lib/eap_aka_sim/module.c

index a7d659e01251de7752c92bc45472e950f5feb6af..a986c9d8e3a8da6d7dc90c42a6b14fe4e652da4e 100644 (file)
@@ -292,13 +292,20 @@ unlang_action_t eap_aka_sim_process(rlm_rcode_t *p_result, module_ctx_t const *m
        fr_aka_sim_ctx_t                decode_ctx;
 
        switch (eap_session->this_round->response->type.num) {
+       default:
+               REDEBUG2("Unsupported EAP type (%u)", eap_session->this_round->response->type.num);
+               RETURN_MODULE_REJECT;
+
        case FR_EAP_METHOD_IDENTITY:
+       case FR_EAP_METHOD_NAK: /* Peer NAK'd our original suggestion */
                break;
 
        /*
         *      Only decode data for EAP-SIM/AKA/AKA' responses
         */
-       default:
+       case FR_EAP_METHOD_SIM:
+       case FR_EAP_METHOD_AKA:
+       case FR_EAP_METHOD_AKA_PRIME:
                fr_dcursor_init(&cursor, &request->request_pairs);
 
                decode_ctx = mod_session->ctx;