Merge remote-tracking branch 'origin/master' into aarch64
authorArne Fitzenreiter <arne_f@ipfire.org>
Mon, 2 Jul 2018 18:07:22 +0000 (19:07 +0100)
committerArne Fitzenreiter <arne_f@ipfire.org>
Mon, 2 Jul 2018 18:07:22 +0000 (19:07 +0100)
config/rootfiles/common/aarch64/initscripts
config/rootfiles/common/armv5tel/initscripts
config/rootfiles/common/i586/initscripts
config/rootfiles/common/x86_64/initscripts
config/rootfiles/core/122/filelists/files
config/rootfiles/core/122/update.sh
lfs/initscripts
src/initscripts/system/random

index 9e9e1a7..97ba5ad 100644 (file)
@@ -117,6 +117,7 @@ etc/rc.d/rc0.d/S80mountfs
 etc/rc.d/rc0.d/S90swap
 etc/rc.d/rc0.d/S99halt
 #etc/rc.d/rc3.d
+etc/rc.d/rc3.d/S00random
 etc/rc.d/rc3.d/S01vnstat
 etc/rc.d/rc3.d/S10sysklogd
 etc/rc.d/rc3.d/S11unbound
@@ -130,7 +131,6 @@ etc/rc.d/rc3.d/S19wlanclient
 etc/rc.d/rc3.d/S20network
 etc/rc.d/rc3.d/S21leds
 etc/rc.d/rc3.d/S24cyrus-sasl
-etc/rc.d/rc3.d/S25random
 etc/rc.d/rc3.d/S30sshd
 etc/rc.d/rc3.d/S32apache
 etc/rc.d/rc3.d/S40fcron
index 9e9e1a7..97ba5ad 100644 (file)
@@ -117,6 +117,7 @@ etc/rc.d/rc0.d/S80mountfs
 etc/rc.d/rc0.d/S90swap
 etc/rc.d/rc0.d/S99halt
 #etc/rc.d/rc3.d
+etc/rc.d/rc3.d/S00random
 etc/rc.d/rc3.d/S01vnstat
 etc/rc.d/rc3.d/S10sysklogd
 etc/rc.d/rc3.d/S11unbound
@@ -130,7 +131,6 @@ etc/rc.d/rc3.d/S19wlanclient
 etc/rc.d/rc3.d/S20network
 etc/rc.d/rc3.d/S21leds
 etc/rc.d/rc3.d/S24cyrus-sasl
-etc/rc.d/rc3.d/S25random
 etc/rc.d/rc3.d/S30sshd
 etc/rc.d/rc3.d/S32apache
 etc/rc.d/rc3.d/S40fcron
index cc0e458..ab8d4f1 100644 (file)
@@ -116,6 +116,7 @@ etc/rc.d/rc0.d/S80mountfs
 etc/rc.d/rc0.d/S90swap
 etc/rc.d/rc0.d/S99halt
 #etc/rc.d/rc3.d
+etc/rc.d/rc3.d/S00random
 etc/rc.d/rc3.d/S01vnstat
 etc/rc.d/rc3.d/S10sysklogd
 etc/rc.d/rc3.d/S12acpid
@@ -129,7 +130,6 @@ etc/rc.d/rc3.d/S20network
 etc/rc.d/rc3.d/S11unbound
 etc/rc.d/rc3.d/S21leds
 etc/rc.d/rc3.d/S24cyrus-sasl
-etc/rc.d/rc3.d/S25random
 etc/rc.d/rc3.d/S30sshd
 etc/rc.d/rc3.d/S32apache
 etc/rc.d/rc3.d/S40fcron
index cc0e458..ab8d4f1 100644 (file)
@@ -116,6 +116,7 @@ etc/rc.d/rc0.d/S80mountfs
 etc/rc.d/rc0.d/S90swap
 etc/rc.d/rc0.d/S99halt
 #etc/rc.d/rc3.d
+etc/rc.d/rc3.d/S00random
 etc/rc.d/rc3.d/S01vnstat
 etc/rc.d/rc3.d/S10sysklogd
 etc/rc.d/rc3.d/S12acpid
@@ -129,7 +130,6 @@ etc/rc.d/rc3.d/S20network
 etc/rc.d/rc3.d/S11unbound
 etc/rc.d/rc3.d/S21leds
 etc/rc.d/rc3.d/S24cyrus-sasl
-etc/rc.d/rc3.d/S25random
 etc/rc.d/rc3.d/S30sshd
 etc/rc.d/rc3.d/S32apache
 etc/rc.d/rc3.d/S40fcron
index f7c692d..d871459 100644 (file)
@@ -5,6 +5,7 @@ etc/rc.d/init.d/collectd
 etc/rc.d/init.d/firstsetup
 etc/rc.d/init.d/leds
 etc/rc.d/init.d/partresize
+etc/rc.d/init.d/random
 etc/rc.d/rc0.d/K87acpid
 etc/rc.d/rc3.d/S12acpid
 etc/rc.d/rc6.d/K87acpid
index 3e8cab6..bb38696 100644 (file)
@@ -117,6 +117,8 @@ if [ -e /boot/pakfire-kernel-update ]; then
        /boot/pakfire-kernel-update ${KVER}
 fi
 
+mv /etc/rc.d/rc3.d/S??random /etc/rc.d/rc3.d/S00random
+
 case "$(uname -m)" in
        i?86)
                # Force (re)install pae kernel if pae is supported
index 0d7f40c..8485406 100644 (file)
@@ -1,7 +1,7 @@
 ###############################################################################
 #                                                                             #
 # IPFire.org - A linux based firewall                                         #
-# Copyright (C) 2007-2016  IPFire Team  <info@ipfire.org>                     #
+# Copyright (C) 2007-2018  IPFire Team  <info@ipfire.org>                     #
 #                                                                             #
 # This program is free software: you can redistribute it and/or modify        #
 # it under the terms of the GNU General Public License as published by        #
@@ -16,7 +16,6 @@
 # You should have received a copy of the GNU General Public License           #
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.       #
 #                                                                             #
-###############################################################################
 
 ###############################################################################
 # Definitions
@@ -131,7 +130,7 @@ $(TARGET) :
        ln -sf ../init.d/unbound     /etc/rc.d/rc3.d/S11unbound
        ln -sf ../init.d/unbound     /etc/rc.d/rc6.d/K79unbound
        ln -sf ../init.d/random      /etc/rc.d/rc0.d/K45random
-       ln -sf ../init.d/random      /etc/rc.d/rc3.d/S25random
+       ln -sf ../init.d/random      /etc/rc.d/rc3.d/S00random
        ln -sf ../init.d/random      /etc/rc.d/rc6.d/K45random
        ln -sf ../../sysconfig/rc.local /etc/rc.d/rc3.d/S98rc.local
        ln -sf ../init.d/client175   /etc/rc.d/rc0.d/K34client175
index 57aef99..1f825cd 100644 (file)
@@ -1,28 +1,45 @@
 #!/bin/sh
-# Begin $rc_base/init.d/random
-
-# Based on sysklogd script from LFS-3.1 and earlier.
-# Rewritten by Gerard Beekmans  - gerard@linuxfromscratch.org
-# Random script elements by Larry Lawrence
-
 . /etc/sysconfig/rc
 . $rc_functions
 
+if [ -e /proc/sys/kernel/random/poolsize ]; then
+       poolsize=$(</proc/sys/kernel/random/poolsize);
+       poolsize=$(expr $poolsize / 8 );
+else
+       poolsize=512;
+fi
+
 case "$1" in
        start)
-               boot_mesg "Initializing kernel random number generator..."
+
+               #CRNG init need 128bit so wait until there is more)
+               avail=$(</proc/sys/kernel/random/entropy_avail)
+               while [ $avail -lt 130 ]; do
+                       avail=$(</proc/sys/kernel/random/entropy_avail)
+                       boot_mesg -n "\rWait for entropy: $avail/130   "
+                       # Generate some disc access to gather entropy
+                       echo  avail > /var/tmp/random-tmpfile
+                       sync
+                       rm -f /var/tmp/random-tmpfile
+               done;
+
+               boot_mesg "\rInitializing kernel random number generator..."
                if [ -f /var/tmp/random-seed ]; then
                        /bin/cat /var/tmp/random-seed >/dev/urandom
                fi
+               touch /var/tmp/random-seed
+               chmod 600 /var/tmp/random-seed
                /bin/dd if=/dev/urandom of=/var/tmp/random-seed \
-                       count=4 &>/dev/null
+                       count=1 bs=$poolsize &>/dev/null
                evaluate_retval
                ;;
 
        stop)
                boot_mesg "Saving random seed..."
+               touch /var/tmp/random-seed
+               chmod 600 /var/tmp/random-seed
                /bin/dd if=/dev/urandom of=/var/tmp/random-seed \
-                       count=4 &>/dev/null
+                       count=1 bs=$poolsize &>/dev/null
                evaluate_retval
                ;;