If the initial attempt to write ${entropy_file} to /dev/random fails

and the randomdev.ko module is not resident, try to load the module and
perform the write again.

Reviewed by:	markm
This commit is contained in:
Sheldon Hearn 2000-07-24 13:40:41 +00:00
parent 899266e346
commit ae193fb45b
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=63793

12
etc/rc
View file

@ -138,9 +138,17 @@ case ${entropy_file} in
[Nn][Oo] | '')
;;
*)
if [ -f ${entropy_file} -a -r ${entropy_file} ]; then
if [ -f ${entropy_file} -a -r ${entropy_file} -a -w /dev/random ]; then
echo "Reading entropy file"
cat ${entropy_file} > /dev/random
if ! cat ${entropy_file} 2>/dev/null >/dev/random; then
if ! kldstat -n randomdev >/dev/null 2>&1; then
kldload randomdev && \
cat ${entropy_file} 2>/dev/null >/dev/random
fi
fi
if [ $? != 0 ]; then
echo "Writing entropy file to /dev/random failed"
fi
rm -f ${entropy_file}
fi
;;