1 #!/bin/sh /etc/rc.common
2 # Copyright (C) 2007 OpenWrt.org
4 # version 20090401 jhalfmoon
7 PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
8 DAEMON=/usr/bin/tcpserver
10 DESC="Zone transfer name server"
15 if [ ! -e /etc/tinydns/data ] ; then
16 echo Error: Dependency tinydns not found.
21 echo "Starting $DESC: $NAME"
24 ln -sf /etc/tinydns/data $ROOT/data
27 chown -R $UID:$GID $ROOT
28 tcprules $ROOT/tcp.cdb $ROOT/tcp.cdb.tmp < /etc/axfrdns/tcp
29 config_foreach get_userids global
30 config_foreach start_daemon axfrdns
35 config_get UID "$cfg" runasuser
36 config_get GID "$cfg" runasgroup
43 config_get logging "$cfg" logging
44 config_get iface "$cfg" interface
45 config_get AXFR "$cfg" allowedzones
46 # Unset AXFR if it is empty
47 [ -z $AXFR ] && export -n AXFR
48 # Translate listening interfaces to ip addresses
51 config_get IP "$iface" ipaddr
53 if [ "$DEBUG" == 1 ] ; then
54 $DAEMON -vDRHl0 -c40 -b10 -x $ROOT/tcp.cdb -- $IP 53 $APP
55 elif [ "$logging" == '1' ] ; then
56 $DAEMON -vDRHl0 -c40 -b10 -x $ROOT/tcp.cdb -- $IP 53 $APP 2>&1 | logger -p local1.info -t $NAME &
58 $DAEMON -DRHl0 -c40 -b10 -x $ROOT/tcp.cdb -- $IP 53 $APP > /dev/null 2>&1 &
63 echo -n "Stopping $DESC: $NAME"
64 kill `pidof $NAME|sed "s/$$//g"` > /dev/null 2>&1
69 echo "Restarting $DESC: $NAME... "