Add debug prints on PMK configuration in WPA supplicant

This makes it easier to understand the cases where PMK gets configured
based on information from upper layer call (e.g., a PSK).

Signed-off-by: Jouni Malinen <j@w1.fi>
This commit is contained in:
Jouni Malinen 2017-10-08 12:21:21 +03:00
parent a00e946c1c
commit 00583ef111

View file

@ -2620,6 +2620,8 @@ void wpa_sm_set_pmk(struct wpa_sm *sm, const u8 *pmk, size_t pmk_len,
if (sm == NULL) if (sm == NULL)
return; return;
wpa_hexdump_key(MSG_DEBUG, "WPA: Set PMK based on external data",
pmk, pmk_len);
sm->pmk_len = pmk_len; sm->pmk_len = pmk_len;
os_memcpy(sm->pmk, pmk, pmk_len); os_memcpy(sm->pmk, pmk, pmk_len);
@ -2650,9 +2652,13 @@ void wpa_sm_set_pmk_from_pmksa(struct wpa_sm *sm)
return; return;
if (sm->cur_pmksa) { if (sm->cur_pmksa) {
wpa_hexdump_key(MSG_DEBUG,
"WPA: Set PMK based on current PMKSA",
sm->cur_pmksa->pmk, sm->cur_pmksa->pmk_len);
sm->pmk_len = sm->cur_pmksa->pmk_len; sm->pmk_len = sm->cur_pmksa->pmk_len;
os_memcpy(sm->pmk, sm->cur_pmksa->pmk, sm->pmk_len); os_memcpy(sm->pmk, sm->cur_pmksa->pmk, sm->pmk_len);
} else { } else {
wpa_printf(MSG_DEBUG, "WPA: No current PMKSA - clear PMK");
sm->pmk_len = PMK_LEN; sm->pmk_len = PMK_LEN;
os_memset(sm->pmk, 0, PMK_LEN); os_memset(sm->pmk, 0, PMK_LEN);
} }