From 8ade20fe2dab29fc40a287984884eb62e7c067c6 Mon Sep 17 00:00:00 2001 From: Gwyn Ciesla Date: Tue, 5 May 2020 10:00:54 -0500 Subject: [PATCH 01/21] "Adding package.cfg file" --- package.cfg | 2 ++ 1 file changed, 2 insertions(+) create mode 100644 package.cfg diff --git a/package.cfg b/package.cfg new file mode 100644 index 0000000..66ea79d --- /dev/null +++ b/package.cfg @@ -0,0 +1,2 @@ +[koji] +targets = epel8 epel8-playground \ No newline at end of file From 69255fc7f08b42b3dc9fcd2a112ae1c0db5bc3c5 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Wed, 29 Jul 2020 05:32:20 +0000 Subject: [PATCH 02/21] - Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- rbldnsd.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/rbldnsd.spec b/rbldnsd.spec index fdce434..7e7c58b 100644 --- a/rbldnsd.spec +++ b/rbldnsd.spec @@ -27,7 +27,7 @@ Summary: Small, fast daemon to serve DNSBLs Name: rbldnsd Version: 0.998b -Release: 1%{?dist} +Release: 2%{?dist} License: GPLv2+ URL: https://rbldnsd.io/ Source0: https://rbldnsd.io/dwl/rbldnsd-%{version}.tgz @@ -156,6 +156,9 @@ fi %endif %changelog +* Wed Jul 29 2020 Fedora Release Engineering - 0.998b-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + * Tue May 5 2020 Paul Howarth - 0.998b-1 - Update to 0.998b - Minor fixes in copyright and documentation From d12a9dec19ecbb250f3a85f1e314e967ff39da30 Mon Sep 17 00:00:00 2001 From: Troy Dawson Date: Thu, 24 Sep 2020 17:33:49 +0000 Subject: [PATCH 03/21] remove package.cfg per new epel-playground policy --- package.cfg | 2 -- 1 file changed, 2 deletions(-) delete mode 100644 package.cfg diff --git a/package.cfg b/package.cfg deleted file mode 100644 index 66ea79d..0000000 --- a/package.cfg +++ /dev/null @@ -1,2 +0,0 @@ -[koji] -targets = epel8 epel8-playground \ No newline at end of file From ba498666f298c1a8891f75cb18e965d93111410d Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Wed, 27 Jan 2021 15:05:35 +0000 Subject: [PATCH 04/21] - Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- rbldnsd.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/rbldnsd.spec b/rbldnsd.spec index 7e7c58b..3ec3edb 100644 --- a/rbldnsd.spec +++ b/rbldnsd.spec @@ -27,7 +27,7 @@ Summary: Small, fast daemon to serve DNSBLs Name: rbldnsd Version: 0.998b -Release: 2%{?dist} +Release: 3%{?dist} License: GPLv2+ URL: https://rbldnsd.io/ Source0: https://rbldnsd.io/dwl/rbldnsd-%{version}.tgz @@ -156,6 +156,9 @@ fi %endif %changelog +* Wed Jan 27 2021 Fedora Release Engineering - 0.998b-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild + * Wed Jul 29 2020 Fedora Release Engineering - 0.998b-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild From 35ec7889a1a2d756d1bae21be76936ff75735086 Mon Sep 17 00:00:00 2001 From: Paul Howarth Date: Wed, 27 Jan 2021 17:18:16 +0000 Subject: [PATCH 05/21] Drop EL-6 support - Always assume systemd init - Drop support for sysv-to-systemd migration - Use %license unconditionally - Use %{?systemd_requires} --- rbldnsd.init | 198 --------------------------------------------------- rbldnsd.spec | 87 ++++------------------ 2 files changed, 15 insertions(+), 270 deletions(-) delete mode 100644 rbldnsd.init diff --git a/rbldnsd.init b/rbldnsd.init deleted file mode 100644 index be76ad4..0000000 --- a/rbldnsd.init +++ /dev/null @@ -1,198 +0,0 @@ -#!/bin/bash -# -# rbldnsd This starts and stops rbldnsd. -# -# chkconfig: - 80 30 -# description: rbldnsd is a DNS daemon for DNSBLs. Configure it in \ -# /etc/sysconfig/rbldnsd -# -# processname: /usr/sbin/rbldnsd -# config: /etc/sysconfig/network -# config: /etc/sysconfig/rbldnsd -# pidfiles: /var/run/rbldnsd*.pid - -### BEGIN INIT INFO -# Provides: rbldnsd -# Required-Start: $local_fs $network $syslog -# Required-Stop: $local_fs $network $syslog -# Default-Stop: 0 1 2 3 4 5 6 -# Short-Description: Start or stop DNS daemon for DNSBLs -# Description: rbldnsd is a DNS daemon for DNSBLs -### END INIT INFO - -PATH=/sbin:/bin:/usr/bin:/usr/sbin -prog=rbldnsd -DAEMON=/usr/sbin/$prog - -# Source function library. -. /etc/rc.d/init.d/functions - -# Get config. -[ -f /etc/sysconfig/network ] && . /etc/sysconfig/network -[ -f /etc/sysconfig/rbldnsd ] && . /etc/sysconfig/rbldnsd - -# Check that the rbldnsd binary is available -[ -f $DAEMON ] || exit 5 - -# Check that configuration has been set up (RBLDNSD set in /etc/sysconfig/rbldnsd) -[ -n "$RBLDNSD" ] || exit 6 - -# Set an exit status -set_status() { - exit $1 -} - -# Process multiple instances of the daemon (see /etc/sysconfig/rbldnsd) -for_all_daemons() { - ret=0 - while read name args; do - # generate pidfile name from key - case "$name" in - ""|\#*) continue;; - -) name=$prog; pidfile=/var/run/$name.pid;; - *) pidfile=/var/run/rbldnsd-$name.pid;; - esac - # if pidfile exists, get pid and check for running rbldnsd - pid= - if [ -f $pidfile ]; then - read p < $pidfile - if [ -n "$p" -a -f /proc/$p/cmdline ]; then - case "`cat /proc/$p/cmdline 2>/dev/null`" in - *$prog*) pid=$p;; - esac - fi - fi - # Start/stop this daemon - $1 - thisret=$? - if [ "$1" = "check_one_daemon" -o "$1" = "reload_one_daemon" ]; then - if [ $thisret -ne 0 ]; then - ret=$thisret - fi - else - if [ $thisret -ne 0 ]; then - ret=1 - fi - fi - done < <(echo "$RBLDNSD") - set_status $ret -} - -start_one_daemon() { - RETVAL=0 - if [ ! "$pid" ]; then - echo -n $"Starting $prog: " - [ x"$name" != x"$prog" ] && echo -n "$name " - daemon $DAEMON -p $pidfile $args - RETVAL=$? - echo - fi - return $RETVAL -} - -stop_one_daemon() { - RETVAL=0 - if [ "$pid" ]; then - echo -n $"Stopping $prog: " - [ x"$name" != x"$prog" ] && echo -n "$name " - kill $pid - usleep 500000 - checkpid $pid - if [ $? = 0 ]; then - echo_failure - RETVAL=1 - else - echo_success - RETVAL=0 - fi - echo - rm -f $pidfile - fi - return $RETVAL -} - -reload_one_daemon() { - if [ "$pid" ]; then - echo -n $"Reloading $prog: " - [ x"$name" != x"$prog" ] && echo -n "$name " - kill -HUP $pid - checkpid $pid && echo_success || echo_failure - RETVAL=$? - echo - else - # Not running - return 7 - fi -} - -check_one_daemon() { - echo -n "$prog " - [ x"$name" != x"$prog" ] && echo -n "[$name] " - if [ "$pid" ]; then - echo $"($pid) is running..." - return 0 - fi - if [ -f "$pidfile" ]; then - echo $"dead but pid file exists" - return 1 - fi - if [ -e /var/lock/subsys/$prog ]; then - echo $"dead but subsys locked" - return 2 - fi - echo $"is stopped" - return 3 -} - -restart_one_daemon() { - stop_one_daemon - pid= - start_one_daemon -} - -condrestart_one_daemon() { - if [ -e /var/lock/subsys/$prog ]; then - restart_one_daemon - else - return 0 - fi -} - -# See how we were called. -case "$1" in - start) - for_all_daemons start_one_daemon - RETVAL=$? - [ $RETVAL -eq 0 ] && touch /var/lock/subsys/$prog - ;; - restart) - for_all_daemons restart_one_daemon - RETVAL=$? - [ $RETVAL -eq 0 ] && touch /var/lock/subsys/$prog - ;; - force-reload|reload) - for_all_daemons reload_one_daemon - RETVAL=$? - ;; - stop) - for_all_daemons stop_one_daemon - RETVAL=$? - rm -f /var/lock/subsys/$prog - ;; - status) - for_all_daemons check_one_daemon - RETVAL=$? - ;; - condrestart|try-restart) - for_all_daemons condrestart_one_daemon - RETVAL=$? - ;; - *) - echo $"Usage: $0 {start|stop|restart|try-restart|reload|force-reload|status}" >&2 - RETVAL=1 - ;; -esac - -exit $RETVAL - -# vi: shiftwidth=4 tabstop=4 syntax=sh diff --git a/rbldnsd.spec b/rbldnsd.spec index 3ec3edb..ef57841 100644 --- a/rbldnsd.spec +++ b/rbldnsd.spec @@ -1,24 +1,8 @@ -# This package uses systemd init from Fedora 17, but can use it for -# Fedora 15/16 if built using --with systemd -%if !((0%{?rhel} && 0%{?rhel} <= 6) || (0%{?fedora} && 0%{?fedora} <= 16)) -%global _with_systemd --with-systemd -%endif -%global use_systemd %{!?_with_systemd:0}%{?_with_systemd:1} - -# systemd-units merged into systemd at Fedora 17 -%if (0%{?fedora} && 0%{?fedora} <= 16) -%global systemd_units systemd-units +# systemd-rpm-macros split out from systemd at Fedora 30 +%if (0%{?fedora} && 0%{?fedora} <= 29) || 0%{?rhel} +%global systemd_rpm_macros systemd %else -%global systemd_units systemd -%endif - -# Support systemd presets and drop support for SysV migration from Fedora 18, RHEL 7 -%if (0%{?rhel} && 0%{?rhel} <= 6) || (0%{?fedora} && 0%{?fedora} <= 17) -%global preset_support 0 -%global sysv_to_systemd %{use_systemd} -%else -%global preset_support 1 -%global sysv_to_systemd 0 +%global systemd_rpm_macros systemd-rpm-macros %endif # Build hardened (PIE) where possible @@ -27,11 +11,10 @@ Summary: Small, fast daemon to serve DNSBLs Name: rbldnsd Version: 0.998b -Release: 3%{?dist} +Release: 4%{?dist} License: GPLv2+ URL: https://rbldnsd.io/ Source0: https://rbldnsd.io/dwl/rbldnsd-%{version}.tgz -Source1: rbldnsd.init Source2: rbldnsd.conf Source3: rbldnsctl Source4: README.systemd @@ -40,20 +23,10 @@ BuildRequires: gawk BuildRequires: gcc BuildRequires: make BuildRequires: sed +BuildRequires: %{systemd_rpm_macros} BuildRequires: zlib-devel Requires(pre): shadow-utils -%if %{sysv_to_systemd} -Requires(pre): chkconfig, systemd-sysv -%endif -%if %{use_systemd} -BuildRequires: %{systemd_units} -Requires(post): %{systemd_units} -Requires(preun): %{systemd_units} -Requires(postun): %{systemd_units} -%else -Requires(post): chkconfig -Requires(preun): chkconfig -%endif +%{?systemd_requires} %description Rbldnsd is a small, authoritative-only DNS nameserver designed to serve @@ -65,7 +38,7 @@ blocklists. sed -i -e 's@/var/lib/rbldns\([/ ]\)@%{_localstatedir}/lib/rbldnsd\1@g' \ -e 's@\(-r/[a-z/]*\) -b@\1 -q -b@g' contrib/debian/rbldnsd.default -cp -p %{SOURCE1} %{SOURCE2} %{SOURCE3} %{SOURCE4} ./ +cp -p %{SOURCE2} %{SOURCE3} %{SOURCE4} ./ %build # this is not an autotools-generated configure script, and does not support --libdir @@ -80,82 +53,52 @@ mkdir -p %{buildroot}{/etc/systemd,%{_localstatedir}/lib/rbldnsd} install -p -m 755 rbldnsd %{buildroot}%{_sbindir}/ install -p -m 644 rbldnsd.8 %{buildroot}%{_mandir}/man8/ install -p -m 644 contrib/debian/rbldnsd.default %{buildroot}%{_sysconfdir}/sysconfig/rbldnsd -%if %{use_systemd} install -p -m 644 rbldnsd.conf %{buildroot}/etc/systemd/ install -p -m 755 rbldnsctl %{buildroot}%{_sbindir}/ -%else -install -p -m 755 rbldnsd.init %{buildroot}%{_initrddir}/rbldnsd -%endif %pre getent group rbldns >/dev/null || groupadd -r rbldns getent passwd rbldns >/dev/null || \ useradd -r -g rbldns -d %{_localstatedir}/lib/rbldnsd \ -s /sbin/nologin -c "rbldns daemon" rbldns -%if %{sysv_to_systemd} -# SysV-to-systemd migration -if [ $1 -gt 1 -a ! -e /etc/systemd/rbldnsd.conf -a -e %{_initrddir}/rbldnsd ]; then - systemd-sysv-convert --save rbldnsd &>/dev/null || : - chkconfig --del rbldnsd &>/dev/null || : -fi -%endif exit 0 %post -%if %{use_systemd} systemctl daemon-reload &>/dev/null || : -%else -if [ $1 -eq 1 ]; then - # Initial installation - chkconfig --add rbldnsd || : -fi -%endif %preun if [ $1 -eq 0 ]; then # Package removal, not upgrade -%if %{use_systemd} %{_sbindir}/rbldnsctl stop &>/dev/null || : %{_sbindir}/rbldnsctl disable &>/dev/null || : -%else - %{_initrddir}/rbldnsd stop &>/dev/null || : - chkconfig --del rbldnsd || : -%endif fi %postun -%if %{use_systemd} systemctl daemon-reload &>/dev/null || : -%endif if [ $1 -ge 1 ]; then # Package upgrade, not uninstall -%if %{use_systemd} %{_sbindir}/rbldnsctl try-restart &>/dev/null || : -%else - %{_initrddir}/rbldnsd condrestart &>/dev/null || : -%endif fi %files -%if 0%{?_licensedir:1} %license LICENSE.txt -%else -%doc LICENSE.txt -%endif %doc CHANGES-0.81 NEWS README README.user TODO contrib/debian/changelog %{_sbindir}/rbldnsd %{_mandir}/man8/rbldnsd.8* %dir %{_localstatedir}/lib/rbldnsd/ %config(noreplace) %{_sysconfdir}/sysconfig/rbldnsd -%if %{use_systemd} %doc README.systemd %config(noreplace) %{_sysconfdir}/systemd/rbldnsd.conf %{_sbindir}/rbldnsctl -%else -%{_initrddir}/rbldnsd -%endif %changelog +* Wed Jan 27 2021 Paul Howarth - 0.998b-4 +- Drop EL-6 support + - Always assume systemd init + - Drop support for sysv-to-systemd migration + - Use %%license unconditionally + - Use %%{?systemd_requires} + * Wed Jan 27 2021 Fedora Release Engineering - 0.998b-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild From a5f75df8f072a6f278821b03031f1248769cbf5d Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Fri, 23 Jul 2021 11:13:00 +0000 Subject: [PATCH 06/21] - Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- rbldnsd.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/rbldnsd.spec b/rbldnsd.spec index ef57841..f0aecd1 100644 --- a/rbldnsd.spec +++ b/rbldnsd.spec @@ -11,7 +11,7 @@ Summary: Small, fast daemon to serve DNSBLs Name: rbldnsd Version: 0.998b -Release: 4%{?dist} +Release: 5%{?dist} License: GPLv2+ URL: https://rbldnsd.io/ Source0: https://rbldnsd.io/dwl/rbldnsd-%{version}.tgz @@ -92,6 +92,9 @@ fi %{_sbindir}/rbldnsctl %changelog +* Fri Jul 23 2021 Fedora Release Engineering - 0.998b-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild + * Wed Jan 27 2021 Paul Howarth - 0.998b-4 - Drop EL-6 support - Always assume systemd init From 06f019e13e64eccbf33f30f4588bd8614cc51eb3 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Fri, 21 Jan 2022 17:34:27 +0000 Subject: [PATCH 07/21] - Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- rbldnsd.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/rbldnsd.spec b/rbldnsd.spec index f0aecd1..c6f7b9b 100644 --- a/rbldnsd.spec +++ b/rbldnsd.spec @@ -11,7 +11,7 @@ Summary: Small, fast daemon to serve DNSBLs Name: rbldnsd Version: 0.998b -Release: 5%{?dist} +Release: 6%{?dist} License: GPLv2+ URL: https://rbldnsd.io/ Source0: https://rbldnsd.io/dwl/rbldnsd-%{version}.tgz @@ -92,6 +92,9 @@ fi %{_sbindir}/rbldnsctl %changelog +* Fri Jan 21 2022 Fedora Release Engineering - 0.998b-6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild + * Fri Jul 23 2021 Fedora Release Engineering - 0.998b-5 - Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild From cc189db86b4c49da79ba377630af0d71506ee858 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Sat, 23 Jul 2022 00:32:54 +0000 Subject: [PATCH 08/21] Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- rbldnsd.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/rbldnsd.spec b/rbldnsd.spec index c6f7b9b..e779d94 100644 --- a/rbldnsd.spec +++ b/rbldnsd.spec @@ -11,7 +11,7 @@ Summary: Small, fast daemon to serve DNSBLs Name: rbldnsd Version: 0.998b -Release: 6%{?dist} +Release: 7%{?dist} License: GPLv2+ URL: https://rbldnsd.io/ Source0: https://rbldnsd.io/dwl/rbldnsd-%{version}.tgz @@ -92,6 +92,9 @@ fi %{_sbindir}/rbldnsctl %changelog +* Sat Jul 23 2022 Fedora Release Engineering - 0.998b-7 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild + * Fri Jan 21 2022 Fedora Release Engineering - 0.998b-6 - Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild From e271ece52c74d1129ebe4ef0e1e8806a92cd8bfa Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Fri, 20 Jan 2023 19:30:47 +0000 Subject: [PATCH 09/21] Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- rbldnsd.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/rbldnsd.spec b/rbldnsd.spec index e779d94..84bd3a6 100644 --- a/rbldnsd.spec +++ b/rbldnsd.spec @@ -11,7 +11,7 @@ Summary: Small, fast daemon to serve DNSBLs Name: rbldnsd Version: 0.998b -Release: 7%{?dist} +Release: 8%{?dist} License: GPLv2+ URL: https://rbldnsd.io/ Source0: https://rbldnsd.io/dwl/rbldnsd-%{version}.tgz @@ -92,6 +92,9 @@ fi %{_sbindir}/rbldnsctl %changelog +* Fri Jan 20 2023 Fedora Release Engineering - 0.998b-8 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild + * Sat Jul 23 2022 Fedora Release Engineering - 0.998b-7 - Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild From 329471ee22c72c134d7638706d82bdb25c5146fc Mon Sep 17 00:00:00 2001 From: Florian Weimer Date: Mon, 30 Jan 2023 16:00:12 +0100 Subject: [PATCH 10/21] Port non-autoconf configure script to C99 Related to: --- rbldnsd-configure-c99.patch | 20 ++++++++++++++++++++ rbldnsd.spec | 8 ++++++-- 2 files changed, 26 insertions(+), 2 deletions(-) create mode 100644 rbldnsd-configure-c99.patch diff --git a/rbldnsd-configure-c99.patch b/rbldnsd-configure-c99.patch new file mode 100644 index 0000000..3eb7970 --- /dev/null +++ b/rbldnsd-configure-c99.patch @@ -0,0 +1,20 @@ +Avoid implicit declarations of gethostbyname and connect in the +non-autoconf configure script. This prevents altering the test result +with compilers which do not support implicit function declarations. + +A more elaborate pull request has been submitted upstream: + + + +diff --git a/configure b/configure +index b0cb655797639dac..978f480e391a46a8 100755 +--- a/configure ++++ b/configure +@@ -173,6 +173,7 @@ else + fi + + if ac_library_find_v 'connect()' "" "-lsocket -lnsl" < - 0.998b-9 +- Port non-autoconf configure script to C99 + * Fri Jan 20 2023 Fedora Release Engineering - 0.998b-8 - Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild From 979e1c4e3106f081e5fb277864c98e4635cbcd97 Mon Sep 17 00:00:00 2001 From: Paul Howarth Date: Mon, 30 Jan 2023 16:20:29 +0000 Subject: [PATCH 11/21] Use SPDX-format license tag --- rbldnsd.rpmlintrc | 5 ----- rbldnsd.spec | 14 ++++++++++---- 2 files changed, 10 insertions(+), 9 deletions(-) diff --git a/rbldnsd.rpmlintrc b/rbldnsd.rpmlintrc index edbeda2..545ed93 100644 --- a/rbldnsd.rpmlintrc +++ b/rbldnsd.rpmlintrc @@ -1,8 +1,3 @@ -from Config import * - -# Technical terms -addFilter("spelling-error %description -l en_US (blocklists|nameserver) -> ") - # Configure script is not from autotools addFilter("configure-without-libdir-spec") diff --git a/rbldnsd.spec b/rbldnsd.spec index 9da8144..eedf7b3 100644 --- a/rbldnsd.spec +++ b/rbldnsd.spec @@ -11,14 +11,14 @@ Summary: Small, fast daemon to serve DNSBLs Name: rbldnsd Version: 0.998b -Release: 9%{?dist} -License: GPLv2+ +Release: 10%{?dist} +License: GPL-2.0-or-later URL: https://rbldnsd.io/ Source0: https://rbldnsd.io/dwl/rbldnsd-%{version}.tgz Source2: rbldnsd.conf Source3: rbldnsctl Source4: README.systemd -Patch0: rbldnsd-configure-c99.patch +Patch0: rbldnsd-configure-c99.patch BuildRequires: coreutils BuildRequires: gawk BuildRequires: gcc @@ -35,7 +35,10 @@ DNS-based blocklists (DNSBLs). It may handle IP-based and name-based blocklists. %prep -%autosetup -p1 +%setup -q + +# Port non-autoconf configure script to C99 +%patch0 -p1 sed -i -e 's@/var/lib/rbldns\([/ ]\)@%{_localstatedir}/lib/rbldnsd\1@g' \ -e 's@\(-r/[a-z/]*\) -b@\1 -q -b@g' contrib/debian/rbldnsd.default @@ -93,6 +96,9 @@ fi %{_sbindir}/rbldnsctl %changelog +* Mon Jan 30 2023 Paul Howarth - 0.998b-10 +- Use SPDX-format license tag + * Mon Jan 30 2023 Florian Weimer - 0.998b-9 - Port non-autoconf configure script to C99 From ae308e0e918707a821c42cff247cfc4b13f62cd7 Mon Sep 17 00:00:00 2001 From: Paul Howarth Date: Fri, 23 Jun 2023 11:24:19 +0100 Subject: [PATCH 12/21] Avoid use of systemd ".include" directive (rhbz#2216790) Additionally: - Avoid use of deprecated patch syntax - Fix version number reported by rbldnsd --- rbldnsctl | 37 ++++++++++++++++++------------------ rbldnsd-0.998b-version.patch | 16 ++++++++++++++++ rbldnsd.spec | 14 ++++++++++++-- 3 files changed, 47 insertions(+), 20 deletions(-) create mode 100644 rbldnsd-0.998b-version.patch diff --git a/rbldnsctl b/rbldnsctl index cc9e181..f5bb1b9 100755 --- a/rbldnsctl +++ b/rbldnsctl @@ -82,48 +82,49 @@ for_all_daemons() { } start_one_daemon() { - /bin/systemctl start "rbldnsd-${name}.service" + /usr/bin/systemctl start "rbldnsd-${name}.service" } stop_one_daemon() { - /bin/systemctl stop "rbldnsd-${name}.service" + /usr/bin/systemctl stop "rbldnsd-${name}.service" } reload_one_daemon() { - /bin/systemctl reload "rbldnsd-${name}.service" + /usr/bin/systemctl reload "rbldnsd-${name}.service" } check_one_daemon() { - /bin/systemctl status "rbldnsd-${name}.service" + /usr/bin/systemctl status "rbldnsd-${name}.service" } restart_one_daemon() { - /bin/systemctl restart "rbldnsd-${name}.service" + /usr/bin/systemctl restart "rbldnsd-${name}.service" } condrestart_one_daemon() { - /bin/systemctl try-restart "rbldnsd-${name}.service" + /usr/bin/systemctl try-restart "rbldnsd-${name}.service" } create_one_daemon() { - cat > "/etc/systemd/system/rbldnsd-${name}.service" <<-END_OF_UNIT - .include /etc/systemd/rbldnsd.conf - - [Unit] - Description=DNSBL (rbldnsd) ${name} instance - - [Service] - ExecStart=/sbin/rbldnsd -n ${args} - END_OF_UNIT + { + awk '/^\[Unit\]/, 1 == 2' /etc/systemd/rbldnsd.conf + cat <<-END_OF_UNIT + [Unit] + Description=DNSBL (rbldnsd) ${name} instance + + [Service] + ExecStart=/sbin/rbldnsd -n ${args} + END_OF_UNIT + } > "/etc/systemd/system/rbldnsd-${name}.service" echo "Created unit file /etc/systemd/system/rbldnsd-${name}.service" } enable_one_daemon() { - /bin/systemctl enable "rbldnsd-${name}.service" + /usr/bin/systemctl enable "rbldnsd-${name}.service" } disable_one_daemon() { - /bin/systemctl disable "rbldnsd-${name}.service" + /usr/bin/systemctl disable "rbldnsd-${name}.service" } # See how we were called. @@ -131,7 +132,7 @@ case "$1" in create) for_all_daemons create_one_daemon RETVAL=$? - /bin/systemctl daemon-reload + /usr/bin/systemctl daemon-reload ;; enable) for_all_daemons enable_one_daemon diff --git a/rbldnsd-0.998b-version.patch b/rbldnsd-0.998b-version.patch new file mode 100644 index 0000000..a193fd9 --- /dev/null +++ b/rbldnsd-0.998b-version.patch @@ -0,0 +1,16 @@ +This addition of the release date for version 0.998b fixes the +version number that rbldnsd reports in its logging output. The +version is extracted from the NEWS file by the configure script +but the pattern matching requires the date to be present. + +--- NEWS ++++ NEWS +@@ -1,7 +1,7 @@ + This file describes user-visible changes in rbldnsd. + Newer news is at the top. + +-0.998b ++0.998b (21 Dec 2016) + - Fix for memory errors on very large datasets. + Patch by Andrew Clayton + diff --git a/rbldnsd.spec b/rbldnsd.spec index eedf7b3..dd3573b 100644 --- a/rbldnsd.spec +++ b/rbldnsd.spec @@ -11,7 +11,7 @@ Summary: Small, fast daemon to serve DNSBLs Name: rbldnsd Version: 0.998b -Release: 10%{?dist} +Release: 11%{?dist} License: GPL-2.0-or-later URL: https://rbldnsd.io/ Source0: https://rbldnsd.io/dwl/rbldnsd-%{version}.tgz @@ -19,6 +19,7 @@ Source2: rbldnsd.conf Source3: rbldnsctl Source4: README.systemd Patch0: rbldnsd-configure-c99.patch +Patch1: rbldnsd-0.998b-version.patch BuildRequires: coreutils BuildRequires: gawk BuildRequires: gcc @@ -27,6 +28,7 @@ BuildRequires: sed BuildRequires: %{systemd_rpm_macros} BuildRequires: zlib-devel Requires(pre): shadow-utils +Requires: gawk %{?systemd_requires} %description @@ -38,7 +40,10 @@ blocklists. %setup -q # Port non-autoconf configure script to C99 -%patch0 -p1 +%patch -P 0 -p1 + +# Fix version number reported by rbldnsd +%patch -P 1 sed -i -e 's@/var/lib/rbldns\([/ ]\)@%{_localstatedir}/lib/rbldnsd\1@g' \ -e 's@\(-r/[a-z/]*\) -b@\1 -q -b@g' contrib/debian/rbldnsd.default @@ -96,6 +101,11 @@ fi %{_sbindir}/rbldnsctl %changelog +* Fri Jun 23 2023 Paul Howarth - 0.998b-11 +- Avoid use of systemd ".include" directive (rhbz#2216790) +- Avoid use of deprecated patch syntax +- Fix version number reported by rbldnsd + * Mon Jan 30 2023 Paul Howarth - 0.998b-10 - Use SPDX-format license tag From b453477b2f8e962519b99025dc32acbf15a5fc9d Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Fri, 21 Jul 2023 16:35:10 +0000 Subject: [PATCH 13/21] Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- rbldnsd.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/rbldnsd.spec b/rbldnsd.spec index dd3573b..264b6fb 100644 --- a/rbldnsd.spec +++ b/rbldnsd.spec @@ -11,7 +11,7 @@ Summary: Small, fast daemon to serve DNSBLs Name: rbldnsd Version: 0.998b -Release: 11%{?dist} +Release: 12%{?dist} License: GPL-2.0-or-later URL: https://rbldnsd.io/ Source0: https://rbldnsd.io/dwl/rbldnsd-%{version}.tgz @@ -101,6 +101,9 @@ fi %{_sbindir}/rbldnsctl %changelog +* Fri Jul 21 2023 Fedora Release Engineering - 0.998b-12 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild + * Fri Jun 23 2023 Paul Howarth - 0.998b-11 - Avoid use of systemd ".include" directive (rhbz#2216790) - Avoid use of deprecated patch syntax From 3704bf0c5a76ec7b989f5a7f2ff6bf5f8f627e04 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Mon, 22 Jan 2024 10:54:45 +0000 Subject: [PATCH 14/21] Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild --- rbldnsd.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/rbldnsd.spec b/rbldnsd.spec index 264b6fb..ad85926 100644 --- a/rbldnsd.spec +++ b/rbldnsd.spec @@ -11,7 +11,7 @@ Summary: Small, fast daemon to serve DNSBLs Name: rbldnsd Version: 0.998b -Release: 12%{?dist} +Release: 13%{?dist} License: GPL-2.0-or-later URL: https://rbldnsd.io/ Source0: https://rbldnsd.io/dwl/rbldnsd-%{version}.tgz @@ -101,6 +101,9 @@ fi %{_sbindir}/rbldnsctl %changelog +* Mon Jan 22 2024 Fedora Release Engineering - 0.998b-13 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + * Fri Jul 21 2023 Fedora Release Engineering - 0.998b-12 - Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild From 69cc88e57895f4782419fab79920b404498a4d3d Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Fri, 26 Jan 2024 14:50:16 +0000 Subject: [PATCH 15/21] Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild --- rbldnsd.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/rbldnsd.spec b/rbldnsd.spec index ad85926..30c6cec 100644 --- a/rbldnsd.spec +++ b/rbldnsd.spec @@ -11,7 +11,7 @@ Summary: Small, fast daemon to serve DNSBLs Name: rbldnsd Version: 0.998b -Release: 13%{?dist} +Release: 14%{?dist} License: GPL-2.0-or-later URL: https://rbldnsd.io/ Source0: https://rbldnsd.io/dwl/rbldnsd-%{version}.tgz @@ -101,6 +101,9 @@ fi %{_sbindir}/rbldnsctl %changelog +* Fri Jan 26 2024 Fedora Release Engineering - 0.998b-14 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + * Mon Jan 22 2024 Fedora Release Engineering - 0.998b-13 - Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild From 617de389952aac60468978ab1f9a180502a7e849 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Fri, 19 Jul 2024 18:18:03 +0000 Subject: [PATCH 16/21] Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild --- rbldnsd.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/rbldnsd.spec b/rbldnsd.spec index 30c6cec..996fe97 100644 --- a/rbldnsd.spec +++ b/rbldnsd.spec @@ -11,7 +11,7 @@ Summary: Small, fast daemon to serve DNSBLs Name: rbldnsd Version: 0.998b -Release: 14%{?dist} +Release: 15%{?dist} License: GPL-2.0-or-later URL: https://rbldnsd.io/ Source0: https://rbldnsd.io/dwl/rbldnsd-%{version}.tgz @@ -101,6 +101,9 @@ fi %{_sbindir}/rbldnsctl %changelog +* Fri Jul 19 2024 Fedora Release Engineering - 0.998b-15 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild + * Fri Jan 26 2024 Fedora Release Engineering - 0.998b-14 - Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild From a1038609c1b5216bb69e353c8e0a01b5ae31c634 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Sat, 18 Jan 2025 22:07:52 +0000 Subject: [PATCH 17/21] Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild --- rbldnsd.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/rbldnsd.spec b/rbldnsd.spec index 996fe97..53b7233 100644 --- a/rbldnsd.spec +++ b/rbldnsd.spec @@ -11,7 +11,7 @@ Summary: Small, fast daemon to serve DNSBLs Name: rbldnsd Version: 0.998b -Release: 15%{?dist} +Release: 16%{?dist} License: GPL-2.0-or-later URL: https://rbldnsd.io/ Source0: https://rbldnsd.io/dwl/rbldnsd-%{version}.tgz @@ -101,6 +101,9 @@ fi %{_sbindir}/rbldnsctl %changelog +* Sat Jan 18 2025 Fedora Release Engineering - 0.998b-16 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild + * Fri Jul 19 2024 Fedora Release Engineering - 0.998b-15 - Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild From c6c0bf9589688792c2f91f123abd5f03c2527ee6 Mon Sep 17 00:00:00 2001 From: Paul Howarth Date: Wed, 12 Feb 2025 14:06:29 +0000 Subject: [PATCH 18/21] Update rpmlintrc --- rbldnsd.rpmlintrc | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/rbldnsd.rpmlintrc b/rbldnsd.rpmlintrc index 545ed93..42b7753 100644 --- a/rbldnsd.rpmlintrc +++ b/rbldnsd.rpmlintrc @@ -7,3 +7,8 @@ addFilter("no-manual-page-for-binary rbldnsctl") # Not a strange permission for a script addFilter("strange-permission rbldnsctl 775") +# DNS server +addFilter("spelling-error \('nameserver',") + +# List of unwelcome IP addresses, made available over DNS using rbldnsd +addFilter("spelling-error \('blocklists',") From adebf8a7cd4b5de189fe4d2f2b659f122c9ba6d5 Mon Sep 17 00:00:00 2001 From: Paul Howarth Date: Wed, 12 Feb 2025 14:07:22 +0000 Subject: [PATCH 19/21] Use sysusers from Fedora 43 onwards --- rbldnsd.spec | 30 ++++++++++++++++++++++++++++-- 1 file changed, 28 insertions(+), 2 deletions(-) diff --git a/rbldnsd.spec b/rbldnsd.spec index 53b7233..f158615 100644 --- a/rbldnsd.spec +++ b/rbldnsd.spec @@ -1,17 +1,24 @@ # systemd-rpm-macros split out from systemd at Fedora 30 -%if (0%{?fedora} && 0%{?fedora} <= 29) || 0%{?rhel} +%if (0%{?fedora} && 0%{?fedora} <= 29) || (0%{?rhel} && 0%{?rhel} <= 8) %global systemd_rpm_macros systemd %else %global systemd_rpm_macros systemd-rpm-macros %endif +# Use sysusers from Fedora 43 onwards +%if (0%{?rhel} && 0%{?rhel} <= 10) || (0%{?fedora} && 0%{?fedora} <= 42) +%global use_sysusers 0 +%else +%global use_sysusers 1 +%endif + # Build hardened (PIE) where possible %global _hardened_build 1 Summary: Small, fast daemon to serve DNSBLs Name: rbldnsd Version: 0.998b -Release: 16%{?dist} +Release: 17%{?dist} License: GPL-2.0-or-later URL: https://rbldnsd.io/ Source0: https://rbldnsd.io/dwl/rbldnsd-%{version}.tgz @@ -27,7 +34,9 @@ BuildRequires: make BuildRequires: sed BuildRequires: %{systemd_rpm_macros} BuildRequires: zlib-devel +%if !%{use_sysusers} Requires(pre): shadow-utils +%endif Requires: gawk %{?systemd_requires} @@ -49,6 +58,11 @@ sed -i -e 's@/var/lib/rbldns\([/ ]\)@%{_localstatedir}/lib/rbldnsd\1@g' \ -e 's@\(-r/[a-z/]*\) -b@\1 -q -b@g' contrib/debian/rbldnsd.default cp -p %{SOURCE2} %{SOURCE3} %{SOURCE4} ./ +# Create a sysusers.d config file +cat >rbldnsd.sysusers.conf </dev/null || groupadd -r rbldns getent passwd rbldns >/dev/null || \ useradd -r -g rbldns -d %{_localstatedir}/lib/rbldnsd \ -s /sbin/nologin -c "rbldns daemon" rbldns exit 0 +%endif %post systemctl daemon-reload &>/dev/null || : @@ -99,8 +118,15 @@ fi %doc README.systemd %config(noreplace) %{_sysconfdir}/systemd/rbldnsd.conf %{_sbindir}/rbldnsctl +%if %{use_sysusers} +%{_sysusersdir}/rbldnsd.conf +%endif %changelog +* Wed Feb 12 2025 Paul Howarth - 0.998b-17 +- Add sysusers.d config file to allow rpm to create users/groups automatically + from Fedora 43 onwards + * Sat Jan 18 2025 Fedora Release Engineering - 0.998b-16 - Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild From 4cf3052c450d1acc6790d0ed84dc5001a852752b Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Fri, 25 Jul 2025 11:48:01 +0000 Subject: [PATCH 20/21] Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild --- rbldnsd.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/rbldnsd.spec b/rbldnsd.spec index f158615..a173886 100644 --- a/rbldnsd.spec +++ b/rbldnsd.spec @@ -18,7 +18,7 @@ Summary: Small, fast daemon to serve DNSBLs Name: rbldnsd Version: 0.998b -Release: 17%{?dist} +Release: 18%{?dist} License: GPL-2.0-or-later URL: https://rbldnsd.io/ Source0: https://rbldnsd.io/dwl/rbldnsd-%{version}.tgz @@ -123,6 +123,9 @@ fi %endif %changelog +* Fri Jul 25 2025 Fedora Release Engineering - 0.998b-18 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild + * Wed Feb 12 2025 Paul Howarth - 0.998b-17 - Add sysusers.d config file to allow rpm to create users/groups automatically from Fedora 43 onwards From bb88638fad6a97040a23ee41819e164b62a90f1f Mon Sep 17 00:00:00 2001 From: Paul Howarth Date: Fri, 26 Sep 2025 14:51:08 +0100 Subject: [PATCH 21/21] Fix base template replacement issue (GH#18, GH#19, GH#22, rhbz#2398024) --- 85932ec5.patch | 62 ++++++++++++++++++++++++++++++++++++++++++++++++++ rbldnsd.spec | 12 +++++++++- 2 files changed, 73 insertions(+), 1 deletion(-) create mode 100644 85932ec5.patch diff --git a/85932ec5.patch b/85932ec5.patch new file mode 100644 index 0000000..8b919ef --- /dev/null +++ b/85932ec5.patch @@ -0,0 +1,62 @@ +From 85932ec5d89041424cf6d20c71b482e23cf17d2f Mon Sep 17 00:00:00 2001 +From: "Antonio \"Criddi\" Mammita" + <77116213+ammammita@users.noreply.github.com> +Date: Wed, 13 Jan 2021 17:17:31 +0000 +Subject: [PATCH] Ticket 18 and 19 (#22) + +Fix issue #18 and issue #19 + +Base template replacement issue +--- + rbldnsd.8 | 4 ++-- + rbldnsd_util.c | 8 ++++++-- + 2 files changed, 8 insertions(+), 4 deletions(-) + +diff --git a/rbldnsd.8 b/rbldnsd.8 +index 36e70fa..addb737 100644 +--- a/rbldnsd.8 ++++ b/rbldnsd.8 +@@ -726,7 +726,7 @@ the above example may be simplified to: + .fi + There is no default TXT value, so + .B rbldnsd +-will not return anything for TXT queries it TXT isn't ++will not return anything for TXT queries unless TXT isn't + specified. + .PP + When A value is specified for a given entry, but TXT template +@@ -782,7 +782,7 @@ text given for individual entries. In order to stop usage of base template + \fB$=\fR for a single record, start it with \fB=\fR (which will be omitted + from the resulting TXT value). For example, + .nf +- $0 See http://www.example.com/bl?$= ($) for details ++ $= See http://www.example.com/bl?$= ($) for details + 127.0.0.2 r123 + 127.0.0.3 + 127.0.0.4 =See other blocklists for details about $ +diff --git a/rbldnsd_util.c b/rbldnsd_util.c +index c6d628d..eeafd07 100644 +--- a/rbldnsd_util.c ++++ b/rbldnsd_util.c +@@ -243,6 +243,8 @@ int txtsubst(char sb[TXTBUFSIZ], const char *txt, + char *const e = sb + 254; + char *lp = sb; + const char *s, *si, *sx; ++ const char *srec = s0; ++ + if (txt[0] == '=') + sx = ++txt; + else if (sn[SUBST_BASE_TEMPLATE] && *sn[SUBST_BASE_TEMPLATE]) { +@@ -273,8 +275,10 @@ int txtsubst(char sb[TXTBUFSIZ], const char *txt, + sl = strlen(si); + ++s; + } +- else +- sl = strlen(si = s0); ++ else { ++ sl = strlen(si = srec); ++ } ++ + if (lp + sl > e) /* silently truncate TXT RR >255 bytes */ + sl = e - lp; + memcpy(lp, si, sl); diff --git a/rbldnsd.spec b/rbldnsd.spec index a173886..14e90fd 100644 --- a/rbldnsd.spec +++ b/rbldnsd.spec @@ -18,7 +18,7 @@ Summary: Small, fast daemon to serve DNSBLs Name: rbldnsd Version: 0.998b -Release: 18%{?dist} +Release: 19%{?dist} License: GPL-2.0-or-later URL: https://rbldnsd.io/ Source0: https://rbldnsd.io/dwl/rbldnsd-%{version}.tgz @@ -27,6 +27,7 @@ Source3: rbldnsctl Source4: README.systemd Patch0: rbldnsd-configure-c99.patch Patch1: rbldnsd-0.998b-version.patch +Patch2: https://github.com/spamhaus/rbldnsd/commit/85932ec5.patch BuildRequires: coreutils BuildRequires: gawk BuildRequires: gcc @@ -54,6 +55,12 @@ blocklists. # Fix version number reported by rbldnsd %patch -P 1 +# Fix base template replacement issue +# https://github.com/spamhaus/rbldnsd/issues/18 +# https://github.com/spamhaus/rbldnsd/issues/19 +# https://github.com/spamhaus/rbldnsd/pull/22 +%patch -P 2 -p1 + sed -i -e 's@/var/lib/rbldns\([/ ]\)@%{_localstatedir}/lib/rbldnsd\1@g' \ -e 's@\(-r/[a-z/]*\) -b@\1 -q -b@g' contrib/debian/rbldnsd.default cp -p %{SOURCE2} %{SOURCE3} %{SOURCE4} ./ @@ -123,6 +130,9 @@ fi %endif %changelog +* Fri Sep 26 2025 Paul Howarth - 0.998b-19 +- Fix base template replacement issue (GH#18, GH#19, GH#22, rhbz#2398024) + * Fri Jul 25 2025 Fedora Release Engineering - 0.998b-18 - Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild