summaryrefslogtreecommitdiffstats
path: root/meta/recipes-core/initscripts/initscripts-1.0/urandom
diff options
context:
space:
mode:
Diffstat (limited to 'meta/recipes-core/initscripts/initscripts-1.0/urandom')
-rwxr-xr-xmeta/recipes-core/initscripts/initscripts-1.0/urandom46
1 files changed, 46 insertions, 0 deletions
diff --git a/meta/recipes-core/initscripts/initscripts-1.0/urandom b/meta/recipes-core/initscripts/initscripts-1.0/urandom
new file mode 100755
index 0000000..eb3a7c3
--- /dev/null
+++ b/meta/recipes-core/initscripts/initscripts-1.0/urandom
@@ -0,0 +1,46 @@
1#!/bin/sh
2### BEGIN INIT INFO
3# Provides: urandom
4# Required-Start: $local_fs mountvirtfs
5# Required-Stop: $local_fs
6# Default-Start: S
7# Default-Stop: 0 6
8# Short-Description: Save and restore the random seed
9# Description: Save the random seed on shutdown and restore it on boot,
10# to ensure that the seed isn't predicable on startup
11# (because the boot process is predictable)
12### END INIT INFO
13
14test -c /dev/urandom || exit 0
15. /etc/default/rcS
16
17case "$1" in
18 start|"")
19 test "$VERBOSE" != no && echo "Initializing random number generator..."
20 # Load and then save 512 bytes,
21 # which is the size of the entropy pool
22 if test -f /var/lib/urandom/random-seed
23 then
24 cat /var/lib/urandom/random-seed >/dev/urandom
25 fi
26 rm -f /var/lib/urandom/random-seed
27 umask 077
28 dd if=/dev/urandom of=/var/lib/urandom/random-seed count=1 \
29 >/dev/null 2>&1 || echo "urandom start: failed."
30 umask 022
31 ;;
32 stop)
33 # Carry a random seed from shut-down to start-up;
34 # see documentation in linux/drivers/char/random.c
35 test "$VERBOSE" != no && echo "Saving random seed..."
36 umask 077
37 dd if=/dev/urandom of=/var/lib/urandom/random-seed count=1 \
38 >/dev/null 2>&1 || echo "urandom stop: failed."
39 ;;
40 *)
41 echo "Usage: urandom {start|stop}" >&2
42 exit 1
43 ;;
44esac
45
46exit 0