From ae193fb45bbce82c658be81ae133604cdd94178e Mon Sep 17 00:00:00 2001 From: Sheldon Hearn Date: Mon, 24 Jul 2000 13:40:41 +0000 Subject: 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 --- etc/rc | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/etc/rc b/etc/rc index 7b5b5f82b8cd..bea8bf400c0b 100644 --- a/etc/rc +++ b/etc/rc @@ -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 ;; -- cgit v1.3