From c37e7009215ca74571ac1ae84af6119c7e56543b Mon Sep 17 00:00:00 2001 From: Denis Kenzior Date: Fri, 18 Sep 2015 17:16:09 -0500 Subject: [PATCH] wsc: Add wsc_uuid_from_addr --- src/wscutil.c | 11 +++++++++++ src/wscutil.h | 2 ++ 2 files changed, 13 insertions(+) diff --git a/src/wscutil.c b/src/wscutil.c index 0e6c77bd..50bfb6f6 100644 --- a/src/wscutil.c +++ b/src/wscutil.c @@ -1107,3 +1107,14 @@ done: ret = wsc_attr_builder_free(builder, false, out_len); return ret; } + +bool wsc_uuid_from_addr(const uint8_t addr[], uint8_t *out_uuid) +{ + /* Reuse the NSID from WPA Supplicant for compatibility */ + static const uint8_t nsid[] = { + 0x52, 0x64, 0x80, 0xf8, 0xc9, 0x9b, 0x4b, 0xe5, + 0xa6, 0x55, 0x58, 0xed, 0x5f, 0x5d, 0x60, 0x84, + }; + + return l_uuid_v5(nsid, addr, 6, out_uuid); +} diff --git a/src/wscutil.h b/src/wscutil.h index b437a332..020d5d08 100644 --- a/src/wscutil.h +++ b/src/wscutil.h @@ -389,3 +389,5 @@ int wsc_parse_probe_request(const unsigned char *pdu, unsigned int len, uint8_t *wsc_build_probe_request(const struct wsc_probe_request *probe_request, size_t *out_len); + +bool wsc_uuid_from_addr(const uint8_t addr[], uint8_t *out_uuid);