libfreefare: bumped version for 0.2.3 to 0.4.0
[packages.git] / net / djbdns / files / tinydns.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/tinydns
9 NAME=tinydns
10 DESC="Authoritative nameserver"
11
12 ROOT=/tmp/tinydns
13
14 start() {
15     echo "Starting $DESC: $NAME"
16     config_load djbdns
17     config_foreach get_userids global
18     mkdir -p $ROOT
19     ln -sf /etc/tinydns/data $ROOT/data
20     cd $ROOT
21     tinydns-data
22     chown -R $UID:$GID $ROOT
23     config_foreach start_daemon tinydns
24 }
25
26 get_userids() {
27     local cfg="$1"
28     config_get UID "$cfg" runasuser
29     config_get GID "$cfg" runasgroup
30     UID=`id -u $UID`
31     GID=`id -g $GID`
32 }
33
34 start_daemon() {
35     local cfg="$1"
36     config_get logging "$cfg" logging
37     config_get iface   "$cfg" interface
38 # Translate listening interfaces to ip addresses
39     . /lib/functions/network.sh
40     network_get_ipaddr IP "$iface"
41     export ROOT
42     if [ "$DEBUG" == 1 ] ; then
43         $DAEMON
44     elif [ "$logging" == '1' ] ; then
45         $DAEMON 2>&1 | logger -p local1.info -t $NAME &
46     else
47         $DAEMON > /dev/null 2>&1 &
48     fi
49 }
50
51 stop() {
52     echo -n "Stopping $DESC: $NAME"
53     kill `pidof $NAME|sed "s/$$//g"` > /dev/null 2>&1
54     echo " ."
55 }
56
57 restart() {
58     echo "Restarting $DESC: $NAME... "
59     stop
60     sleep 2
61     start
62 }
63