]> git.ipfire.org Git - people/teissler/ipfire-2.x.git/blob - src/initscripts/init.d/miniupnpd
OpenVPN converter: Fix coding style and verbose output.
[people/teissler/ipfire-2.x.git] / src / initscripts / init.d / miniupnpd
1 #!/bin/sh
2 ########################################################################
3 # Begin $rc_base/init.d/miniupnpd
4 #
5 # Description : Miniupnp daemon
6 #
7 # Authors : Michael Tremer <michael.tremer@ipfire.org>
8 #
9 ########################################################################
10
11 . /etc/sysconfig/rc
12 . ${rc_functions}
13
14 if [ ! -e /etc/miniupnpd/id ]; then
15 uuidgen > /etc/miniupnpd/id
16 fi
17
18 UUID=$(cat /etc/miniupnpd/id)
19
20 EXT_DEV=$(cat /var/ipfire/red/iface)
21 EXT_IP4=$(cat /var/ipfire/red/local-ipaddress)
22
23 . /var/ipfire/ethernet/settings
24
25 for i in GREEN_ADDRESS BLUE_ADDRESS; do
26 [ -n "${!i}" ] && LISTEN_IP="${LISTEN_IP} -a ${!i}"
27 done
28
29 function flush_iptables() {
30 # Flush iptables to remove all entries that were left
31 iptables -F UPNPFW
32 iptables -t nat -F UPNPFW
33 }
34
35 case "${1}" in
36 start)
37 boot_mesg "Starting miniupnpd..."
38
39 flush_iptables
40
41 loadproc miniupnpd -f /etc/miniupnpd/miniupnpd.conf \
42 -i ${EXT_DEV} -o ${EXT_IP4} ${LISTEN_IP} \
43 -u ${UUID}
44 ;;
45
46 stop)
47 boot_mesg "Stopping miniupnpd..."
48 killproc miniupnpd
49
50 flush_iptables
51 ;;
52
53 restart)
54 ${0} stop
55 sleep 1
56 ${0} start
57 ;;
58
59 status)
60 statusproc miniupnpd
61 ;;
62
63 *)
64 echo "Usage: ${0} {start|stop|restart|status}"
65 exit 1
66 ;;
67 esac
68
69 # End $rc_base/init.d/miniupnpd