Date: Wednesday, November 2, 2022 @ 03:07:58
Author: felixonmars
Revision: 1340946
archrelease: copy trunk to community-staging-x86_64
Added:
rng-tools/repos/community-staging-x86_64/
rng-tools/repos/community-staging-x86_64/PKGBUILD
(from rev 1340945, rng-tools/trunk/PKGBUILD)
rng-tools/repos/community-staging-x86_64/rngd-test-signal-in-loop.patch
(from rev 1340945, rng-tools/trunk/rngd-test-signal-in-loop.patch)
rng-tools/repos/community-staging-x86_64/rngd.conf
(from rev 1340945, rng-tools/trunk/rngd.conf)
rng-tools/repos/community-staging-x86_64/rngd.service
(from rev 1340945, rng-tools/trunk/rngd.service)
--------------------------------+
PKGBUILD | 48 +++++++++++++++++++++++++++++++++++++++
rngd-test-signal-in-loop.patch | 36 +++++++++++++++++++++++++++++
rngd.conf | 1
rngd.service | 18 ++++++++++++++
4 files changed, 103 insertions(+)
Copied: rng-tools/repos/community-staging-x86_64/PKGBUILD (from rev 1340945,
rng-tools/trunk/PKGBUILD)
===================================================================
--- community-staging-x86_64/PKGBUILD (rev 0)
+++ community-staging-x86_64/PKGBUILD 2022-11-02 03:07:58 UTC (rev 1340946)
@@ -0,0 +1,48 @@
+# Maintainer: Massimiliano Torromeo <[email protected]>
+# Contributor: Alasdair Haswell <ali at arhaswell dot co dot uk>
+
+pkgname=rng-tools
+pkgver=6.15
+pkgrel=2
+pkgdesc="Random number generator related utilities"
+arch=('x86_64')
+url="https://github.com/nhorman/rng-tools"
+license=('GPL')
+depends=('curl' 'libxml2' 'sysfsutils' 'jitterentropy' 'libp11' 'jansson'
'rtl-sdr')
+optdepends=('opensc: PKCS11 entropy engine to gather entropy from smart card
readers')
+backup=(etc/conf.d/rngd)
+options=('debug')
+source=(https://github.com/nhorman/rng-tools/archive/v$pkgver/$pkgname-$pkgver.tar.gz
+ rngd.conf
+ rngd.service)
+sha256sums=('bff0c58dff90ec10bd61f672e48618e045155eabd60b32d63a9c4ffbdad05f3a'
+ 'f4fd197dd682cdab07ddeabe8d3b73b1bc2e1cf322237be238a26b49a7dcb047'
+ '733733457a2470da0d09a5a4e6d98fb0a773d3acf0722d16258caa2997a3fd4b')
+
+prepare() {
+ cd "$srcdir"/$pkgname-$pkgver
+ mv README{.md,}
+
+ libtoolize --force
+ aclocal
+ autoheader
+ automake --force-missing --add-missing
+ autoconf
+}
+
+build() {
+ cd "$srcdir"/$pkgname-$pkgver
+
+ # https://github.com/nhorman/rng-tools/issues/164
+ CPPFLAGS+=' -DJENT_CONF_ENABLE_INTERNAL_TIMER'
+
+ ./configure --prefix=/usr --sbindir=/usr/bin
+ make
+}
+
+package() {
+ cd "$srcdir"/$pkgname-$pkgver
+ make DESTDIR="$pkgdir" install
+ install -Dm0644 "$srcdir"/rngd.service
"$pkgdir"/usr/lib/systemd/system/rngd.service
+ install -Dm0644 "$srcdir"/rngd.conf "$pkgdir"/etc/conf.d/rngd
+}
Copied: rng-tools/repos/community-staging-x86_64/rngd-test-signal-in-loop.patch
(from rev 1340945, rng-tools/trunk/rngd-test-signal-in-loop.patch)
===================================================================
--- community-staging-x86_64/rngd-test-signal-in-loop.patch
(rev 0)
+++ community-staging-x86_64/rngd-test-signal-in-loop.patch 2022-11-02
03:07:58 UTC (rev 1340946)
@@ -0,0 +1,36 @@
+From: Leonardo Chiquitto <[email protected]>
+Subject: Check for signals in update_kernel_random()
+
+When running as a daemon, a signal handler is installed to catch
+SIGINT/SIGTERM. This handler sets a flag that's tested in the main
+loop. However, rngd loops in update_kernel_random() as well, where
+the flag was not tested.
+
+This patch adds the check to update_kernel_random() so that the
+daemon exits properly after receiving a SIGINT/SIGTERM signal.
+
+Index: rng-tools-5/rngd.c
+===================================================================
+--- rng-tools-5.orig/rngd.c
++++ rng-tools-5/rngd.c
+@@ -218,6 +218,8 @@ static int update_kernel_random(int rand
+
+ for (p = buf; p + random_step <= &buf[FIPS_RNG_BUFFER_SIZE];
+ p += random_step) {
++ if (!server_running)
++ return 0;
+ random_add_entropy(p, random_step);
+ random_sleep();
+ }
+@@ -239,10 +241,10 @@ static void do_loop(int random_step)
+ {
+ int rc;
+
++ retry_same:
+ if (!server_running)
+ return;
+
+- retry_same:
+ if (iter->disabled)
+ continue; /* failed, no work */
+
Copied: rng-tools/repos/community-staging-x86_64/rngd.conf (from rev 1340945,
rng-tools/trunk/rngd.conf)
===================================================================
--- community-staging-x86_64/rngd.conf (rev 0)
+++ community-staging-x86_64/rngd.conf 2022-11-02 03:07:58 UTC (rev 1340946)
@@ -0,0 +1 @@
+RNGD_OPTS=""
Copied: rng-tools/repos/community-staging-x86_64/rngd.service (from rev
1340945, rng-tools/trunk/rngd.service)
===================================================================
--- community-staging-x86_64/rngd.service (rev 0)
+++ community-staging-x86_64/rngd.service 2022-11-02 03:07:58 UTC (rev
1340946)
@@ -0,0 +1,18 @@
+[Unit]
+Description=Hardware RNG Entropy Gatherer Daemon
+DefaultDependencies=no
+Conflicts=shutdown.target
+Before=sysinit.target shutdown.target
+ConditionVirtualization=!container
+
+[Service]
+EnvironmentFile=/etc/conf.d/rngd
+ExecStart=/usr/bin/rngd -f $RNGD_OPTS
+NoNewPrivileges=on
+PrivateNetwork=on
+PrivateTmp=on
+ProtectSystem=full
+ProtectHome=on
+
+[Install]
+WantedBy=sysinit.target