svn commit: r273957 - in head: . etc/rc.d
Mark R V Murray
mark at grondar.org
Sun Nov 2 09:24:37 UTC 2014
Nice move, thanks! :-)
M
> On 2 Nov 2014, at 01:47, Dag-Erling Smørgrav <des at FreeBSD.org> wrote:
>
> Author: des
> Date: Sun Nov 2 01:47:27 2014
> New Revision: 273957
> URL: https://svnweb.freebsd.org/changeset/base/273957
>
> Log:
> Get rid of the postrandom script. It was born in a time when the
> random script ran before filesystems were mounted, which is no
> longer the case.
>
> In random_start(), immediately delete each file that is fed into
> /dev/random, and recreate the default entropy file immediately
> after reading and deleting it. The logic used in random_stop()
> to determine which file to write to should probably be factored
> out and used here as well.
>
> Deleted:
> head/etc/rc.d/postrandom
> Modified:
> head/ObsoleteFiles.inc
> head/etc/rc.d/Makefile
> head/etc/rc.d/adjkerntz
> head/etc/rc.d/random
>
> Modified: head/ObsoleteFiles.inc
> ==============================================================================
> --- head/ObsoleteFiles.inc Sun Nov 2 01:13:11 2014 (r273956)
> +++ head/ObsoleteFiles.inc Sun Nov 2 01:47:27 2014 (r273957)
> @@ -38,6 +38,8 @@
> # xargs -n1 | sort | uniq -d;
> # done
>
> +# 20141102: postrandom obsoleted by new /dev/random code
> +OLD_FILES+=etc/rc.d/postrandom
> # 20141031: initrandom obsoleted by new /dev/random code
> OLD_FILES+=etc/rc.d/initrandom
> # 20141028: debug files accidentally installed as directory name
>
> Modified: head/etc/rc.d/Makefile
> ==============================================================================
> --- head/etc/rc.d/Makefile Sun Nov 2 01:13:11 2014 (r273956)
> +++ head/etc/rc.d/Makefile Sun Nov 2 01:47:27 2014 (r273957)
> @@ -112,7 +112,6 @@ FILES= DAEMON \
> pf \
> pflog \
> pfsync \
> - postrandom \
> powerd \
> power_profile \
> ppp \
>
> Modified: head/etc/rc.d/adjkerntz
> ==============================================================================
> --- head/etc/rc.d/adjkerntz Sun Nov 2 01:13:11 2014 (r273956)
> +++ head/etc/rc.d/adjkerntz Sun Nov 2 01:47:27 2014 (r273957)
> @@ -4,7 +4,7 @@
> #
>
> # PROVIDE: adjkerntz
> -# REQUIRE: FILESYSTEMS postrandom
> +# REQUIRE: FILESYSTEMS
> # BEFORE: netif
> # KEYWORD: nojail
>
>
> Modified: head/etc/rc.d/random
> ==============================================================================
> --- head/etc/rc.d/random Sun Nov 2 01:13:11 2014 (r273956)
> +++ head/etc/rc.d/random Sun Nov 2 01:47:27 2014 (r273957)
> @@ -17,41 +17,58 @@ stop_cmd="random_stop"
> extra_commands="saveseed"
> saveseed_cmd="${name}_stop"
>
> +save_dev_random()
> +{
> + for f ; do
> + if :>>"$f" ; then
> + debug "saving entropy to $f"
> + dd if=/dev/random of="$f" bs=4096 count=1 2>/dev/null
> + fi
> + done
> +}
> +
> feed_dev_random()
> {
> - if [ -f "${1}" -a -r "${1}" -a -s "${1}" ]; then
> - cat "${1}" | dd of=/dev/random bs=8k 2>/dev/null
> - fi
> + for f ; do
> + if [ -f "$f" -a -r "$f" -a -s "$f" ] ; then
> + if dd if="$f" of=/dev/random bs=4096 2>/dev/null ; then
> + debug "entropy read from $f"
> + rm -f "$f"
> + fi
> + fi
> + done
> }
>
> random_start()
> {
> + echo -n 'Feeding entropy:'
> +
> + if [ ! -w /dev/random ] ; then
> + warn "/dev/random is not writeable"
> + return 1
> + fi
> +
> # Reseed /dev/random with previously stored entropy.
> - case ${entropy_dir} in
> + case ${entropy_dir:=/var/db/entropy} in
> [Nn][Oo])
> ;;
> *)
> - entropy_dir=${entropy_dir:-/var/db/entropy}
> - if [ -d "${entropy_dir}" ]; then
> - if [ -w /dev/random ]; then
> - for seedfile in ${entropy_dir}/*; do
> - feed_dev_random "${seedfile}"
> - done
> - fi
> + if [ -d "${entropy_dir}" ] ; then
> + feed_dev_random "${entropy_dir}"/*
> fi
> ;;
> esac
>
> - case ${entropy_file} in
> + case ${entropy_file:=/entropy} in
> [Nn][Oo] | '')
> ;;
> *)
> - if [ -w /dev/random ]; then
> - feed_dev_random "${entropy_file}"
> - feed_dev_random /var/db/entropy-file
> - fi
> + feed_dev_random "${entropy_file}" /var/db/entropy-file
> + save_dev_random "${entropy_file}"
> ;;
> esac
> +
> + echo '.'
> }
>
> random_stop()
> @@ -59,7 +76,7 @@ random_stop()
> # Write some entropy so when the machine reboots /dev/random
> # can be reseeded
> #
> - case ${entropy_file} in
> + case ${entropy_file:=/entropy} in
> [Nn][Oo] | '')
> ;;
> *)
>
--
Mark R V Murray
More information about the svn-src-all
mailing list