summaryrefslogtreecommitdiff
path: root/security/opendnssec
diff options
context:
space:
mode:
authorhe <he>2014-10-28 13:26:37 +0000
committerhe <he>2014-10-28 13:26:37 +0000
commit6d191ce54fa10abe0a6c9b36d610f5f76e5f3e28 (patch)
treed1093054470a74ec7995d0b08772a10345d45b4c /security/opendnssec
parent87185e4966c072e2a07037b7530b89451ec331bd (diff)
downloadpkgsrc-6d191ce54fa10abe0a6c9b36d610f5f76e5f3e28.tar.gz
Add an rc.d script for NetBSD.
Diffstat (limited to 'security/opendnssec')
-rw-r--r--security/opendnssec/Makefile6
-rwxr-xr-xsecurity/opendnssec/files/opendnssec.sh135
2 files changed, 139 insertions, 2 deletions
diff --git a/security/opendnssec/Makefile b/security/opendnssec/Makefile
index e4b324f1e0b..834a1c3ac74 100644
--- a/security/opendnssec/Makefile
+++ b/security/opendnssec/Makefile
@@ -1,8 +1,8 @@
-# $NetBSD: Makefile,v 1.45 2014/10/07 16:47:35 adam Exp $
+# $NetBSD: Makefile,v 1.46 2014/10/28 13:26:37 he Exp $
#
DISTNAME= opendnssec-1.4.6
-PKGREVISION= 1
+PKGREVISION= 2
CATEGORIES= security net
MASTER_SITES= http://www.opendnssec.org/files/source/
@@ -75,6 +75,8 @@ OWN_DIRS+= ${VARBASE}/opendnssec/signconf
OWN_DIRS+= ${VARBASE}/opendnssec/signed
OWN_DIRS+= ${VARBASE}/opendnssec/unsigned
+RCD_SCRIPTS= opendnssec
+
.include "options.mk"
pre-install:
diff --git a/security/opendnssec/files/opendnssec.sh b/security/opendnssec/files/opendnssec.sh
new file mode 100755
index 00000000000..369aab00b07
--- /dev/null
+++ b/security/opendnssec/files/opendnssec.sh
@@ -0,0 +1,135 @@
+#!/bin/sh
+#
+# $NetBSD: opendnssec.sh,v 1.1 2014/10/28 13:26:37 he Exp $
+#
+
+# PROVIDE: opendnssec
+# REQUIRE: NETWORKING mountcritremote syslogd
+# BEFORE: DAEMON
+
+$_rc_subr_loaded . /etc/rc.subr
+
+name="opendnssec"
+rcvar=$name
+
+start_cmd=ods_start
+stop_cmd=ods_stop
+restart_cmd=ods_restart
+status_cmd=ods_status
+poll_cmd=ods_poll
+
+enforcer_pidfile=/var/run/opendnssec/enforcerd.pid
+signerd_pidfile=/var/run/opendnssec/signerd.pid
+
+enforcer=/usr/pkg/sbin/ods-enforcerd
+signer=/usr/pkg/sbin/ods-signerd
+
+ods_control=/usr/pkg/sbin/ods-control
+
+# Gain PID related commands
+pidfile=$enforcer_pidfile
+procname=$enforcer
+
+ods_start () {
+
+ rv=0
+ if [ -f $enforcer_pidfile ]; then
+ ep=$(check_pidfile $enforcer_pidfile $enforcer)
+
+ if [ "$ep" != "" ]; then
+ echo 1>&2 "$enforcer already running (pid=$ep)"
+ rv=$(($rv + 1))
+ fi
+ fi
+
+ if [ -f $signerd_pidfile ]; then
+ sp=$(check_pidfile $signerd_pidfile $signer)
+ if [ "$sp" != "" ]; then
+ echo 1>&2 "$signer already running (pid=$sp)"
+ rv=$(($rv + 1))
+ fi
+ fi
+ if [ $rv != 0 ]; then
+ exit $rv
+ fi
+
+ $ods_control start
+}
+
+ods_stop () {
+
+ rv=0
+ pids=""
+ if [ -f $enforcer_pidfile ]; then
+ ep=$(check_pidfile $enforcer_pidfile $enforcer)
+ if [ "$ep" != "" ]; then
+ pids="$pids $ep"
+ else
+ echo 1>&2 \
+ "$enforcer not running (check $enforcer_pidfile)"
+ rv=$(($rv + 1))
+ fi
+ else
+ echo 1>&2 "$enforcer not running (no $enforcer_pidfile file)"
+ rv=$(($rv + 1))
+ fi
+ if [ -f $signerd_pidfile ]; then
+ sp=$(check_pidfile $signerd_pidfile $signer)
+ if [ "$sp" != "" ]; then
+ pids="$pids $sp"
+ else
+ echo 1>&2 "$signer not running (check $signerd_pidfile)"
+ rv=$(($rv + 1))
+ fi
+ else
+ echo 1>&2 "$signer not running (no $signerd_pidfile file)"
+ rv=$(($rv + 1))
+ fi
+ if [ $rv != 0 ]; then
+ exit $rv
+ fi
+
+ $ods_control stop
+
+ wait_for_pids $pids
+}
+
+ods_restart () {
+
+ ods_stop
+ ods_start
+}
+
+ods_status () {
+
+ ep=$(check_pidfile $enforcer_pidfile $enforcer)
+ sp=$(check_pidfile $signerd_pidfile $signer)
+
+ rv=0
+ if [ "$ep" != "" ]; then
+ echo "$enforcer running as PID $ep"
+ else
+ echo "$enforcer not running"
+ rv=$(($rv + 1))
+ fi
+ if [ "$sp" != "" ]; then
+ echo "$signer running as PID $sp"
+ else
+ echo "$signer not running"
+ rv=$(($rv + 1))
+ fi
+ return $rv
+}
+
+ods_poll () {
+
+ ep=$(check_pidfile $enforcer_pidfile $enforcer)
+ sp=$(check_pidfile $signerd_pidfile $signer)
+
+ if [ "$ep" != "" -o "$sp" != "" ]; then
+ wait_for_pids $ep $sp
+ fi
+}
+
+load_rc_config $name
+run_rc_command "$1"