]>
Commit | Line | Data |
---|---|---|
54194ba4 MT |
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 |