From 0fb11190fa5911f6f9c20c38e74a664826157a34 Mon Sep 17 00:00:00 2001 From: William Hubbs Date: Wed, 30 Mar 2022 11:15:13 -0500 Subject: add seedrng service for Linux This moves urandom to *bsd only and adds seedrng as a separate service for Linux. This fixes #510 --- init.d/seedrng.in | 46 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 46 insertions(+) create mode 100644 init.d/seedrng.in (limited to 'init.d/seedrng.in') 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 +} -- cgit v1.2.3