DPP2: ssid64/ssid_charset in Configurator
This allows Configurator to be configured to use the ssid64 option in the discovery object for a station Enrollee. Signed-off-by: Jouni Malinen <jouni@codeaurora.org>
This commit is contained in:
parent
57a63b1318
commit
71e2848eab
2 changed files with 21 additions and 2 deletions
|
@ -4432,6 +4432,16 @@ static int dpp_configuration_parse_helper(struct dpp_authentication *auth,
|
|||
#endif /* CONFIG_TESTING_OPTIONS */
|
||||
}
|
||||
|
||||
pos = os_strstr(cmd, " ssid_charset=");
|
||||
if (pos) {
|
||||
if (conf_ap) {
|
||||
wpa_printf(MSG_INFO,
|
||||
"DPP: ssid64 option (ssid_charset param) not allowed for AP enrollee");
|
||||
goto fail;
|
||||
}
|
||||
conf->ssid_charset = atoi(pos + 14);
|
||||
}
|
||||
|
||||
pos = os_strstr(cmd, " pass=");
|
||||
if (pos) {
|
||||
size_t pass_len;
|
||||
|
@ -4657,11 +4667,19 @@ dpp_build_conf_start(struct dpp_authentication *auth,
|
|||
}
|
||||
#endif /* CONFIG_TESTING_OPTIONS */
|
||||
json_start_object(buf, "discovery");
|
||||
if (json_add_string_escape(buf, "ssid", conf->ssid,
|
||||
conf->ssid_len) < 0) {
|
||||
if (((!conf->ssid_charset || auth->peer_version < 2) &&
|
||||
json_add_string_escape(buf, "ssid", conf->ssid,
|
||||
conf->ssid_len) < 0) ||
|
||||
((conf->ssid_charset && auth->peer_version >= 2) &&
|
||||
json_add_base64url(buf, "ssid64", conf->ssid,
|
||||
conf->ssid_len) < 0)) {
|
||||
wpabuf_free(buf);
|
||||
return NULL;
|
||||
}
|
||||
if (conf->ssid_charset > 0) {
|
||||
json_value_sep(buf);
|
||||
json_add_int(buf, "ssid_charset", conf->ssid_charset);
|
||||
}
|
||||
json_end_object(buf);
|
||||
json_value_sep(buf);
|
||||
|
||||
|
|
|
@ -169,6 +169,7 @@ enum dpp_netrole {
|
|||
struct dpp_configuration {
|
||||
u8 ssid[32];
|
||||
size_t ssid_len;
|
||||
int ssid_charset;
|
||||
enum dpp_akm akm;
|
||||
enum dpp_netrole netrole;
|
||||
|
||||
|
|
Loading…
Reference in a new issue