diff --git a/feeds/ipq807x_v5.4/hostapd/files/mpskd b/feeds/ipq807x_v5.4/hostapd/files/mpskd index b66e1b40a..5164d7a2f 100644 --- a/feeds/ipq807x_v5.4/hostapd/files/mpskd +++ b/feeds/ipq807x_v5.4/hostapd/files/mpskd @@ -26,7 +26,8 @@ function event_cb_6g(req) { return 0; let ssid = iface.ssid; - if (!ssid || !length(ssids[ssid].keys)) + + if (!ssid || !ssids[ssid].mpsk) return 0; let ssid_cache = cache[ssid]; @@ -53,7 +54,7 @@ function event_cb(req) { return 0; let ssid = iface.ssid; - if (!ssid || !length(ssids[ssid].keys)) + if (!ssid || !ssids[ssid].mpsk) return 0; let ssid_cache = cache[ssid]; @@ -143,6 +144,7 @@ function netifd_reload() { push(ssid.interfaces, iface.ifname); ssid.bands[band] = iface.ifname; + ssid.mpsk = config.multi_psk; for (let sta in iface.stations) { let stacfg = sta.config; @@ -174,6 +176,20 @@ function iface_ssid(ifname) { return iface.ssid; } +function is_ssid_mpsk(ifname) { + let ssid = iface_ssid(ifname); + if (!ssid) + return false; + + if (!ssids[ssid]) + return false; + + if (!ssids[ssid]?.mpsk) + return false; + + return ssids[ssid].mpsk; +} + function sta_cache_entry_get(ssid, addr) { let ssid_cache = cache[ssid] ?? {}; @@ -292,6 +308,9 @@ function sta_auth_cache(ifname, addr, idx, phrase) { function auth_cb(msg) { let data = msg.data; + if (!is_ssid_mpsk(data.iface)) + return; + printf(`Event ${msg.type}: ${msg.data}\n`); switch (msg.type) { case 'sta_auth': diff --git a/feeds/qca-wifi-7/hostapd/files/mpskd b/feeds/qca-wifi-7/hostapd/files/mpskd index 2a0dd3118..2495fceb9 100644 --- a/feeds/qca-wifi-7/hostapd/files/mpskd +++ b/feeds/qca-wifi-7/hostapd/files/mpskd @@ -26,7 +26,8 @@ function event_cb_6g(req) { return 0; let ssid = iface.ssid; - if (!ssid || !length(ssids[ssid].keys)) + + if (!ssid || !ssids[ssid].mpsk) return 0; let ssid_cache = cache[ssid]; @@ -53,7 +54,7 @@ function event_cb(req) { return 0; let ssid = iface.ssid; - if (!ssid || !length(ssids[ssid].keys)) + if (!ssid || !ssids[ssid].mpsk) return 0; let ssid_cache = cache[ssid]; @@ -143,6 +144,7 @@ function netifd_reload() { push(ssid.interfaces, iface.ifname); ssid.bands[band] = iface.ifname; + ssid.mpsk = config.multi_psk; for (let sta in iface.stations) { let stacfg = sta.config; @@ -174,6 +176,20 @@ function iface_ssid(ifname) { return iface.ssid; } +function is_ssid_mpsk(ifname) { + let ssid = iface_ssid(ifname); + if (!ssid) + return false; + + if (!ssids[ssid]) + return false; + + if (!ssids[ssid]?.mpsk) + return false; + + return ssids[ssid].mpsk; +} + function sta_cache_entry_get(ssid, addr) { let ssid_cache = cache[ssid] ?? {}; @@ -292,6 +308,9 @@ function sta_auth_cache(ifname, addr, idx, phrase) { function auth_cb(msg) { let data = msg.data; + if (!is_ssid_mpsk(data.iface)) + return; + printf(`Event ${msg.type}: ${msg.data}\n`); switch (msg.type) { case 'sta_auth':