...
Code Block | ||||
---|---|---|---|---|
| ||||
#!/bin/sh /etc/rc.common START=30 STOP=90 config_cb() { chilli_inst=$2 if [ "$chilli_inst" != "" ] then rm -f /var/run/chilli_${chilli_inst}.* chilli_conf=/var/run/chilli_${chilli_inst}.conf eval "start_chilli_$chilli_inst=1" fi } option_cb() { case "$1" in # UCI settings network) . /lib/functions/network.sh local ifname network_get_device ifname $2 echo "dhcpif=\"$ifname\"" >> $chilli_conf ;; disabled) eval "start_chilli_$chilli_inst=0" ;; # boolean settings dhcpbroadcast|nodynip|vlanlocation|locationstopstart| locationcopycalled|locationimmediateupdate|locationopt82|mmapstring| coanoipcheck|noradallow|proxymacaccept|proxyonacct| dhcpmacset|dhcpradius|noc2c|eapolenable|nosystemdns| uamanydns|uamanyip|uamnatanyip|nouamsuccess|nowispr1|nowispr2| uamauthedallowed|domaindnslocal|radsec|macauth|macreauth| macauthdeny|macallowlocal|strictmacauth|strictdhcp|ieee8021q|only8021q| radiusoriginalurl|swapoctets|statusfilesave|postauthproxyssl|wpaguests| openidauth|papalwaysok|mschapv2|chillixml|acctupdate|dnsparanoia| seskeepalive|usetap|noarpentries|framedservice|scalewin|nochallenge| redir|injectwispr|redirurl|routeonetone|nousergardendata|uamgardendata| uamotherdata|uamallowpost|redirssl|uamuissl|layer3|patricia|redirdnsreq| dhcpnotidle|ipv6|ipv6only) [ "$2" = "true" -o "$2" = "1" ] && echo "$1" >> $chilli_conf ;; *) echo "$1=\"$2\"" >> $chilli_conf ;; esac } start_chilli() { local cfg="$1" local start_chilli=$(eval "echo \$start_chilli_$cfg") [ "$start_chilli" = "0" ] && return local base=/var/run/chilli_${cfg} chilli -c ${base}.conf \ --pidfile ${base}.pid \ --cmdsocket ${base}.sock \ --unixipc ${base}.ipc & } start() { config_load chilli config_foreach start_chilli chilli } stop() { for pID in $( pgrep chilli ) do kill $pID done rm -f /var/run/chilli* } |
...