]> git.ipfire.org Git - thirdparty/hostap.git/commitdiff
ERP: Do not pass full EAP header to eap_peer_erp_reauth_start()
authorJouni Malinen <jouni@qca.qualcomm.com>
Wed, 9 Sep 2015 18:34:36 +0000 (21:34 +0300)
committerJouni Malinen <j@w1.fi>
Mon, 10 Oct 2016 18:11:47 +0000 (21:11 +0300)
That function does not need the full EAP header -- it only needs to know
which EAP identifier to use in the message. Make this usable for cases
where the previous EAP message may not exist (FILS).

Signed-off-by: Jouni Malinen <jouni@qca.qualcomm.com>
src/eap_peer/eap.c

index 9110ca5b9cfd64fc7dd92351f593d47c951aaf65..9af1fff8ad686696a744f0f348f4d41a39134101 100644 (file)
@@ -571,8 +571,7 @@ fail:
 
 
 #ifdef CONFIG_ERP
-static int eap_peer_erp_reauth_start(struct eap_sm *sm,
-                                    const struct eap_hdr *hdr, size_t len)
+static int eap_peer_erp_reauth_start(struct eap_sm *sm, u8 eap_id)
 {
        char *realm;
        struct eap_erp_key *erp;
@@ -599,7 +598,7 @@ static int eap_peer_erp_reauth_start(struct eap_sm *sm,
 
        msg = eap_msg_alloc(EAP_VENDOR_IETF, (EapType) EAP_ERP_TYPE_REAUTH,
                            1 + 2 + 2 + os_strlen(erp->keyname_nai) + 1 + 16,
-                           EAP_CODE_INITIATE, hdr->identifier);
+                           EAP_CODE_INITIATE, eap_id);
        if (msg == NULL)
                return -1;
 
@@ -1566,7 +1565,7 @@ static void eap_peer_initiate(struct eap_sm *sm, const struct eap_hdr *hdr,
                /* TODO: Derivation of domain specific keys for local ER */
        }
 
-       if (eap_peer_erp_reauth_start(sm, hdr, len) == 0)
+       if (eap_peer_erp_reauth_start(sm, hdr->identifier) == 0)
                return;
 
 invalid: