summaryrefslogtreecommitdiffstats
path: root/source/a/haveged/rc.haveged
diff options
context:
space:
mode:
Diffstat (limited to 'source/a/haveged/rc.haveged')
-rw-r--r--source/a/haveged/rc.haveged46
1 files changed, 46 insertions, 0 deletions
diff --git a/source/a/haveged/rc.haveged b/source/a/haveged/rc.haveged
new file mode 100644
index 000000000..51d4f16b8
--- /dev/null
+++ b/source/a/haveged/rc.haveged
@@ -0,0 +1,46 @@
+#!/bin/sh
+# Start/stop/restart haveged.
+
+PIDFILE="/var/run/haveged.pid"
+HAVEGED_OPTS="-w 1024 -v 1 -p $PIDFILE"
+
+# Start haveged:
+haveged_start() {
+ if [ -f $PIDFILE ]; then
+ echo "haveged is already running as PID $(cat $PIDFILE) " >&2
+ exit 3
+ elif [ -x /sbin/haveged ]; then
+ echo "Starting haveged entropy daemon: /sbin/haveged"
+ /sbin/haveged $HAVEGED_OPTS
+ fi
+}
+
+# Stop haveged:
+haveged_stop() {
+ if [ -r $PIDFILE ]; then
+ echo "Stopping haveged."
+ kill $(cat $PIDFILE)
+ fi
+}
+
+# Restart haveged:
+haveged_restart() {
+ haveged_stop
+ sleep 1
+ haveged_start
+}
+
+case "$1" in
+'start')
+ haveged_start
+ ;;
+'stop')
+ haveged_stop
+ ;;
+'restart')
+ haveged_restart
+ ;;
+*)
+ echo "usage $0 start|stop|restart"
+ exit 2
+esac