PASN: Fix CONFIG_PASN=y build without CONFIG_IEEE80211R=y

Do not try to use variables that are not defined without
CONFIG_IEEE80211R=y and add the forgotten "inline" for the function
wrapper.

Fixes: 5c65ad6c0b ("PASN: Support PASN with FT key derivation")
Signed-off-by: Jouni Malinen <quic_jouni@quicinc.com>
This commit is contained in:
Jouni Malinen 2022-09-30 17:05:47 +03:00 committed by Jouni Malinen
parent ca94fd70c8
commit 8219d2b7dd
2 changed files with 7 additions and 2 deletions

View file

@ -509,7 +509,8 @@ wpa_ft_validate_reassoc_resp(struct wpa_sm *sm, const u8 *ies, size_t ies_len,
#ifdef CONFIG_PASN #ifdef CONFIG_PASN
int wpa_pasn_ft_derive_pmk_r1(struct wpa_sm *sm, int akmp, const u8 *r1kh_id, static inline int
wpa_pasn_ft_derive_pmk_r1(struct wpa_sm *sm, int akmp, const u8 *r1kh_id,
u8 *pmk_r1, size_t *pmk_r1_len, u8 *pmk_r1_name) u8 *pmk_r1, size_t *pmk_r1_len, u8 *pmk_r1_name)
{ {
return -1; return -1;

View file

@ -969,6 +969,7 @@ static struct wpabuf * wpas_pasn_build_auth_1(struct wpa_supplicant *wpa_s,
pmkid = NULL; pmkid = NULL;
if (wpa_key_mgmt_ft(pasn->akmp)) { if (wpa_key_mgmt_ft(pasn->akmp)) {
#ifdef CONFIG_IEEE80211R
ret = wpa_pasn_ft_derive_pmk_r1(wpa_s->wpa, pasn->akmp, ret = wpa_pasn_ft_derive_pmk_r1(wpa_s->wpa, pasn->akmp,
pasn->bssid, pasn->bssid,
pasn->pmk_r1, pasn->pmk_r1,
@ -981,6 +982,9 @@ static struct wpabuf * wpas_pasn_build_auth_1(struct wpa_supplicant *wpa_s,
} }
pmkid = pasn->pmk_r1_name; pmkid = pasn->pmk_r1_name;
#else /* CONFIG_IEEE80211R */
goto fail;
#endif /* CONFIG_IEEE80211R */
} else if (wrapped_data != WPA_PASN_WRAPPED_DATA_NO) { } else if (wrapped_data != WPA_PASN_WRAPPED_DATA_NO) {
struct rsn_pmksa_cache_entry *pmksa; struct rsn_pmksa_cache_entry *pmksa;