#!/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_set_param nice '-5' procd_close_instance } reload_service() { stop start }