From: Johannes Berg Date: Wed, 19 Nov 2014 14:25:30 +0000 (+0100) Subject: support random for sched scan X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=099feb3655434d755f75a8f7653cc1be0960753b;p=thirdparty%2Fiw.git support random for sched scan Signed-off-by: Johannes Berg --- diff --git a/scan.c b/scan.c index d2077e3..891ec13 100644 --- a/scan.c +++ b/scan.c @@ -1834,6 +1834,7 @@ static int handle_start_sched_scan(struct nl80211_state *state, bool have_matches = false; size_t tmp; unsigned char *ies; + uint32_t flags = 0; if (argc < 1) return 1; @@ -1884,6 +1885,13 @@ static int handle_start_sched_scan(struct nl80211_state *state, parse = MATCH; have_matches = true; break; + } else if (strncmp(argv[i], "randomise", 9) == 0 || + strncmp(argv[i], "randomize", 9) == 0) { + flags |= NL80211_SCAN_FLAG_RANDOM_ADDR; + err = parse_random_mac_addr(msg, argv[i]); + if (err) + goto nla_put_failure; + break; } else if (strcmp(argv[i], "passive") == 0) { parse = DONE; passive = true; @@ -1944,6 +1952,9 @@ static int handle_start_sched_scan(struct nl80211_state *state, if (have_freqs) nla_put_nested(msg, NL80211_ATTR_SCAN_FREQUENCIES, freqs); + if (flags) + NLA_PUT_U32(msg, NL80211_ATTR_SCAN_FLAGS, flags); + err = 0; nla_put_failure: nlmsg_free(ssids);