Take into account hardware-supplied entropy. If the entropy source
is hardware, the Yarrow initialisations don't need to be done.
This commit is contained in:
parent
e7806b4c0e
commit
37c79b8006
@ -23,50 +23,57 @@ feed_dev_random()
|
||||
|
||||
initrandom_start()
|
||||
{
|
||||
soft_random_generator=`sysctl kern.random 2>/dev/null`
|
||||
|
||||
echo -n 'Entropy harvesting:'
|
||||
|
||||
if checkyesno harvest_interrupt; then
|
||||
if [ -w /dev/random ]; then
|
||||
${SYSCTL_W} kern.random.sys.harvest.interrupt=1 >/dev/null
|
||||
echo -n ' interrupts'
|
||||
fi
|
||||
fi
|
||||
if [ \! -z "${soft_random_generator}" ] ; then
|
||||
|
||||
if checkyesno harvest_ethernet; then
|
||||
if [ -w /dev/random ]; then
|
||||
${SYSCTL_W} kern.random.sys.harvest.ethernet=1 >/dev/null
|
||||
echo -n ' ethernet'
|
||||
if checkyesno harvest_interrupt; then
|
||||
if [ -w /dev/random ]; then
|
||||
${SYSCTL_W} kern.random.sys.harvest.interrupt=1 >/dev/null
|
||||
echo -n ' interrupts'
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
|
||||
if checkyesno harvest_p_to_p; then
|
||||
if [ -w /dev/random ]; then
|
||||
${SYSCTL_W} kern.random.sys.harvest.point_to_point=1 >/dev/null
|
||||
echo -n ' point_to_point'
|
||||
if checkyesno harvest_ethernet; then
|
||||
if [ -w /dev/random ]; then
|
||||
${SYSCTL_W} kern.random.sys.harvest.ethernet=1 >/dev/null
|
||||
echo -n ' ethernet'
|
||||
fi
|
||||
fi
|
||||
|
||||
if checkyesno harvest_p_to_p; then
|
||||
if [ -w /dev/random ]; then
|
||||
${SYSCTL_W} kern.random.sys.harvest.point_to_point=1 >/dev/null
|
||||
echo -n ' point_to_point'
|
||||
fi
|
||||
fi
|
||||
|
||||
# XXX temporary until we can improve the entropy
|
||||
# harvesting rate.
|
||||
# Entropy below is not great, but better than nothing.
|
||||
# This unblocks the generator at startup
|
||||
( ps -fauxww; sysctl -a; date; df -ib; dmesg; ps -fauxww; ) \
|
||||
| dd of=/dev/random bs=8k 2>/dev/null
|
||||
cat /bin/ls | dd of=/dev/random bs=8k 2>/dev/null
|
||||
|
||||
# First pass at reseeding /dev/random.
|
||||
#
|
||||
case ${entropy_file} in
|
||||
[Nn][Oo] | '')
|
||||
;;
|
||||
*)
|
||||
if [ -w /dev/random ]; then
|
||||
feed_dev_random "${entropy_file}"
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
|
||||
echo -n ' kickstart'
|
||||
fi
|
||||
|
||||
echo '.'
|
||||
|
||||
# First pass at reseeding /dev/random.
|
||||
#
|
||||
case ${entropy_file} in
|
||||
[Nn][Oo] | '')
|
||||
;;
|
||||
*)
|
||||
if [ -w /dev/random ]; then
|
||||
feed_dev_random "${entropy_file}"
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
|
||||
# XXX temporary until we can get the entropy
|
||||
# harvesting rate up
|
||||
# Entropy below is not great,
|
||||
# but better than nothing.
|
||||
( ps -fauxww; sysctl -a; date; df -ib; dmesg; ps -fauxww; ) \
|
||||
| dd of=/dev/random bs=8k 2>/dev/null
|
||||
cat /bin/ls | dd of=/dev/random bs=8k 2>/dev/null
|
||||
}
|
||||
|
||||
load_rc_config random
|
||||
|
Loading…
x
Reference in New Issue
Block a user