Compare commits

...
Sign in to create a new pull request.

5 commits

Author SHA1 Message Date
Paul Howarth
bb88638fad Fix base template replacement issue (GH#18, GH#19, GH#22, rhbz#2398024) 2025-09-26 14:51:08 +01:00
Fedora Release Engineering
4cf3052c45 Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild 2025-07-25 11:48:01 +00:00
Paul Howarth
adebf8a7cd Use sysusers from Fedora 43 onwards 2025-02-12 14:07:22 +00:00
Paul Howarth
c6c0bf9589 Update rpmlintrc 2025-02-12 14:06:29 +00:00
Fedora Release Engineering
a1038609c1 Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild 2025-01-18 22:07:52 +00:00
3 changed files with 111 additions and 2 deletions

62
85932ec5.patch Normal file
View file

@ -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);

View file

@ -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',")

View file

@ -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: 15%{?dist}
Release: 19%{?dist}
License: GPL-2.0-or-later
URL: https://rbldnsd.io/
Source0: https://rbldnsd.io/dwl/rbldnsd-%{version}.tgz
@ -20,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
@ -27,7 +35,9 @@ BuildRequires: make
BuildRequires: sed
BuildRequires: %{systemd_rpm_macros}
BuildRequires: zlib-devel
%if !%{use_sysusers}
Requires(pre): shadow-utils
%endif
Requires: gawk
%{?systemd_requires}
@ -45,10 +55,21 @@ 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} ./
# Create a sysusers.d config file
cat >rbldnsd.sysusers.conf <<EOF
u rbldns - 'rbldns daemon' %{_localstatedir}/lib/rbldnsd -
EOF
%build
# this is not an autotools-generated configure script, and does not support --libdir
CFLAGS="%{optflags}" \
@ -64,13 +85,18 @@ install -p -m 644 rbldnsd.8 %{buildroot}%{_mandir}/man8/
install -p -m 644 contrib/debian/rbldnsd.default %{buildroot}%{_sysconfdir}/sysconfig/rbldnsd
install -p -m 644 rbldnsd.conf %{buildroot}/etc/systemd/
install -p -m 755 rbldnsctl %{buildroot}%{_sbindir}/
%if %{use_sysusers}
install -m0644 -D rbldnsd.sysusers.conf %{buildroot}%{_sysusersdir}/rbldnsd.conf
%endif
%if !%{use_sysusers}
%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
exit 0
%endif
%post
systemctl daemon-reload &>/dev/null || :
@ -99,8 +125,24 @@ fi
%doc README.systemd
%config(noreplace) %{_sysconfdir}/systemd/rbldnsd.conf
%{_sbindir}/rbldnsctl
%if %{use_sysusers}
%{_sysusersdir}/rbldnsd.conf
%endif
%changelog
* Fri Sep 26 2025 Paul Howarth <paul@city-fan.org> - 0.998b-19
- Fix base template replacement issue (GH#18, GH#19, GH#22, rhbz#2398024)
* Fri Jul 25 2025 Fedora Release Engineering <releng@fedoraproject.org> - 0.998b-18
- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild
* Wed Feb 12 2025 Paul Howarth <paul@city-fan.org> - 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 <releng@fedoraproject.org> - 0.998b-16
- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
* Fri Jul 19 2024 Fedora Release Engineering <releng@fedoraproject.org> - 0.998b-15
- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild