Roaming previously used REASON_RSSI (5), which APs decode as Load
Balancing. Send Low RSSI (16) from RoamingApp and the example
without changing the public btm_query_reason enum.
test(wpa_supplicant): wait for the idle task after esp_wifi_deinit in eloop unit test
Closes IDFCI-11307 and IDFCI-12170
See merge request espressif/esp-idf!52111
The Wi-Fi task deletes itself when esp_wifi_deinit() is called, and FreeRTOS
only reclaims its TCB and stack from the idle task afterwards. Test apps that
read the heap right after deinit therefore see that memory as still allocated
and report a leak, most visibly as the eloop unit tests failing on ESP32.
Wait for the idle task at every point where a test deinitialises Wi-Fi
before a leak check, replacing the single-tick delays that only matched what
esp_wifi_deinit() already waits for internally.
Low-RSSI roaming used determine_best_ap(0), so a 1 dB better AP was
enough and nearby APs could ping-pong. Add ESP_WIFI_ROAMING_LOW_RSSI_ROAM_DIFF
(default 5 dB) as hysteresis for that path.
Accept spec-legal NAN availability time bitmaps (period > 512 TU,
bitmap length > 4, full 9-bit start offset) so iPhone secured NDP
setup is no longer rejected with NDL_UNACCEPTABLE.
Fixes NAN NDP interop with the iPhone 17 series.
1. Added validation for password and reserved data length in ESPTouch v2
2. Added bound check for data index in ESPTouch v1 HT40
3. prevent buffer overflow when parsing MBSSID beacon
- Set internal NAN params based on the user configurable Platform
- On a secured NDP the responder could not derive keys
(passphrase/credential mismatch); reject cleanly and
fire ndp_terminated/ndp_confirm(REJECTED) on every
teardown path so the host frees the NDP-ID.
- Tear down the old NDP when the same peer re-initiates with
a new M1, instead of rejecting and leaking the NDL.
- Commit 08e98f6f30 utilises CONFIG_LWIP_ND6_SUPPORT_STATIC_ENTRIES
for adding static entries.
- It moves netif calls that generate GOT IPv6 to NAN_STARTED default
handler without guard, but guards the removal in NDP Confirm handler
- Fix the possible duplicate calls by putting calls from NAN_STARTED
handler under CONFIG_LWIP_ND6_SUPPORT_STATIC_ENTRIES guard
- subscriber security gate, so a gated (dropped) match still logged an
affirmative match line while no WIFI_EVENT_NAN_SVC_MATCH was posted.
Log only when the event is sent.
- security_cfg was copied into the service slot even with security_reqd=0,
while credential validation only runs when security_reqd is set. Such an
undeclared config silently armed the subscriber service-match security
gate, suppressing match events. Scrub security_cfg from the working copy
and warn instead.
The six key-material hexdumps (ND-IGTK/BIGTK/TK/GTK and the peer IGTK/BIGTK)
kept a leftover '##' dev-grep marker on their tag string. Drop it; the
descriptive labels stay and the dumps remain at ESP_LOG_DEBUG.