mac80211: add default value for noscan
authorSebastian Kemper <sebastian_ml@gmx.net>
Sat, 23 Nov 2019 10:25:02 +0000 (11:25 +0100)
committerDaniel Golle <daniel@makrotopia.org>
Sat, 23 Nov 2019 10:30:34 +0000 (11:30 +0100)
Commit b3d8b3a introduced a new test:

[ -n "$noscan" -a "$noscan" -gt 0 ] && hostapd_noscan=1

But if length of "$noscan" is zero (noscan is not set) this doesn't stop
the shell to evaluate the rest of the test.

root@hank2:~# [ -n "$noscan" -a "$noscan" -gt 0 ]
ash: out of range
root@hank2:~#

So when radios are brought up this shows in the log:

Sat Nov 23 10:51:38 2019 daemon.info procd: - init complete -
Sat Nov 23 10:52:24 2019 daemon.notice netifd: radio1 (1243): sh: out of range
Sat Nov 23 10:52:25 2019 user.notice firewall: Reloading firewall due to ifup of wan (eth0.2)
Sat Nov 23 10:52:25 2019 daemon.notice netifd: radio0 (1242): sh: out of range
Sat Nov 23 10:52:26 2019 authpriv.info dropbear[1536]: Not backgrounding

This commit sets noscan to 0 if unset and removes the gratuitous length
check, preventing the warning.

Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
(cherry picked from commit 28d84331f4bba5923059e701f5d4878b2df3fa79)
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
package/kernel/mac80211/files/lib/netifd/wireless/mac80211.sh

index 6dc4e5b..fff9f0d 100644 (file)
@@ -100,7 +100,9 @@ mac80211_hostapd_setup_base() {
        json_get_vars noscan ht_coex
        json_get_values ht_capab_list ht_capab tx_burst
 
-       [ -n "$noscan" -a "$noscan" -gt 0 ] && hostapd_noscan=1
+       set_default noscan 0
+
+       [ "$noscan" -gt 0 ] && hostapd_noscan=1
        [ "$tx_burst" = 0 ] && tx_burst=
 
        ieee80211n=1