From 9a90aab12b0f244a3b99357d1943d371892f2a11 Mon Sep 17 00:00:00 2001 From: Jouni Malinen Date: Wed, 2 Feb 2022 16:45:05 +0200 Subject: [PATCH] DPP: Store Enrollee config request information This information can be helpful for upper layers in deciding how to configure the Enrollee. Signed-off-by: Jouni Malinen --- src/common/dpp.c | 10 +++++++++- src/common/dpp.h | 3 +++ 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/src/common/dpp.c b/src/common/dpp.c index 138a3d3e0..038b21467 100644 --- a/src/common/dpp.c +++ b/src/common/dpp.c @@ -1289,6 +1289,9 @@ void dpp_auth_deinit(struct dpp_authentication *auth) dl_list_del(&auth->tmp_peer_bi->list); dpp_bootstrap_info_free(auth->tmp_peer_bi); } + os_free(auth->e_name); + os_free(auth->e_mud_url); + os_free(auth->e_band_support); #ifdef CONFIG_TESTING_OPTIONS os_free(auth->config_obj_override); os_free(auth->discovery_override); @@ -1969,6 +1972,8 @@ dpp_conf_req_rx(struct dpp_authentication *auth, const u8 *attr_start, goto fail; } wpa_printf(MSG_DEBUG, "DPP: Enrollee name = '%s'", token->string); + os_free(auth->e_name); + auth->e_name = os_strdup(token->string); token = json_get_member(root, "wi-fi_tech"); if (!token || token->type != JSON_STRING) { @@ -2008,6 +2013,8 @@ dpp_conf_req_rx(struct dpp_authentication *auth, const u8 *attr_start, wpa_printf(MSG_DEBUG, "DPP: mudurl = '%s'", token->string); wpa_msg(auth->msg_ctx, MSG_INFO, DPP_EVENT_MUD_URL "%s", token->string); + os_free(auth->e_mud_url); + auth->e_mud_url = os_strdup(token->string); } token = json_get_member(root, "bandSupport"); @@ -2043,7 +2050,8 @@ dpp_conf_req_rx(struct dpp_authentication *auth, const u8 *attr_start, } pos += res; } - os_free(opclass); + os_free(auth->e_band_support); + auth->e_band_support = opclass; wpa_msg(auth->msg_ctx, MSG_INFO, DPP_EVENT_BAND_SUPPORT "%s", txt); } diff --git a/src/common/dpp.h b/src/common/dpp.h index 124d695f5..40e9775e5 100644 --- a/src/common/dpp.h +++ b/src/common/dpp.h @@ -354,6 +354,9 @@ struct dpp_authentication { struct wpabuf *certbag; void *cert_resp_ctx; void *gas_server_ctx; + char *e_name; + char *e_mud_url; + int *e_band_support; #ifdef CONFIG_TESTING_OPTIONS char *config_obj_override; char *discovery_override;