port lots of init scripts over to rc.common (more to come)
[packages.git] / net / reaim / files / reaim.init
index 93ceea3..8fe8c50 100644 (file)
@@ -1,62 +1,47 @@
-#! /bin/sh
+#!/bin/sh /etc/rc.common
+# Copyright (C) 2006 OpenWrt.org
 
 PATH=/sbin:/bin:/usr/sbin:/usr/bin
 NAME=reaim
 DESC="Transparent proxy for IM behind NAT"
-. /etc/functions.sh
-WAN=$(nvram get wan_ifname)
 IPT=/usr/sbin/iptables
-case "$1" in
-  start)
-        if [ -e /var/run/$NAME.pid ]; then
-                echo "$DESC: $NAME already started."
-                exit 0
-        fi
-        echo -n "Starting $DESC: $NAME"
-        $IPT -A input_rule -i $WAN -p tcp --dport 1863:1864 -j ACCEPT
-        $IPT -A input_rule -i $WAN -p tcp --dport 4443 -j ACCEPT
-        $IPT -A input_rule -i $WAN -p tcp --dport 5566 -j ACCEPT
-        $IPT -A input_rule -i $WAN -p tcp --dport 40000:40099 -j ACCEPT
 
-        test -e /var/run/$NAME.pid || touch /var/run/$NAME.pid
-        /usr/sbin/$NAME
-        echo "."
-        ;;
-
-  stop)
-        if [ ! -e /var/run/$NAME.pid ]; then
-                echo "$DESC: $NAME is not running."
-                exit 0
-        fi
-        echo -n "Stopping $DESC: $NAME"
-        killall $NAME
-        rm -f /var/run/$NAME.pid
-
-        echo "."
-        ;;
-
-  restart|force-reload)
-        if [ ! -e /var/run/$NAME.pid ]; then
-                $0 start
-                exit 0
-        fi
-        echo -n "Restarting $DESC: $NAME"
-        $IPT -A input_rule -i $WAN -p tcp --dport 1863:1864 -j ACCEPT
-        $IPT -A input_rule -i $WAN -p tcp --dport 4443 -j ACCEPT
-        $IPT -A input_rule -i $WAN -p tcp --dport 5566 -j ACCEPT
-        $IPT -A input_rule -i $WAN -p tcp --dport 40000:40099 -j ACCEPT
-        killall $NAME
-        sleep 1
-        /usr/sbin/$NAME
-        echo "."
-        ;;
-
-  *)
-        N=/etc/init.d/$NAME
-        echo "Usage: $N {start|stop|restart|force-reload}" >&2
-        exit 1
-        ;;
-
-esac
-
-exit 0
+include /lib/network
+scan_interfaces
+config_get WAN wan ifname
+
+set_rules() {
+       [ -z "$WAN" ] && exit
+       $IPT $1 input_rule -i $WAN -p tcp --dport 1863:1864 -j ACCEPT
+       $IPT $1 input_rule -i $WAN -p tcp --dport 4443 -j ACCEPT
+       $IPT $1 input_rule -i $WAN -p tcp --dport 5566 -j ACCEPT
+       $IPT $1 input_rule -i $WAN -p tcp --dport 40000:40099 -j ACCEPT
+}
+
+start() {
+       if [ -e /var/run/$NAME.pid ]; then
+               echo "$DESC: $NAME already started."
+               exit 0
+       fi
+       echo -n "Starting $DESC: $NAME"
+       
+       set_rules -A
+       test -e /var/run/$NAME.pid || touch /var/run/$NAME.pid
+       /usr/sbin/$NAME
+       echo "."
+}
+
+stop() {
+       set_rules -D 2>/dev/null >/dev/null
+       
+       if [ ! -e /var/run/$NAME.pid ]; then
+               echo "$DESC: $NAME is not running."
+               exit 0
+       fi
+       echo -n "Stopping $DESC: $NAME"
+
+       killall $NAME
+       rm -f /var/run/$NAME.pid
+
+       echo "."
+}