33f6b5b0f5be2a3ceb220ba0219a95c7d426114f
[packages.git] / net / miniupnpd / files / miniupnpd.init
1 #!/bin/sh /etc/rc.common
2 START=95
3 start() {
4         config_load "upnpd"
5         include /lib/network
6         scan_interfaces
7         . /var/state/network
8         config_get ifname wan ifname
9         config_get ipaddr lan ipaddr
10         
11         echo "miniupnpd starting ..."
12         stop
13         iptables_init.sh
14         # get bitspeed information, if provided
15         config_get upnp_up_bitspeed config upload
16         config_get upnp_down_bitspeed config download
17         bitspeed_str=""
18         [ -n "$upnpd_up_bitspeed" ] && [ -n "$upnpd_down_bitspeed" ] && {
19                 # covert to bytespeed
20                 upnpd_up_bytespeed=$(($upnpd_up_bitspeed * 1024 / 8))
21                 upnpd_down_bytespeed=$(($upnpd_down_bitspeed * 1024 / 8))
22                 bitspeed_str="-B $upnpd_down_bytespeed $upnpd_up_bytespeed"
23         }
24         config_get log_output config log_output
25         if [ "$log_output" = "1" ]; then
26                 miniupnpd -i "$ifname" -a "$ipaddr" -p 5000 -U $bitspeed_str -d | logger -t miniupnpd &
27         else
28                 miniupnpd -i "$ifname" -a "$ipaddr" -p 5000 -U $bitspeed_str
29         fi
30 }
31
32 stop() {
33         pnpd_pid=$(cat /var/run/miniupnpd.pid) 2>&- >&-
34         iptables_flush.sh 2>&- >&-
35         kill $pnpd_pid 2>&-
36         iptables_removeall.sh 2>&- >&-
37 }