From 651586e7153d217ab86301ea7dd34f98ebfcb8f9 Mon Sep 17 00:00:00 2001 From: sthen <> Date: Tue, 26 Nov 2013 13:01:30 +0000 Subject: [PATCH] update for NSD 4.0.0; generate keys for nsd-control if non-existent, and use nsd-control to signal NSD. --- src/etc/rc.d/nsd | 35 ++++++++++++++++++++++++++++------- 1 file changed, 28 insertions(+), 7 deletions(-) diff --git a/src/etc/rc.d/nsd b/src/etc/rc.d/nsd index 72dd1267..c426ad0d 100644 --- a/src/etc/rc.d/nsd +++ b/src/etc/rc.d/nsd @@ -1,22 +1,43 @@ #!/bin/sh # -# $OpenBSD: nsd,v 1.4 2012/08/04 15:28:39 ajacoutot Exp $ +# $OpenBSD: nsd,v 1.5 2013/11/26 13:01:30 sthen Exp $ -daemon="/usr/sbin/nsd" +daemon="/usr/sbin/nsd-control" +daemon_flags="-c /var/nsd/etc/nsd.conf" . /etc/rc.d/rc.subr -rc_reload=NO +pexp="nsd${daemon_flags:+ ${daemon_flags}}" rc_usercheck=NO -daemon_ctl="/usr/sbin/nsdc" +rc_pre() { + if ! [[ -f /var/nsd/etc/nsd_server.key || + -f /var/nsd/etc/nsd_server.pem || + -f /var/nsd/etc/nsd_control.key || + -f /var/nsd/etc/nsd_control.pem ]]; then + /usr/sbin/nsd-control-setup >/dev/null 2>&1 + fi +} -rc_stop() { - ${daemon_ctl} stop +rc_start() { + ${rcexec} "${daemon} ${daemon_flags} start" } rc_check() { - ${daemon_ctl} running + ${daemon} status +} + +rc_reload() { + ${daemon} reconfig && ${daemon} reload +} + +rc_stop() { + ${daemon} stop +} + +rc_post() { + sleep 1 + rc_do rc_check || exit 0 } rc_cmd $1