svn commit: r348122 - in head/libexec: rc/rc.d save-entropy

Conrad Meyer cem at FreeBSD.org
Wed May 22 21:47:19 UTC 2019


Author: cem
Date: Wed May 22 21:47:17 2019
New Revision: 348122
URL: https://svnweb.freebsd.org/changeset/base/348122

Log:
  save-entropy(8), rc.d/random: Set nodump flag
  
  Tag saved entropy files as "nodump," to signal that the files should not be
  backed up by dump(8) or other automated backup software that honors the file
  flag.
  
  Do not produce an error if the target file resides on a filesystem that does
  not support file flags (e.g., msdos /boot).
  
  Reviewed by:	delphij
  Sponsored by:	Dell EMC Isilon
  Differential Revision:	https://reviews.freebsd.org/D20358

Modified:
  head/libexec/rc/rc.d/random
  head/libexec/save-entropy/save-entropy.sh

Modified: head/libexec/rc/rc.d/random
==============================================================================
--- head/libexec/rc/rc.d/random	Wed May 22 21:20:15 2019	(r348121)
+++ head/libexec/rc/rc.d/random	Wed May 22 21:47:17 2019	(r348122)
@@ -25,6 +25,7 @@ save_dev_random()
 	for f ; do
 		debug "saving entropy to $f"
 		dd if=/dev/random of="$f" bs=4096 count=1 status=none &&
+			( chflags nodump "$f" 2>/dev/null || : ) &&
 			chmod 600 "$f" &&
 			fsync "$f" "$(dirname "$f")"
 	done
@@ -99,7 +100,7 @@ random_stop()
 	[Nn][Oo])
 		;;
 	*)
-		echo -n 'Writing entropy file:'
+		echo -n 'Writing entropy file: '
 		rm -f ${entropy_file} 2> /dev/null
 		oumask=`umask`
 		umask 077
@@ -118,12 +119,7 @@ random_stop()
 			warn 'write failed (read-only fs?)'
 			;;
 		*)
-			dd if=/dev/random of=${entropy_file_confirmed} \
-			    bs=4096 count=1 2> /dev/null ||
-			    warn 'write failed (unwriteable file or full fs?)'
-			fsync "${entropy_file_confirmed}" \
-			    "$(dirname "${entropy_file_confirmed}")" \
-			    2> /dev/null
+			save_dev_random "${entropy_file_confirmed}"
 			echo '.'
 			;;
 		esac
@@ -134,7 +130,7 @@ random_stop()
 	[Nn][Oo])
 		;;
 	*)
-		echo -n 'Writing early boot entropy file:'
+		echo -n 'Writing early boot entropy file: '
 		rm -f ${entropy_boot_file} 2> /dev/null
 		oumask=`umask`
 		umask 077
@@ -146,12 +142,7 @@ random_stop()
 			warn 'write failed (read-only fs?)'
 			;;
 		*)
-			dd if=/dev/random of=${entropy_boot_file_confirmed} \
-			    bs=4096 count=1 2> /dev/null ||
-			    warn 'write failed (unwriteable file or full fs?)'
-			fsync "${entropy_boot_file_confirmed}" \
-			    "$(dirname "${entropy_boot_file_confirmed}")" \
-			    2> /dev/null
+			save_dev_random "${entropy_boot_file_confirmed}"
 			echo '.'
 			;;
 		esac

Modified: head/libexec/save-entropy/save-entropy.sh
==============================================================================
--- head/libexec/save-entropy/save-entropy.sh	Wed May 22 21:20:15 2019	(r348121)
+++ head/libexec/save-entropy/save-entropy.sh	Wed May 22 21:47:17 2019	(r348122)
@@ -90,6 +90,7 @@ while [ ${n} -ge 1 ]; do
 done
 
 dd if=/dev/random of=saved-entropy.1 bs=${entropy_save_sz} count=1 2>/dev/null
+chflags nodump saved-entropy.1 2>/dev/null || :
 fsync saved-entropy.1 "."
 
 exit 0


More information about the svn-src-all mailing list