You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

75 lines
1.4 KiB

#!/bin/sh /etc/rc.common
START=61
STOP=00
USE_PROCD=1
PROG=/usr/sbin/kresd
CONFIGFILE=/tmp/kresd/kresd.config
ROOTKEYFILE=/etc/knot-resolver/root.keys
DEFAULT_RUNDIR=/tmp/kresd
USERNAME=kresd
GROUP=kresd
init_header() {
{
echo "--Automatically generated file; DO NOT EDIT"
echo "modules = {"
echo " 'hints > iterate'"
echo " , 'policy'"
if [ "$prefetch" \!= 0 ]; then
echo " , 'stats'"
echo " , predict = {"
echo " window = 30 -- 30 minutes sampling window"
echo " , period = 24*(60/30) -- track last 24 hours"
echo " }"
fi
echo "}"
echo "hints.use_nodata(true)"
} > $CONFIGFILE
}
init_rootkey() {
{
echo "trust_anchors.remove('.')"
echo "trust_anchors.add_file('$ROOTKEYFILE', true)"
} >> $CONFIGFILE
}
modify_rundir() {
local rundir
#create rundir
rundir="$DEFAULT_RUNDIR"
if [ ! -d "$rundir" ]; then
mkdir -p "$rundir"
fi
if id "$1" >/dev/null 2>&1; then
chown -R $USERNAME:$GROUP "$rundir"
fi
}
start_service() {
procd_open_instance
procd_set_param file /etc/config/resolver
procd_set_param command "$PROG"
procd_append_param command --noninteractive
procd_set_param respawn
modify_rundir
init_header
init_rootkey
# knot-resolver config
procd_append_param command -c "$CONFIGFILE"
procd_append_param command -a "0.0.0.0#53"
procd_append_param command -a "::0#53"
procd_close_instance
}
reload_service()
{
stop
start
}