Branch oldpackages for 14.07
[14.07/packages.git] / net / djbdns / files / walldns.init
1 #!/bin/sh /etc/rc.common
2 # Copyright (C) 2007-2012 OpenWrt.org
3 #
4 # version 20090401 jhalfmoon
5
6 START=46
7 PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
8 DAEMON=/usr/bin/walldns
9 NAME=walldns
10 DESC="Reverse DNS wall"
11
12 ROOT=/tmp/walldns
13
14 start() {
15     echo "Starting $DESC: $NAME"
16     config_load djbdns
17     config_foreach get_userids global
18     rm -rf $ROOT
19     mkdir -p $ROOT
20     chown -R $UID:$GID $ROOT
21     config_foreach start_daemon walldns
22 }
23
24 get_userids() {
25     local cfg="$1"
26     config_get UID "$cfg" runasuser
27     config_get GID "$cfg" runasgroup
28     UID=`id -u $UID`
29     GID=`id -g $GID`
30 }
31
32 start_daemon() {
33     local cfg="$1"
34     config_get logging "$cfg" logging
35     config_get iface   "$cfg" interface
36 # Translate listening interfaces to ip addresses
37     . /lib/functions/network.sh
38     network_get_ipaddr IP "$iface"
39     export ROOT
40     if [ "$DEBUG" == 1 ] ; then
41         $DAEMON
42     elif [ "$logging" == '1' ] ; then
43         $DAEMON 2>&1 | logger -p local1.info -t $NAME &
44     else
45         $DAEMON > /dev/null 2>&1 &
46     fi
47 }
48
49 stop() {
50     echo -n "Stopping $DESC: $NAME"
51     kill `pidof $NAME|sed "s/$$//g"` > /dev/null 2>&1
52     echo " ."
53 }
54
55 restart() {
56     echo "Restarting $DESC: $NAME... "
57     stop
58     sleep 2
59     start
60 }
61