[packages] nufw: don't call autogen.sh
[openwrt/svn-archive/archive.git] / net / djbdns / files / rbldns.init
1 #!/bin/sh /etc/rc.common
2 # Copyright (C) 2007 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/rbldns
9 NAME=rbldns
10 DESC="Reverse DNS wall"
11
12 ROOT=/tmp/rbldns
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 ln -fs /etc/rbldns/data $ROOT/data
21 cd $ROOT
22 rbldns-data
23 chown -R $UID:$GID $ROOT
24 config_foreach start_daemon rbldns
25 }
26
27 get_userids() {
28 local cfg="$1"
29 config_get UID "$cfg" runasuser
30 config_get GID "$cfg" runasgroup
31 UID=`id -u $UID`
32 GID=`id -g $GID`
33 }
34
35 start_daemon() {
36 local cfg="$1"
37 config_get logging "$cfg" logging
38 config_get iface "$cfg" interface
39 config_get BASE "$cfg" base
40 # Unset BASE if it is empty
41 [ -z $BASE ] && export -n BASE
42 # Translate listening interfaces to ip addresses
43 include /lib/network
44 scan_interfaces
45 config_get IP "$iface" ipaddr
46 export ROOT
47 if [ "$DEBUG" == 1 ] ; then
48 $DAEMON
49 elif [ "$logging" == '1' ] ; then
50 $DAEMON 2>&1 | logger -p local1.info -t $NAME &
51 else
52 $DAEMON > /dev/null 2>&1 &
53 fi
54 }
55
56 stop() {
57 echo -n "Stopping $DESC: $NAME"
58 kill `pidof $NAME|sed "s/$$//g"` > /dev/null 2>&1
59 echo " ."
60 }
61
62 restart() {
63 echo "Restarting $DESC: $NAME... "
64 stop
65 sleep 2
66 start
67 }
68