config_add_int beacon_int chanbw frag rts
config_add_int rxantenna txantenna antenna_gain txpower distance
config_add_boolean noscan ht_coex
+ config_add_boolean proxy_arp disable_dgaf # Advanced options for Sentinel
config_add_array ht_capab
config_add_array channels
config_add_boolean \
[ "$auto_channel" -gt 0 ] && json_get_values channel_list channels
json_get_vars noscan ht_coex
+ json_get_vars proxy_arp disable_dgaf
json_get_values ht_capab_list ht_capab
+ # Option "option proxy_arp '<boolean 0/1>'"
+ set_default proxy_arp 0
+ append base_cfg "proxy_arp=$proxy_arp" "$N"
+
+ # Option "option disable_dgaf '<boolean 0/1>'"
+ set_default disable_dgaf 0
+ append base_cfg "disable_dgaf=$disable_dgaf" "$N"
+
ieee80211n=1
ht_capab=
case "$htmode" in
;;
psk)
json_get_vars key wpa_psk_file
- if [ ${#key} -lt 8 ]; then
- wireless_setup_vif_failed INVALID_WPA_PSK
- return 1
- elif [ ${#key} -eq 64 ]; then
- append bss_conf "wpa_psk=$key" "$N"
- else
- append bss_conf "wpa_passphrase=$key" "$N"
+ # -- SENTINEL CHANGE --
+ # We just check if the default key is defined.
+ # If it is undefined, the script will check if /etc/config/wireless
+ # specifies "option wpa_psk_file '<file_name>'"
+ # e.g. option wpa_psk_file '/etc/config/hostapd-psk'.
+ # When "option key '<key>'" is defined, together with
+ # "option wpa_psk_file '<file_name>'",
+ # it will be the default key for any devices.
+ # Both options can be defined independently.
+ if [ -e "$key" ]; then
+ if [ ${#key} -lt 8 ]; then
+ wireless_setup_vif_failed INVALID_WPA_PSK
+ return 1
+ elif [ ${#key} -eq 64 ]; then
+ append bss_conf "wpa_psk=$key" "$N"
+ else
+ append bss_conf "wpa_passphrase=$key" "$N"
+ fi
fi
[ -n "$wpa_psk_file" ] && {
[ -e "$wpa_psk_file" ] || touch "$wpa_psk_file"