SAE: Allow commit fields to be overridden for testing purposes
The new sae_commit_override=<hexdump> parameter can be used to force hostapd to override SAE commit message fields for testing purposes. This is included only in CONFIG_TESTING_OPTIONS=y builds. Signed-off-by: Jouni Malinen <jouni@qca.qualcomm.com>
This commit is contained in:
parent
1342c47a33
commit
3648d8a185
4 changed files with 14 additions and 0 deletions
|
@ -3563,6 +3563,9 @@ static int hostapd_config_fill(struct hostapd_config *conf,
|
|||
bss->own_ie_override = tmp;
|
||||
} else if (os_strcmp(buf, "sae_reflection_attack") == 0) {
|
||||
bss->sae_reflection_attack = atoi(pos);
|
||||
} else if (os_strcmp(buf, "sae_commit_override") == 0) {
|
||||
wpabuf_free(bss->sae_commit_override);
|
||||
bss->sae_commit_override = wpabuf_parse_bin(pos);
|
||||
#endif /* CONFIG_TESTING_OPTIONS */
|
||||
} else if (os_strcmp(buf, "vendor_elements") == 0) {
|
||||
if (parse_wpabuf_hex(line, buf, &bss->vendor_elements, pos))
|
||||
|
|
|
@ -617,6 +617,7 @@ void hostapd_config_free_bss(struct hostapd_bss_config *conf)
|
|||
|
||||
#ifdef CONFIG_TESTING_OPTIONS
|
||||
wpabuf_free(conf->own_ie_override);
|
||||
wpabuf_free(conf->sae_commit_override);
|
||||
#endif /* CONFIG_TESTING_OPTIONS */
|
||||
|
||||
os_free(conf->no_probe_resp_if_seen_on);
|
||||
|
|
|
@ -589,6 +589,7 @@ struct hostapd_bss_config {
|
|||
u8 bss_load_test_set;
|
||||
struct wpabuf *own_ie_override;
|
||||
int sae_reflection_attack;
|
||||
struct wpabuf *sae_commit_override;
|
||||
#endif /* CONFIG_TESTING_OPTIONS */
|
||||
|
||||
#define MESH_ENABLED BIT(0)
|
||||
|
|
|
@ -797,6 +797,15 @@ static void handle_auth_sae(struct hostapd_data *hapd, struct sta_info *sta,
|
|||
auth_transaction, resp, pos, end - pos);
|
||||
goto remove_sta;
|
||||
}
|
||||
|
||||
if (hapd->conf->sae_commit_override && auth_transaction == 1) {
|
||||
wpa_printf(MSG_DEBUG, "SAE: TESTING - commit override");
|
||||
send_auth_reply(hapd, mgmt->sa, mgmt->bssid, WLAN_AUTH_SAE,
|
||||
auth_transaction, resp,
|
||||
wpabuf_head(hapd->conf->sae_commit_override),
|
||||
wpabuf_len(hapd->conf->sae_commit_override));
|
||||
goto remove_sta;
|
||||
}
|
||||
#endif /* CONFIG_TESTING_OPTIONS */
|
||||
if (!sta->sae) {
|
||||
if (auth_transaction != 1 ||
|
||||
|
|
Loading…
Reference in a new issue