From 7e823d4df22c1714675d033b9c4f99b60069af64 Mon Sep 17 00:00:00 2001 From: Michal Kazior Date: Mon, 8 Feb 2021 15:32:06 +0000 Subject: [PATCH] DPP: Expose config object PSK/passphrase in wpa_supplicant hostapd was already exposing this. There's no reason not to expose it in wpa_supplicant. This allows 3rd party apps interacting with the control interface to handle DPP events to get configs instead of needing to dance around with update_config=1 and SAVE_CONFIG. Signed-off-by: Michal Kazior --- wpa_supplicant/dpp_supplicant.c | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/wpa_supplicant/dpp_supplicant.c b/wpa_supplicant/dpp_supplicant.c index 282b6cd75..6a08ff866 100644 --- a/wpa_supplicant/dpp_supplicant.c +++ b/wpa_supplicant/dpp_supplicant.c @@ -1460,6 +1460,21 @@ static int wpas_dpp_handle_config_obj(struct wpa_supplicant *wpa_s, wpa_msg(wpa_s, MSG_INFO, DPP_EVENT_CONNECTOR "%s", conf->connector); } + if (conf->passphrase[0]) { + char hex[64 * 2 + 1]; + + wpa_snprintf_hex(hex, sizeof(hex), + (const u8 *) conf->passphrase, + os_strlen(conf->passphrase)); + wpa_msg(wpa_s, MSG_INFO, DPP_EVENT_CONFOBJ_PASS "%s", + hex); + } else if (conf->psk_set) { + char hex[PMK_LEN * 2 + 1]; + + wpa_snprintf_hex(hex, sizeof(hex), conf->psk, PMK_LEN); + wpa_msg(wpa_s, MSG_INFO, DPP_EVENT_CONFOBJ_PSK "%s", + hex); + } if (conf->c_sign_key) { char *hex; size_t hexlen;