commit haveged for openSUSE:Factory
![](https://seccdn.libravatar.org/avatar/e2145bc5cf53dda95c308a3c75e8fef3.jpg?s=120&d=mm&r=g)
Hello community, here is the log from the commit of package haveged for openSUSE:Factory checked in at 2014-01-07 13:54:24 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/haveged (Old) and /work/SRC/openSUSE:Factory/.haveged.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Package is "haveged" Changes: -------- --- /work/SRC/openSUSE:Factory/haveged/haveged.changes 2013-06-18 15:13:05.000000000 +0200 +++ /work/SRC/openSUSE:Factory/.haveged.new/haveged.changes 2014-01-07 13:54:25.000000000 +0100 @@ -1,0 +2,8 @@ +Mon Jan 6 10:28:03 UTC 2014 - mvyskocil@suse.com + +- update to 1.8 + * Fix return code for signalled termination. + * Update init.d/service.fedora - new return code + simple, not forking + * Add --enable_unitdir as DESTDIR for systemd install + +------------------------------------------------------------------- Old: ---- haveged-1.7c.tar.gz New: ---- haveged-1.8.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ haveged.spec ++++++ --- /var/tmp/diff_new_pack.89KnU0/_old 2014-01-07 13:54:25.000000000 +0100 +++ /var/tmp/diff_new_pack.89KnU0/_new 2014-01-07 13:54:25.000000000 +0100 @@ -1,7 +1,7 @@ # # spec file for package haveged # -# Copyright (c) 2013 SUSE LINUX Products GmbH, Nuernberg, Germany. +# Copyright (c) 2014 SUSE LINUX Products GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -17,7 +17,7 @@ Name: haveged -Version: 1.7c +Version: 1.8 Release: 0 Summary: Feed entropy into random pool License: GPL-3.0 ++++++ haveged-1.7c.tar.gz -> haveged-1.8.tar.gz ++++++ ++++ 8378 lines of diff (skipped) ++++ retrying with extended exclude list diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/haveged-1.7c/ChangeLog new/haveged-1.8/ChangeLog --- old/haveged-1.7c/ChangeLog 2013-06-08 15:37:00.000000000 +0200 +++ new/haveged-1.8/ChangeLog 2014-01-02 23:40:24.000000000 +0100 @@ -1,3 +1,8 @@ +v1.8 (Jan 02, 2014) + * Fix return code for signalled termination. + * Update init.d/service.fedora - new return code + simple, not forking + * Add --enable_unitdir as DESTDIR for systemd install + v1.7c (Jun 08, 2013) * Fix alignment fault on mips in havegetest.c, procedure B. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/haveged-1.7c/NEWS new/haveged-1.8/NEWS --- old/haveged-1.7c/NEWS 2013-06-08 15:33:39.000000000 +0200 +++ new/haveged-1.8/NEWS 2014-01-02 23:40:09.000000000 +0100 @@ -1,3 +1,8 @@ +v1.8 (Jan 02, 2014) + Fix return code for signalled termination. Update init.d/service.fedora to use new + return code and simple service type. Add --enable_unitdir as DESTDIR for systemd + install. Cleanup documentation and man file. + v1.7c (Jun 08, 2013) Additional fix for run-time test alignment problems on mips. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/haveged-1.7c/README new/haveged-1.8/README --- old/haveged-1.7c/README 2013-02-13 21:00:37.000000000 +0100 +++ new/haveged-1.8/README 2014-01-03 00:09:26.000000000 +0100 @@ -131,10 +131,11 @@ 2. --enable-daemon (default 'yes' if Linux) 3. --enable-diagnostic (default 'no') 4. --enable-init (type, default 'no') -5. --enable-nistest (default 'no' but recommended) -6. --enable-olt (default 'yes') -7. --enable-threads (experimental) -8. --enable-tune (default 'yes') +5. --enable-initdir (default '' unless enable--init="service.*") +6. --enable-nistest (default 'no' but recommended) +7. --enable-olt (default 'yes') +8. --enable-threads (experimental) +9. --enable-tune (default 'yes') Detailed option information is available by typing "./configure --help". For options xxx that take "yes/no" arguments, --disable-xxx may be used as the @@ -167,18 +168,20 @@ value can specify a template to be used in the installation of an init method by the build's install target. The default value, 'no', disables the feature. Other values can be used to install a traditional systemv init script or -systemd unit definition. In the latter case, pkg-config is required by the -install target. See INSTALLATION for details. +systemd unit definition. See INSTALLATION for details. + +The --enable-initdir is active only when --enable-init='service.*', i.e. a +systemd install. See INSTALLATION for details. The --enable-nistest option enables more thorough testing for the check target. -The build system provides to test mechanisms: +See CHECKING for details. The --enable-olt option is provided to suppress the entire online test facility. This option is provided for systems with a very limited resource budget and the -ability to thoroughly test the RNG output by other means. The online test system -tests the output of the haveged random number generator using AIS-31 test -procedures A and B. Either or both tests may be run as a total failure check (a -"tot" test) at initialization and/or continuously during all subsequent haveged +ability to thoroughly test the RNG output by other means. When enabled, the online +test system tests the output of the haveged random number generator using AIS-31 +test procedures A and B. Either or both tests may be run as a total failure check +(a "tot" test) at initialization and/or continuously during all subsequent haveged operation - See the man page and the description at http://www.issihosts.com/haveged/ais31.html for further information. @@ -195,6 +198,7 @@ is always conditional on host type and will not be present if the hardware architecture does not support the instruction. + CHECKING haveged The build check target provides two test procedures for the build. @@ -216,10 +220,12 @@ tests are performed in a typical run. The program provides as pass-fail indication with detailed results reported in the nist.out file in the nist directory. You will need sit down with SP800-*.pdf available from the - NIST to review the detailed results. + NIST to review the detailed results. AIS31 provides recomendations for the + NIST test suite as 'additional tests'. See testing documentation at + http://www.issihosts.com/haveged/ais31.html for further information. The "quick" test is always part of the check target. The NIST suite is run only -when --enable-nistest is 'yes'. +when --enable-nistest is 'yes'. Both checks function the same way, haveged is run to collect a sample file in the test directory which is then analyzed by the test program. A pass-fail return @@ -278,7 +284,7 @@ Output for r=1, v=1 displays build, tuning, and execution information: -haveged: ver: 1.7; arch: x86; vend: GenuineIntel, opts: (<opts>); collect: 128K +haveged: ver: 1.8; arch: x86; vend: GenuineIntel, opts: (<opts>); collect: 128K haveged: cpu: (<tune>);data: 32K (<tune>); inst: 32K (<tune>); idx: 19/40; sz: 32685/61064 haveged: tot tests: <spec>; continuous tests: <spec> haveged: fills: 0, generated: 0 @@ -316,11 +322,11 @@ The "-v" option also uses a bit mask to obtain additional diagnostic information -0x01 Adds build/tuning display -0x02 Show test details +0x01 Show build/tuning summary +0x02 Show online test results 0x04 Show timing for collections 0x08 Show collection loop characteristics -0x10 Show code offsets. +0x10 Show code offsets The "-w" option will set proc/sys/kernel/random/write_wakeup_threshold to the given value. This is useful because this threshold is very small on some systems. @@ -333,23 +339,34 @@ If the daemon interface is not enabled, the install places the executable in automake's bin_PROGRAMS directory and provides a man(8) page. A man(3) page -is provided for the libtool build It the daemon interface is enabled, the +is provided for the libtool build. If the daemon interface is enabled, the executable is installed in automake's sbin_PROGRAMS directory. -If the daemon interface is enabled, the enable-init setting provides a simple -template system is to setup the init method. If enable-init is set to none +If the daemon interface is enabled, the --enable-init setting provides a simple +template system to setup the init method. If --enable-init is set to none no action is taken. Otherwise, the template must reside in the init.d build directory and is selected by the setting. Template names "service.*" indicate that a systemd style init, while template names "sysv.*" are used for sysv style init scripts. +Sample sysv style templates are provided for linux standard base, sysv.lsb, +and redhat systems, sysv.redhat , such as centos which have not moved to +systemd style inits. + +For systemd style installs, --enable-initdir specifies the systemd unit +directory. If the setting is not specified (or is ''), the default value +is obtained from hosts pkg-config query for systemdsystemunitdir. Sample +systemd templates are provided for forking, service.forking, and non-forking, +service.fedora, configurations. The non-forking configuration is recomended +to avoid the overhead of PID file and minimize startup cost. + Examples: ./configure --enable-init=service.redhat ./configure --enable-init=sysv.lsb -The default setting is "none". Custom init scripts can be added as necessary -by adding templates to init.d. +Custom init scripts can be added as necessary by adding templates to the +init.d directory. A sample file, haveged.spec, is provided in the build root as a guide for those who want to build a rpm. As with init scripts, the sample may need diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/haveged-1.7c/configure.ac new/haveged-1.8/configure.ac --- old/haveged-1.7c/configure.ac 2013-06-08 15:30:23.000000000 +0200 +++ new/haveged-1.8/configure.ac 2014-01-02 18:17:53.000000000 +0100 @@ -3,7 +3,7 @@ ## Minimum Autoconf version AC_PREREQ([2.59]) -AC_INIT([haveged],[1.7c]) +AC_INIT([haveged],[1.8]) AC_CONFIG_AUX_DIR(config) AC_CONFIG_HEADER([config.h]) AM_INIT_AUTOMAKE @@ -22,13 +22,19 @@ ##libtool_end## ## Make clock_gettime configurable -AC_ARG_ENABLE(clock_gettime, AS_HELP_STRING([--enable-clock_gettime=[no/yes]],[Enable clock_gettime. [default=no]]),, enable_clock_gettime="no") +AC_ARG_ENABLE(clock_gettime, + AS_HELP_STRING([--enable-clock_gettime=[no/yes]],[Enable clock_gettime [default=no]]), + , enable_clock_gettime="no") ## Make build w/o daemon interface configurable -AC_ARG_ENABLE(daemon, AS_HELP_STRING([--enable-daemon=[yes/no]],[Enable daemon [default=yes if linux]]),, enable_daemon="x" ) +AC_ARG_ENABLE(daemon, + AS_HELP_STRING([--enable-daemon=[yes/no]],[Enable daemon [default=yes if linux]]), + , enable_daemon="x" ) ## Make diagnostic modes configurable -AC_ARG_ENABLE(diagnostic, AS_HELP_STRING([--enable-diagnostic=[no/capture/inject/yes]],[Enable diagnostic modes. [default=no]]),, enable_diagnostic="no") +AC_ARG_ENABLE(diagnostic, + AS_HELP_STRING([--enable-diagnostic=[no/capture/inject/yes]],[Enable diagnostic modes [default=no]]), + , enable_diagnostic="no") if test "x$enable_diagnostic" = "xyes"; then AC_DEFINE(RAW_OUT_ENABLE, 1, [Define to 1 for capture diagnostic]) AC_DEFINE(RAW_IN_ENABLE, 1, [Define to 1 for injection diagnostic]) @@ -42,19 +48,30 @@ fi ## Make init configurable -AC_ARG_ENABLE(init, AS_HELP_STRING([--enable-init=[type]],[Enable service.* or sysv.* template [default=no]]),, enable_init="no" ) +AC_ARG_ENABLE(init, + AS_HELP_STRING([--enable-init=[type]],[Enable service.* or sysv.* template [default=no]]), + , enable_init="no" ) +AC_ARG_ENABLE(initdir, + AS_HELP_STRING([--enable-initdir=DIR], [Directory for systemd service files [default=pkg-config var if init==service.*]]), + , enable_initdir="?") ## Make nist self-test configurable -AC_ARG_ENABLE(nistest, AS_HELP_STRING([--enable-nistest=[no/yes]],[Run NIST test suite [default=no]]),, enable_nistest="no") +AC_ARG_ENABLE(nistest, + AS_HELP_STRING([--enable-nistest=[no/yes]],[Run NIST test suite [default=no]]), + , enable_nistest="no") ## Make self test features configurable -AC_ARG_ENABLE(olt, AS_HELP_STRING([--enable-olt=[yes/no]],[Enable online tests [default=yes]]),, enable_olt="yes" ) +AC_ARG_ENABLE(olt, + AS_HELP_STRING([--enable-olt=[yes/no]],[Enable online tests [default=yes]]), + , enable_olt="yes" ) if test "x$enable_olt" = "xyes"; then AC_DEFINE(ONLINE_TESTS_ENABLE, 1, [Define to 1 for online test features]) fi ## Make multi-thread feature configurable -AC_ARG_ENABLE(threads, AS_HELP_STRING([--enable-threads=[no/yes]],[Enable threads [default=no]]),, enable_threads="no") +AC_ARG_ENABLE(threads, + AS_HELP_STRING([--enable-threads=[no/yes]],[Enable threads [default=no]]), + , enable_threads="no") if test "x$enable_threads" = "xyes"; then AC_DEFINE(NUMBER_CORES, 4, [Define maxium number of collection threads]) HA_LDFLAGS="-pthread" @@ -63,7 +80,9 @@ fi ## Make tuning features configurable -AC_ARG_ENABLE(tune, AS_HELP_STRING([--enable-tuning=[yes/cpuid/vfs/no]],[Enable tuning modes [default=yes]]),, enable_tune="yes" ) +AC_ARG_ENABLE(tune, + AS_HELP_STRING([--enable-tuning=[yes/cpuid/vfs/no]],[Enable tuning modes [default=yes]]), + , enable_tune="yes" ) if test "x$enable_tune" = "xyes"; then AC_DEFINE(TUNING_CPUID_ENABLE, 1, [Define to 1 for host tuning features]) AC_DEFINE(TUNING_VFS_ENABLE, 1, [Define to 1 for host tuning features]) @@ -193,14 +212,15 @@ ;; esac fi -## AC_DEFINE_UNQUOTED(DAEMON_TYPE,"$daemon_type",[daemon type]) ## Fixup install and test options -AC_SUBST(HA_DISTRO,$enable_init): +AC_SUBST(HA_DISTRO,$enable_init) +AC_SUBST(HA_UNITD,$enable_initdir) AM_CONDITIONAL(ENABLE_BIN, test "$daemon_type" = "none") AM_CONDITIONAL(ENABLE_SYSV, test "$init_type" = "sysv") AM_CONDITIONAL(ENABLE_SYSTEMD, test "$init_type" = "systemd") +AM_CONDITIONAL(ENABLE_SYSTEMD_LOOKUP, test "$enable_initdir" = "?") AM_CONDITIONAL(ENABLE_NOINIT, test "$init_type" = "none") AM_CONDITIONAL(ENABLE_ENT_TEST, test "yes" = "yes") AM_CONDITIONAL(ENABLE_NIST_TEST, test "$enable_nistest" = "yes") diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/haveged-1.7c/contrib/build/build.sh new/haveged-1.8/contrib/build/build.sh --- old/haveged-1.7c/contrib/build/build.sh 2013-01-15 15:31:53.000000000 +0100 +++ new/haveged-1.8/contrib/build/build.sh 2014-01-02 17:54:54.000000000 +0100 @@ -21,7 +21,7 @@ make distclean rm -rf autom4te.cache libtoolize --force --install - auotreconf --force + autoreconf --force ./configure ;; sample) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/haveged-1.7c/contrib/build/fedora.spec new/haveged-1.8/contrib/build/fedora.spec --- old/haveged-1.7c/contrib/build/fedora.spec 2013-06-08 15:29:44.000000000 +0200 +++ new/haveged-1.8/contrib/build/fedora.spec 2014-01-01 19:02:18.000000000 +0100 @@ -1,6 +1,6 @@ Summary: A Linux entropy source using the HAVEGE algorithm Name: haveged -Version: 1.7c +Version: 1.8 Release: 0%{?dist} License: GPLv3+ BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/haveged-1.7c/contrib/build/lib.spec new/haveged-1.8/contrib/build/lib.spec --- old/haveged-1.7c/contrib/build/lib.spec 2013-06-08 15:29:53.000000000 +0200 +++ new/haveged-1.8/contrib/build/lib.spec 2014-01-01 19:03:36.000000000 +0100 @@ -7,7 +7,7 @@ %define have_systemd 0 Name: haveged -Version: 1.7c +Version: 1.8 Release: 0 License: GPLv3 Group: System Environment/Daemons diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/haveged-1.7c/contrib/build/nolib.spec new/haveged-1.8/contrib/build/nolib.spec --- old/haveged-1.7c/contrib/build/nolib.spec 2013-06-08 15:30:01.000000000 +0200 +++ new/haveged-1.8/contrib/build/nolib.spec 2014-01-01 19:03:44.000000000 +0100 @@ -5,7 +5,7 @@ # package are under the same license as the package itself. # Name: haveged -Version: 1.7c +Version: 1.8 Release: 1 License: GPLv3 Group: System Environment/Daemons diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/haveged-1.7c/haveged.spec new/haveged-1.8/haveged.spec --- old/haveged-1.7c/haveged.spec 2013-06-08 15:41:52.000000000 +0200 +++ new/haveged-1.8/haveged.spec 2014-01-01 19:16:43.000000000 +0100 @@ -7,7 +7,7 @@ %define have_systemd 0 Name: haveged -Version: 1.7c +Version: 1.8 Release: 0 License: GPLv3 Group: System Environment/Daemons diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/haveged-1.7c/init.d/Makefile.am new/haveged-1.8/init.d/Makefile.am --- old/haveged-1.7c/init.d/Makefile.am 2013-02-14 17:30:46.000000000 +0100 +++ new/haveged-1.8/init.d/Makefile.am 2014-01-02 18:55:53.000000000 +0100 @@ -1,6 +1,6 @@ ## Process this file with automake to produce Makefile.in. -EXTRA_DIST = service.fedora service.redhat sysv.lsb sysv.redhat +EXTRA_DIST = service.fedora service.forking service.redhat sysv.lsb sysv.redhat MAINTAINERCLEANFILES = Makefile.in @@ -8,9 +8,16 @@ do_subst = sed -e 's,[@]SBIN_DIR[@],$(sbindir),g' src_tmpl = @HA_DISTRO@ +unit_dir = @HA_UNITD@ + +if ENABLE_NOINIT +## user will install manually. +install-exec-hook: + @echo "no init script installed"; +endif if ENABLE_SYSV -## legacy init script from template +## legacy init script - installation via automake defaults initdir = $(sysconfdir)/init.d init_SCRIPTS = haveged @@ -21,20 +28,17 @@ endif if ENABLE_SYSTEMD +## systemd script - lookup unitdir if not specified install-exec-hook: $(do_subst) < $(srcdir)/$(src_tmpl) > haveged.service; -endif - install-data-hook: -if ENABLE_SYSTEMD -## new style init - requires pkg-config. +if ENABLE_SYSTEMD_LOOKUP install -p -m644 haveged.service `pkg-config --variable=systemdsystemunitdir systemd`/haveged.service; -## systemctl enable haveged.service; - +else + install -p -m644 haveged.service ($unit_dir)/haveged.service; endif -if ENABLE_NOINIT -## user will install if necessary. - @echo "no init script installed"; + systemctl enable haveged.service; + endif diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/haveged-1.7c/init.d/service.fedora new/haveged-1.8/init.d/service.fedora --- old/haveged-1.7c/init.d/service.fedora 2013-01-13 16:58:24.000000000 +0100 +++ new/haveged-1.8/init.d/service.fedora 2014-01-02 17:41:45.000000000 +0100 @@ -3,9 +3,9 @@ Documentation=man:haveged(8) http://www.issihosts.com/haveged/ [Service] -Type=forking -PIDFile=/run/haveged.pid -ExecStart=/usr/sbin/haveged -w 1024 -v 1 -p /run/haveged.pid +Type=simple +ExecStart=@SBIN_DIR@/haveged -w 1024 -v 1 --Foreground +SuccessExitStatus=143 [Install] WantedBy=multi-user.target diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/haveged-1.7c/init.d/service.forking new/haveged-1.8/init.d/service.forking --- old/haveged-1.7c/init.d/service.forking 1970-01-01 01:00:00.000000000 +0100 +++ new/haveged-1.8/init.d/service.forking 2014-01-02 17:41:53.000000000 +0100 @@ -0,0 +1,11 @@ +[Unit] +Description=Entropy Daemon based on the HAVEGE algorithm +Documentation=man:haveged(8) http://www.issihosts.com/haveged/ + +[Service] +Type=forking +PIDFile=/run/haveged.pid +ExecStart=@SBIN_DIR@/haveged -w 1024 -v 1 -p /run/haveged.pid + +[Install] +WantedBy=multi-user.target diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/haveged-1.7c/man/haveged.8 new/haveged-1.8/man/haveged.8 --- old/haveged-1.7c/man/haveged.8 2013-01-15 15:01:54.000000000 +0100 +++ new/haveged-1.8/man/haveged.8 2014-01-02 17:08:44.000000000 +0100 @@ -1,4 +1,4 @@ -.TH haveged 8 "January 15, 2013" "version 1.7" "SYSTEM ADMINISTRATION COMMANDS" +.TH haveged 8 "January 03, 2014" "version 1.8" "SYSTEM ADMINISTRATION COMMANDS" .SH NAME haveged \- Generate random numbers and feed linux random device. .SH SYNOPSIS @@ -7,15 +7,14 @@ The HAVEGE (HArdware Volatile Entropy Gathering and Expansion) algorithm harvests the indirect effects of hardware events on hidden processor state (caches, branch predictors, memory translation tables, etc) to generate a random sequence. -The effects of interrupt service on processor state are visible from -user land as timing variations in program execution speed. Using a branch-rich -calculation that fills the processor instruction and data cache, a high resolution -timer source such as the processor time stamp counter can generate a random sequence -even on an "idle" system. +These effects are visible from user land as timing variations in program execution +speed. Using a branch-rich calculation that fills the processor instruction and data +caches, a high resolution timer source such as the processor time stamp counter +can generate a random sequence even on an "idle" system. In Linux, the hardware events that are the ultimate source of any random number sequence are pooled for distribution by the /dev/random and /dev/urandom device -interface. The standard mechanism of harvesting randomness for the pool +interfaces. The standard mechanism of harvesting randomness for the pool may not be sufficient to meet demand, especially on those systems with high needs or limited user interaction. Haveged provides a daemon to fill /dev/random whenever the supply of random bits in /dev/random falls below the low water mark @@ -25,7 +24,7 @@ that is also useful in other circumstances where access to the dev/random interface is either not available or inappropriate. -The size of the processor level 1 instruction and data caches are used to tune +The sizes of the processor level 1 instruction and data caches are used to tune the HAVEGE algorithm for maximum sensitivity. The sizes of these caches may be input directly on the command line. For sizes not specified, haveged will attempt to determine the sizes dynamically from the Linux sysfs and/or cpuid instruction with a fallback @@ -45,7 +44,7 @@ it ideal for continuous use but test5 is several orders of magnitude slower than any other individual AIS test. As an alternative for those who cannot tolerate this load, procedure A variants A<n> are provided that execute all included tests -but executes test5 only every 2^n repetitions. +but execute test5 only every 2^n repetitions. Procedure B contains 3 tests, 'test6', 'test7', 'test8'. Because first two tests check the distribution of disjoint bit sequences, the input size for the test @@ -71,8 +70,7 @@ use '-' for stdout. .TP -F , --Foreground -Run daemon in foreground. Do not fork and detach, -use '-' for stdout. +Run daemon in foreground. Do not fork and detach. .TP -i nnn, --inst=nnn Set instruction cache size to nnn KB. Default is 16 or as determined dynamically. @@ -80,7 +78,9 @@ -n nnn, --number=nnn Set number of bytes written to the output file. The value may be specified using one of the suffixes k, m, g, or t. The upper bound of this value is "16t" (2^44 Bytes = 16TB). -A value of 0 indicates unbounded output and forces output to stdout. +A value of 0 indicates unbounded output and forces output to stdout. This argument is +required if the daemon interface is not present. If the daemon interface is present, this +setting takes precedence over any --run value. .TP -o <spec>, --onlinetest=<spec> Specify online tests to run. The <spec> consists of optional 't'ot and 'c'ontinuous @@ -92,30 +92,39 @@ For example, the string "tbca8b" is suitable for an AIS NTG.1 device (use procedure B for the "tot" test, then cycle between procedure A8 and procedure B continuously for -all further output). The default is "tb". Resources are allocated only for tests used, -in minimal resource situations, "tc" can be used to disable all testing and avoid -all test resource allocations. +all further output). Resources are allocated only for tests used, in minimal resource +situations, "tc" can be used to disable all testing and avoid all test resource allocations. .TP -p file, --pidfile=file Set file path for the daemon pid file. Default is "/var/run/haveged.pid", .TP -r n, --run=n Set run level for daemon interface: -.RS -.P + n = 0 Run as daemon - must be root. Fills /dev/random when the supply of random bits - falls below the low water mark of the device. This argument is required if the - daemon interface is not present. If the daemon interface is present, this takes - precedence over any -r value. -.P + falls below the low water mark of the device. + n = 1 Display configuration info and terminate. -.P -n > 1 Write <n> kb of output. Deprecated (use -n instead), only provided for backward + +n > 1 Write <n> kb of output. Deprecated (use --number instead), only provided for backward compatibility. -.RE + +If --number is specified, values other than 0,1 are ignored. Default is 0. .TP -v n, --verbose=n -Set output level 0=minimal, 1=config/fill items, use -1 for all diagnostics. +Set diagnostic bitmap as sum of following options: + +1=Show build/tuning summary + +2=Show online test results + +4=Show collection timing details + +8=Show collection loop layout + +16=Show collection loop code offsets + +Default is 0. Use -1 for all diagnostics. .TP -w nnn, --write=nnn Set write_wakeup_threshold of daemon interface to nnn bits. Applies only to run level 0. @@ -124,9 +133,11 @@ This summary of program options. .SH DIAGNOSTICS -The following diagnostics may be issued to stderr upon termination: +Haveged returns 0 for success and non-zero for failure. The failure return code is 1 +"general failure" unless execution is terminated by signal <n>, in which case +the return code will be 128 + <n>. The following diagnostics are issued to stderr +upon non-zero termination: -.RE Cannot fork into the background .RS Call to daemon(3) failed. @@ -192,9 +203,9 @@ Call to select(2) failed. .RE -Stopping due to signal +Stopping due to signal <n> .RS -Signal caught +Signal <n> caught. .RE Unable to setup online tests diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/haveged-1.7c/src/haveged.c new/haveged-1.8/src/haveged.c --- old/haveged-1.7c/src/haveged.c 2013-01-12 19:20:04.000000000 +0100 +++ new/haveged-1.8/src/haveged.c 2014-01-02 17:16:55.000000000 +0100 @@ -42,6 +42,7 @@ */ static struct pparams defaults = { .daemon = PACKAGE, + .exit_code = 1, .setup = 0, .ncores = 0, .buffersz = 0, @@ -301,7 +302,7 @@ params->run_level/sizeof(H_UINT), (params->run_level%sizeof(H_UINT))*1024 ); - else if (params->run_level==1 || 0 != (params->verbose & 1)) + else if (params->run_level==1 || 0 != (params->verbose & H_VERBOSE)) anchor_info(handle); else usage(nopts, long_options, cmds); } @@ -377,7 +378,7 @@ else printf ("%s starting up\n", params->daemon); if (0 != havege_run(h)) error_exit("Couldn't initialize HAVEGE rng %d", h->error); - if (params->verbose & H_VERBOSE) + if (0 != (params->verbose & H_VERBOSE)) anchor_info(h); if (params->low_water>0) set_watermark(params->low_water); @@ -465,7 +466,7 @@ #endif fprintf(stderr, "%s %s\n", params->daemon, buffer); havege_destroy(handle); - exit(1); + exit(params->exit_code); } /** * Implement fixed point shorthand for run sizes @@ -611,7 +612,7 @@ error_exit("Cannot write data in file: %s", strerror(errno)); } fclose(fout); - if (params->verbose & H_VERBOSE) + if (0 != (params->verbose & H_VERBOSE)) anchor_info(h); } /** @@ -642,6 +643,7 @@ static void tidy_exit( /* OUT: nothing */ int signum) /* IN: signal number */ { + params->exit_code = 128 + signum; error_exit("Stopping due to signal %d\n", signum); } /** diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/haveged-1.7c/src/haveged.h new/haveged-1.8/src/haveged.h --- old/haveged-1.7c/src/haveged.h 2013-01-08 22:06:14.000000000 +0100 +++ new/haveged-1.8/src/haveged.h 2013-11-17 21:17:59.000000000 +0100 @@ -25,6 +25,7 @@ */ struct pparams { char *daemon; /* Daemon name - default is "haveged" */ + H_UINT exit_code; /* Exit code */ H_UINT setup; /* setup options */ H_UINT ncores; /* number of cores to use */ H_UINT buffersz; /* size of collection buffer (kb) */ @@ -60,7 +61,6 @@ #define RUN_IN_FG 0x020 #define SET_LWM 0x040 #define MULTI_CORE 0x080 -#define TEST_TEST 0x100 /** * Default tests settings */ -- To unsubscribe, e-mail: opensuse-commit+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-commit+help@opensuse.org
participants (1)
-
root@hilbert.suse.de