mirror of
https://github.com/vanhoefm/fragattacks.git
synced 2024-11-25 00:38:24 -05:00
P2P: Allow P2P IE without Device Info in (Re)Assoc Req
This can happen, e.g., when a P2P client connects to a P2P group using the infrastructure WLAN interface instead of P2P group interface. In that case, the P2P client may behave as if the GO would be a P2P Manager WLAN AP.
This commit is contained in:
parent
b6c79a998f
commit
5548ddc217
@ -781,8 +781,12 @@ static u16 check_assoc_ies(struct hostapd_data *hapd, struct sta_info *sta,
|
||||
P2P_IE_VENDOR_TYPE);
|
||||
|
||||
if (p2p_group_notif_assoc(hapd->p2p_group, sta->addr,
|
||||
ies, ies_len) < 0)
|
||||
ies, ies_len) < 0) {
|
||||
wpa_printf(MSG_DEBUG, "P2P: Invalid P2P IE in "
|
||||
"(Re)Association Request frame from "
|
||||
MACSTR, MAC2STR(sta->addr));
|
||||
return WLAN_STATUS_UNSPECIFIED_FAILURE;
|
||||
}
|
||||
} else {
|
||||
wpabuf_free(sta->p2p_ie);
|
||||
sta->p2p_ie = NULL;
|
||||
|
@ -323,8 +323,18 @@ int p2p_group_notif_assoc(struct p2p_group *group, const u8 *addr,
|
||||
m->client_info = p2p_build_client_info(addr, m->p2p_ie, &m->dev_capab,
|
||||
m->dev_addr);
|
||||
if (m->client_info == NULL) {
|
||||
/*
|
||||
* This can happen, e.g., when a P2P client connects to a P2P
|
||||
* group using the infrastructure WLAN interface instead of
|
||||
* P2P group interface. In that case, the P2P client may behave
|
||||
* as if the GO would be a P2P Manager WLAN AP.
|
||||
*/
|
||||
wpa_msg(group->p2p->cfg->msg_ctx, MSG_DEBUG,
|
||||
"P2P: Could not build Client Info from P2P IE - "
|
||||
"assume " MACSTR " is not a P2P client",
|
||||
MAC2STR(addr));
|
||||
p2p_group_free_member(m);
|
||||
return -1;
|
||||
return 0;
|
||||
}
|
||||
|
||||
m->next = group->members;
|
||||
|
Loading…
Reference in New Issue
Block a user