2015-04-28 14:34:51 +00:00
|
|
|
#!/sbin/openrc-run
|
2009-02-19 16:16:53 +00:00
|
|
|
# control n instances of dnscache, without daemontools
|
|
|
|
# written for alpine linux - NBA April 2007
|
|
|
|
|
|
|
|
# -- Statrup variables
|
|
|
|
ROOT=/etc/dnscache
|
|
|
|
DAEMON=/usr/bin/dnscache
|
2009-07-30 13:07:09 +00:00
|
|
|
PIDFILE=/var/run/dnscache.pid
|
2009-02-19 16:16:53 +00:00
|
|
|
|
2009-08-08 16:46:53 +00:00
|
|
|
depend() {
|
|
|
|
need net
|
2009-09-15 12:35:42 +00:00
|
|
|
after firewall
|
2009-08-09 13:25:04 +00:00
|
|
|
provide dns
|
2009-08-08 16:46:53 +00:00
|
|
|
}
|
2009-02-19 16:16:53 +00:00
|
|
|
|
|
|
|
#-----------------------------------------------------------------
|
|
|
|
# Main program
|
|
|
|
|
|
|
|
start() {
|
2010-04-19 11:24:45 +03:00
|
|
|
UID=$(id -u dnscache)
|
|
|
|
GID=$(id -g dnscache)
|
2009-02-19 16:16:53 +00:00
|
|
|
|
|
|
|
ebegin "Starting dnscache"
|
|
|
|
if [ -z "$UID" ] || [ -z "$GID" ]; then
|
|
|
|
eend 1 "dnscache user or group missing"
|
|
|
|
return 1
|
|
|
|
fi
|
2009-08-28 13:14:59 +04:00
|
|
|
|
|
|
|
OPTS=""
|
|
|
|
[ "$FORWARDONLY" ] && OPTS="$OPTS --env FORWARDONLY=$FORWARDONLY"
|
|
|
|
[ "$HIDETTL" ] && OPTS="$OPTS --env HIDETTL=$HIDETTL"
|
|
|
|
[ "$CACHESIZE" ] && OPTS="$OPTS --env CACHESIZE=$CACHESIZE"
|
2009-02-19 16:16:53 +00:00
|
|
|
|
2009-07-30 13:07:09 +00:00
|
|
|
start-stop-daemon --start --env "UID=$UID" --env "GID=$GID" \
|
|
|
|
--env "ROOT=$ROOT" --env "IP=$IP" --env "IPSEND=$IPSEND" \
|
2009-08-28 13:14:59 +04:00
|
|
|
$OPTS --pidfile $PIDFILE \
|
2009-08-09 13:25:04 +00:00
|
|
|
--background --make-pidfile --exec $DAEMON -- < /dev/urandom
|
2009-07-30 13:07:09 +00:00
|
|
|
eend $?
|
2009-02-19 16:16:53 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
stop() {
|
|
|
|
ebegin "Stopping dnscache"
|
2009-07-30 13:07:09 +00:00
|
|
|
start-stop-daemon --stop --pidfile $PIDFILE --exec $DAEMON
|
|
|
|
eend $?
|
2009-02-19 16:16:53 +00:00
|
|
|
}
|
|
|
|
|