aboutsummaryrefslogtreecommitdiff
path: root/init.d/seedrng.in
diff options
context:
space:
mode:
authorWilliam Hubbs <w.d.hubbs@gmail.com>2022-03-30 11:15:13 -0500
committerWilliam Hubbs <w.d.hubbs@gmail.com>2022-03-30 22:07:35 -0500
commit0fb11190fa5911f6f9c20c38e74a664826157a34 (patch)
tree29649ac0c1724e0cb7c9d9e823587fbd5798d55f /init.d/seedrng.in
parentdf18158e60dc6bfe9a77ac7d1b48417f808f5b11 (diff)
add seedrng service for Linux
This moves urandom to *bsd only and adds seedrng as a separate service for Linux. This fixes #510
Diffstat (limited to 'init.d/seedrng.in')
-rw-r--r--init.d/seedrng.in46
1 files changed, 46 insertions, 0 deletions
diff --git a/init.d/seedrng.in b/init.d/seedrng.in
new file mode 100644
index 00000000..25e9ad13
--- /dev/null
+++ b/init.d/seedrng.in
@@ -0,0 +1,46 @@
+#!@SBINDIR@/openrc-run
+# Copyright (c) 2007-2022 The OpenRC Authors.
+# See the Authors file at the top-level directory of this distribution and
+# https://github.com/OpenRC/openrc/blob/HEAD/AUTHORS
+#
+# This file is part of OpenRC. It is subject to the license terms in
+# the LICENSE file found in the top-level directory of this
+# distribution and at https://github.com/OpenRC/openrc/blob/HEAD/LICENSE
+# This file may not be copied, modified, propagated, or distributed
+# except according to the terms contained in the LICENSE file.
+
+description="Initializes the random number generator."
+
+depend()
+{
+ after clock
+ need localmount
+ keyword -docker -jail -lxc -openvz -prefix -systemd-nspawn
+ provide urandom
+}
+
+seedrng_options()
+{
+ [ -n "${lock_file}" ] &&
+ echo "--lock-file \"${lock_file}\""
+ [ -n "${seed_dir}" ] &&
+ echo "--seed-dir \"${seed_dir}\""
+ rc_yesno "${skip_credit}" &&
+ echo "--skip-credit"
+}
+
+start()
+{
+ ebegin "Seeding random number generator"
+ seedrng $(seedrng_options)
+ eend $? "Error seeding random number generator"
+ return 0
+}
+
+stop()
+{
+ ebegin "Saving random number generator seed"
+ seedrng $(seedrng_options)
+ eend $? "Error saving random number generator seed"
+ return 0
+}