update miniupnpd to 20070112
[openwrt/svn-archive/archive.git] / net / miniupnpd / files / miniupnpd.init
index 6a2c0d15c4565ab0272c8d93d17a12f7579b9bfd..446a37cecbff775f069b12f072334a893fdd9006 100644 (file)
@@ -1,26 +1,36 @@
-#!/bin/sh
-upnpd_enabled=$(nvram get upnp_enabled)
-if [ "$upnpd_enabled" = "1" ]; then
+#!/bin/sh /etc/rc.common
+START=95
+start() {
+       config_load "upnpd"
+       include /lib/network
+       scan_interfaces
+       config_get ifname wan ifname
+       config_get ipaddr lan ipaddr
+       
        echo "miniupnpd starting ..."
        echo "miniupnpd starting ..."
-       iptables_flush.sh 2>&- >&-
-       killall miniupnpd 2>&-
-       iptables_removeall.sh 2>&- >&-
+       stop
        iptables_init.sh
        # get bitspeed information, if provided
        iptables_init.sh
        # get bitspeed information, if provided
-       upnpd_up_bitspeed=$(nvram get upnpd_up_bitspeed)
-       upnpd_down_bitspeed=$(nvram get upnpd_down_bitspeed)
+       config_get upnp_up_bitspeed config upload
+       config_get upnp_down_bitspeed config download
+       bitspeed_str=""
        [ -n "$upnpd_up_bitspeed" ] && [ -n "$upnpd_down_bitspeed" ] && {
                # covert to bytespeed
        [ -n "$upnpd_up_bitspeed" ] && [ -n "$upnpd_down_bitspeed" ] && {
                # covert to bytespeed
-               let upnpd_up_bytespeed=$upnpd_up_bitspeed*1024/8
-               let upnpd_down_bytespeed=$upnpd_down_bitspeed*1024/8
+               upnpd_up_bytespeed=$(($upnpd_up_bitspeed * 1024 / 8))
+               upnpd_down_bytespeed=$(($upnpd_down_bitspeed * 1024 / 8))
                bitspeed_str="-B $upnpd_down_bytespeed $upnpd_up_bytespeed"
        }
                bitspeed_str="-B $upnpd_down_bytespeed $upnpd_up_bytespeed"
        }
-       upnpd_log=$(nvram get upnpd_log_output)
-       if [ "$upnpd_log" = "1" ]; then
-               miniupnpd -i $(nvram get wan_ifname) -a $(nvram get lan_ipaddr) -p 5000 -U "$bitspeed_str" -d | logger -t miniupnpd &
+       config_get log_output config log_output
+       if [ "$log_output" = "1" ]; then
+               miniupnpd -i "$ifname" -a "$ipaddr" -p 5000 -U $bitspeed_str -d | logger -t miniupnpd &
        else
        else
-               miniupnpd -i $(nvram get wan_ifname) -a $(nvram get lan_ipaddr) -p 5000 -U "$bitspeed_str"
+               miniupnpd -i "$ifname" -a "$ipaddr" -p 5000 -U $bitspeed_str
        fi
        fi
-else
-       echo "miniupnpd service is disabled. Set nvram upnp_enabled to '1' to enable."
-fi
+}
+
+stop() {
+       pnpd_pid=$(cat /var/run/miniupnpd.pid) 2>&- >&-
+       iptables_flush.sh 2>&- >&-
+       kill $pnpd_pid 2>&-
+       iptables_removeall.sh 2>&- >&-
+}