P2P NFC: Add NDEF helpers for P2P connection handover messages
Signed-hostap: Jouni Malinen <jouni@qca.qualcomm.com>
This commit is contained in:
parent
9e323a24cd
commit
01afd8dbd7
2 changed files with 28 additions and 0 deletions
|
@ -30,6 +30,7 @@ struct ndef_record {
|
|||
};
|
||||
|
||||
static char wifi_handover_type[] = "application/vnd.wfa.wsc";
|
||||
static char p2p_handover_type[] = "application/vnd.wfa.p2p";
|
||||
|
||||
static int ndef_parse_record(const u8 *data, u32 size,
|
||||
struct ndef_record *record)
|
||||
|
@ -168,3 +169,28 @@ struct wpabuf * ndef_build_wifi(const struct wpabuf *buf)
|
|||
FLAG_TNF_RFC2046, wifi_handover_type,
|
||||
os_strlen(wifi_handover_type), NULL, 0, buf);
|
||||
}
|
||||
|
||||
|
||||
static int p2p_filter(struct ndef_record *record)
|
||||
{
|
||||
if (record->type_length != os_strlen(p2p_handover_type))
|
||||
return 0;
|
||||
if (os_memcmp(record->type, p2p_handover_type,
|
||||
os_strlen(p2p_handover_type)) != 0)
|
||||
return 0;
|
||||
return 1;
|
||||
}
|
||||
|
||||
|
||||
struct wpabuf * ndef_parse_p2p(const struct wpabuf *buf)
|
||||
{
|
||||
return ndef_parse_records(buf, p2p_filter);
|
||||
}
|
||||
|
||||
|
||||
struct wpabuf * ndef_build_p2p(const struct wpabuf *buf)
|
||||
{
|
||||
return ndef_build_record(FLAG_MESSAGE_BEGIN | FLAG_MESSAGE_END |
|
||||
FLAG_TNF_RFC2046, p2p_handover_type,
|
||||
os_strlen(p2p_handover_type), NULL, 0, buf);
|
||||
}
|
||||
|
|
|
@ -872,6 +872,8 @@ struct wpabuf * wps_build_nfc_handover_sel(struct wps_context *ctx,
|
|||
/* ndef.c */
|
||||
struct wpabuf * ndef_parse_wifi(const struct wpabuf *buf);
|
||||
struct wpabuf * ndef_build_wifi(const struct wpabuf *buf);
|
||||
struct wpabuf * ndef_parse_p2p(const struct wpabuf *buf);
|
||||
struct wpabuf * ndef_build_p2p(const struct wpabuf *buf);
|
||||
|
||||
#ifdef CONFIG_WPS_STRICT
|
||||
int wps_validate_beacon(const struct wpabuf *wps_ie);
|
||||
|
|
Loading…
Reference in a new issue