]> git.ipfire.org Git - ipfire-2.x.git/commitdiff
rng-tools: New package.
authorMichael Tremer <michael.tremer@ipfire.org>
Wed, 29 Jan 2014 16:22:48 +0000 (17:22 +0100)
committerMichael Tremer <michael.tremer@ipfire.org>
Wed, 29 Jan 2014 16:22:48 +0000 (17:22 +0100)
The rng daemon will be installed by default and will
also be installed when a hardware random number generator
is found. It will then read random data from the hardware
random number generator and will feed it into the kernel's
entropy pool.

If no HW RNG is available, a warning will be printed
at boot time.

config/rootfiles/common/armv5tel/initscripts
config/rootfiles/common/i586/initscripts
config/rootfiles/common/rng-tools [new file with mode: 0644]
config/rootfiles/core/76/filelists/rng-tools [new symlink]
lfs/initscripts
lfs/rng-tools [new file with mode: 0644]
make.sh
src/initscripts/init.d/rngd [new file with mode: 0644]

index 1b8fbda0066c8d46c671191a7655812b98df472e..d25af188d0d26f66b09710528477d9b01a75e266 100644 (file)
@@ -225,6 +225,7 @@ etc/rc.d/rcsysinit.d/S75firstsetup
 etc/rc.d/rcsysinit.d/S80localnet
 etc/rc.d/rcsysinit.d/S90sysctl
 etc/rc.d/rcsysinit.d/S91network-vlans
+etc/rc.d/rcsysinit.d/S92rngd
 etc/rc.d/rc3.d/S15fireinfo
 #etc/sysconfig
 etc/sysconfig/createfiles
index ca47f807c6851f587a21d23d747aeb803aaf0808..3d82d4084653830431b10ff8fbc8e5442dd9146e 100644 (file)
@@ -232,6 +232,7 @@ etc/rc.d/rcsysinit.d/S75firstsetup
 etc/rc.d/rcsysinit.d/S80localnet
 etc/rc.d/rcsysinit.d/S90sysctl
 etc/rc.d/rcsysinit.d/S91network-vlans
+etc/rc.d/rcsysinit.d/S92rngd
 etc/rc.d/rc3.d/S15fireinfo
 #etc/sysconfig
 etc/sysconfig/createfiles
diff --git a/config/rootfiles/common/rng-tools b/config/rootfiles/common/rng-tools
new file mode 100644 (file)
index 0000000..596a911
--- /dev/null
@@ -0,0 +1,4 @@
+usr/bin/rngtest
+usr/sbin/rngd
+#usr/share/man/man1/rngtest.1
+#usr/share/man/man8/rngd.8
diff --git a/config/rootfiles/core/76/filelists/rng-tools b/config/rootfiles/core/76/filelists/rng-tools
new file mode 120000 (symlink)
index 0000000..a7853e4
--- /dev/null
@@ -0,0 +1 @@
+../../../common/rng-tools
\ No newline at end of file
index eae451b24ca912d1efe6490377942fcd67204a41..6968edef452e42653606d716335cef5538427458 100644 (file)
@@ -173,6 +173,7 @@ $(TARGET) :
        ln -sf ../init.d/localnet    /etc/rc.d/rcsysinit.d/S80localnet
        ln -sf ../init.d/sysctl      /etc/rc.d/rcsysinit.d/S90sysctl
        ln -sf ../init.d/network-vlans /etc/rc.d/rcsysinit.d/S91network-vlans
+       ln -sf ../init.d/rngd        /etc/rc.d/rcsysinit.d/S92rngd
        ln -sf ../init.d/wlanclient  /etc/rc.d/rc0.d/K82wlanclient
        ln -sf ../init.d/wlanclient  /etc/rc.d/rc3.d/S19wlanclient
        ln -sf ../init.d/wlanclient  /etc/rc.d/rc6.d/K82wlanclient
diff --git a/lfs/rng-tools b/lfs/rng-tools
new file mode 100644 (file)
index 0000000..8ca95cf
--- /dev/null
@@ -0,0 +1,77 @@
+###############################################################################
+#                                                                             #
+# IPFire.org - A linux based firewall                                         #
+# Copyright (C) 2007  Michael Tremer & Christian Schmidt                      #
+#                                                                             #
+# 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        #
+# the Free Software Foundation, either version 3 of the License, or           #
+# (at your option) any later version.                                         #
+#                                                                             #
+# This program is distributed in the hope that it will be useful,             #
+# but WITHOUT ANY WARRANTY; without even the implied warranty of              #
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the               #
+# GNU General Public License for more details.                                #
+#                                                                             #
+# 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
+###############################################################################
+
+include Config
+
+VER        = 4
+
+THISAPP    = rng-tools-$(VER)
+DL_FILE    = $(THISAPP).tar.gz
+DL_FROM    = $(URL_IPFIRE)
+DIR_APP    = $(DIR_SRC)/$(THISAPP)
+TARGET     = $(DIR_INFO)/$(THISAPP)
+
+###############################################################################
+# Top-level Rules
+###############################################################################
+
+objects = $(DL_FILE)
+
+$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
+
+$(DL_FILE)_MD5 = ae89dbfcf08bdfbea19066cfbf599127
+
+install : $(TARGET)
+
+check : $(patsubst %,$(DIR_CHK)/%,$(objects))
+
+download :$(patsubst %,$(DIR_DL)/%,$(objects))
+
+md5 : $(subst %,%_MD5,$(objects))
+
+###############################################################################
+# Downloading, checking, md5sum
+###############################################################################
+
+$(patsubst %,$(DIR_CHK)/%,$(objects)) :
+       @$(CHECK)
+
+$(patsubst %,$(DIR_DL)/%,$(objects)) :
+       @$(LOAD)
+
+$(subst %,%_MD5,$(objects)) :
+       @$(MD5)
+
+###############################################################################
+# Installation Details
+###############################################################################
+
+$(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
+       @$(PREBUILD)
+       @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar axf $(DIR_DL)/$(DL_FILE)
+       cd $(DIR_APP) && ./configure --prefix=/usr
+       cd $(DIR_APP) && make $(MAKETUNING) $(EXTRA_MAKE)
+       cd $(DIR_APP) && make $(EXTRA_INSTALL) install
+       @rm -rf $(DIR_APP)
+       @$(POSTBUILD)
diff --git a/make.sh b/make.sh
index cb047636f9e74f498ce3d0be1b074ff384e837a2..186e65f9a183f69b7be4df2e7c36bb25e9371995 100755 (executable)
--- a/make.sh
+++ b/make.sh
@@ -651,6 +651,7 @@ buildipfire() {
   ipfiremake sysstat
   ipfiremake vsftpd
   ipfiremake strongswan
+  ipfiremake rng-tools
   ipfiremake lsof
   ipfiremake br2684ctl
   ipfiremake pcmciautils
diff --git a/src/initscripts/init.d/rngd b/src/initscripts/init.d/rngd
new file mode 100644 (file)
index 0000000..cc1c10d
--- /dev/null
@@ -0,0 +1,47 @@
+#!/bin/sh
+########################################################################
+# Begin $rc_base/init.d/rngd
+#
+# Description : Random Number Generator Daemon
+#
+# Authors     : Michael Tremer <michael.tremer@ipfire.org>
+#
+########################################################################
+
+. /etc/sysconfig/rc
+. ${rc_functions}
+
+case "${1}" in
+       start)
+               if [ ! -e "/dev/hwrng" ]; then
+                       boot_mesg "No Hardware Random Number Generator found..." ${WARNING}
+                       echo_warning
+                       exit 0
+               fi
+
+               boot_mesg "Starting Random Number Generator Daemon..."
+               loadproc /usr/sbin/rngd
+               ;;
+
+       stop)
+               boot_mesg "Stopping Random Number Generator Daemon..."
+               killproc /usr/sbin/rngd
+               ;;
+
+       restart)
+               ${0} stop
+               sleep 1
+               ${0} start
+               ;;
+
+       status)
+               statusproc /usr/sbin/rngd
+               ;;
+
+       *)
+               echo "Usage: ${0} {start|stop|restart|status}"
+               exit 1
+               ;;
+esac
+
+# End $rc_base/init.d/rngd