coova-chilli: Fix unwanted startup of disabled instances
Code in option_cb was referencing $chilli_inst variable which was declared as local, thus the instance startup logic in start_chilli was referencing variable which would always get value of 1, effectively making `disabled` config option useless. So I've fixed it with simpler config_get_bool and while at it, I've simplified the surrounding code little bit as well. Signed-off-by: Petr Štetiar <ynezz@true.cz>
This commit is contained in:
parent
aa6dfc5978
commit
9d3a1a2a63
1 changed files with 9 additions and 14 deletions
|
@ -9,18 +9,15 @@ service_triggers() {
|
|||
}
|
||||
|
||||
config_cb() {
|
||||
local chilli_inst="$2"
|
||||
if [ "$chilli_inst" != "" ]; then
|
||||
chilli_conf="/var/run/chilli_${chilli_inst}.conf"
|
||||
if [ -e "$chilli_conf" ]; then
|
||||
rm -f "$chilli_conf"
|
||||
fi
|
||||
eval "start_chilli_$chilli_inst=1"
|
||||
fi
|
||||
chilli_conf="/var/run/chilli_${2}.conf"
|
||||
[ -e "$chilli_conf" ] && rm -f "$chilli_conf"
|
||||
}
|
||||
|
||||
option_cb() {
|
||||
case "$1" in
|
||||
# ignored/internal settings
|
||||
disabled)
|
||||
;;
|
||||
# UCI settings
|
||||
network)
|
||||
. /lib/functions/network.sh
|
||||
|
@ -28,9 +25,6 @@ option_cb() {
|
|||
network_get_device ifname "$2"
|
||||
echo "dhcpif=\"$ifname\"" >> "$chilli_conf"
|
||||
;;
|
||||
disabled)
|
||||
[ "$(config_get_bool "$1")" = "1" ] && eval "start_chilli_$chilli_inst=0"
|
||||
;;
|
||||
# boolean settings
|
||||
debug|dhcpbroadcast|nodynip|vlanlocation|locationstopstart|locationcopycalled|\
|
||||
locationimmediateupdate|locationopt82|coanoipcheck|noradallow|proxymacaccept|\
|
||||
|
@ -51,13 +45,14 @@ option_cb() {
|
|||
|
||||
start_chilli() {
|
||||
local cfg="$1"
|
||||
local start_chilli=$(eval "echo \$start_chilli_$cfg")
|
||||
[ "$start_chilli" = "0" ] && return
|
||||
local base="/var/run/chilli_${cfg}"
|
||||
|
||||
config_get_bool disabled "$1" 'disabled' 1
|
||||
[ $disabled = 1 ] && return
|
||||
|
||||
procd_open_instance "$cfg"
|
||||
procd_set_param command /usr/sbin/chilli
|
||||
procd_set_param file "${base}.conf"
|
||||
procd_set_param file "$chilli_conf"
|
||||
procd_append_param command \
|
||||
--fg \
|
||||
--conf "${base}.conf" \
|
||||
|
|
Loading…
Reference in a new issue