P2P2: Parse new attributes

Recognize new attributes when parsing P2P2 IE.

Signed-off-by: Shivani Baranwal <quic_shivbara@quicinc.com>
This commit is contained in:
Shivani Baranwal 2024-08-05 02:43:59 +05:30 committed by Jouni Malinen
parent 0f854cb351
commit d5c07aaab9
2 changed files with 43 additions and 0 deletions

View file

@ -738,6 +738,15 @@ struct p2p_message {
const u8 *pbma_info;
size_t pbma_info_len;
const u8 *action_frame_wrapper;
size_t action_frame_wrapper_len;
const u8 *dira;
size_t dira_len;
const u8 *wlan_ap_info;
size_t wlan_ap_info_len;
};

View file

@ -437,6 +437,40 @@ static int p2p_parse_attribute(u8 id, const u8 *data, u16 len,
msg->pbma_info_len = len;
wpa_printf(MSG_DEBUG, "P2P: * PBMA (length=%u)", len);
break;
case P2P_ATTR_ACTION_FRAME_WRAPPER:
if (len < 2) {
wpa_printf(MSG_DEBUG,
"P2P: Too short Action Frame Wrapper attribute (length %d)",
len);
return -1;
}
msg->action_frame_wrapper = data;
msg->action_frame_wrapper_len = len;
wpa_printf(MSG_DEBUG, "P2P: * Action frame wrapper (length=%u)",
len);
break;
case P2P_ATTR_DEVICE_IDENTITY_RESOLUTION:
if (len < 1) {
wpa_printf(MSG_DEBUG, "P2P: Too short DIRA (length %d)",
len);
return -1;
}
msg->dira = data;
msg->dira_len = len;
wpa_printf(MSG_DEBUG, "P2P: * DIRA (length=%u)", len);
break;
case P2P_ATTR_WLAN_AP_INFORMATION:
/* One or more AP Info fields (each being 12 octets) is required
* to be included. */
if (len < 12) {
wpa_printf(MSG_DEBUG,
"P2P: Too short WLAN AP info (length %d)",
len);
return -1;
}
msg->wlan_ap_info = data;
msg->wlan_ap_info_len = len;
break;
default:
wpa_printf(MSG_DEBUG, "P2P: Skipped unknown attribute %d "
"(length %d)", id, len);