lede-packages-rs

git clone git://archive.git.mtrnord.blog/MTRNord/lede-packages-rs.git
Log | Files | Refs | README | LICENSE

chilli.init (2066B)


      1 #!/bin/sh /etc/rc.common
      2 
      3 START=30
      4 STOP=90
      5 
      6 config_cb() {
      7     chilli_inst=$2
      8     if [ "$chilli_inst" != "" ]
      9     then
     10        rm -f /var/run/chilli_${chilli_inst}.*
     11        chilli_conf=/var/run/chilli_${chilli_inst}.conf
     12        eval "start_chilli_$chilli_inst=1"
     13     fi
     14 }
     15 
     16 option_cb() {
     17     case "$1" in
     18         # UCI settings
     19        network)
     20            . /lib/functions/network.sh
     21            local ifname
     22            network_get_device ifname $2
     23            echo "dhcpif=\"$ifname\"" >> $chilli_conf
     24            ;;
     25        disabled)
     26            eval "start_chilli_$chilli_inst=0"
     27            ;;
     28         # boolean settings
     29        dhcpbroadcast|nodynip|vlanlocation|locationstopstart|locationcopycalled|locationimmediateupdate|locationopt82|coanoipcheck|noradallow|proxymacaccept|proxyonacct|dhcpmacset|dhcpradius|noc2c|eapolenable|uamanydns|uamanyip|uamnatanyip|nouamsuccess|nowispr1|nowispr2|domaindnslocal|radsec|macauth|macreauth|macauthdeny|macallowlocal|strictmacauth|strictdhcp|ieee8021q|only8021q|radiusoriginalurl|swapoctets|statusfilesave|wpaguests|openidauth|papalwaysok|mschapv2|chillixml|acctupdate|dnsparanoia|seskeepalive|usetap|noarpentries|framedservice|scalewin|redir|injectwispr|redirurl|routeonetone|nousergardendata|uamgardendata|uamotherdata|withunixipc|uamallowpost|redirssl|uamuissl|layer3|patricia|redirdnsreq|dhcpnotidle|ipv6|ipv6only)
     30            [ "$2" = "true" -o "$2" = "1" ] && echo "$1" >> $chilli_conf
     31            ;;
     32        *)
     33            echo "$1=\"$2\"" >> $chilli_conf
     34            ;;
     35     esac
     36 }
     37 
     38 start_chilli() {
     39     local cfg="$1"
     40     local start_chilli=$(eval "echo \$start_chilli_$cfg")
     41     [ "$start_chilli" = "0" ] && return
     42     local base=/var/run/chilli_${cfg}
     43     chilli -c ${base}.conf \
     44        --pidfile ${base}.pid \
     45        --cmdsocket ${base}.sock \
     46        --unixipc ${base}.ipc &
     47 }
     48 
     49 start() {
     50     config_load chilli
     51     config_foreach start_chilli chilli
     52 }
     53 
     54 stop() {
     55     ls /var/run/chilli*.pid 2>/dev/null && {
     56        kill $(cat /var/run/chilli*.pid)
     57        sleep 1
     58        killall -9 chilli
     59        rm -f /var/run/chilli*
     60     }
     61 }