Compare commits
5 commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
bb88638fad | ||
|
|
4cf3052c45 | ||
|
|
adebf8a7cd | ||
|
|
c6c0bf9589 | ||
|
|
a1038609c1 |
3 changed files with 111 additions and 2 deletions
62
85932ec5.patch
Normal file
62
85932ec5.patch
Normal 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);
|
||||
|
|
@ -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',")
|
||||
|
|
|
|||
46
rbldnsd.spec
46
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: 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
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue