|
|
- #!/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
- }
|