From 4751f66a32b154b75f191afff975d50812bd4f7a Mon Sep 17 00:00:00 2001 From: Peter van Dijk Date: Thu, 11 Apr 2024 15:56:37 +0200 Subject: [PATCH] pdns: unbreak bigendian builds Signed-off-by: Peter van Dijk --- net/pdns/Makefile | 2 +- net/pdns/patches/200-dnsproxy-endian.patch | 24 ++++++++++++++++++++++ 2 files changed, 25 insertions(+), 1 deletion(-) create mode 100644 net/pdns/patches/200-dnsproxy-endian.patch diff --git a/net/pdns/Makefile b/net/pdns/Makefile index 90a772e197..10ffc9d2ef 100644 --- a/net/pdns/Makefile +++ b/net/pdns/Makefile @@ -2,7 +2,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=pdns PKG_VERSION:=4.9.0 -PKG_RELEASE:=1 +PKG_RELEASE:=2 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2 PKG_SOURCE_URL:=https://downloads.powerdns.com/releases/ diff --git a/net/pdns/patches/200-dnsproxy-endian.patch b/net/pdns/patches/200-dnsproxy-endian.patch new file mode 100644 index 0000000000..064a0b8ffa --- /dev/null +++ b/net/pdns/patches/200-dnsproxy-endian.patch @@ -0,0 +1,24 @@ +commit c6b1e59f3b413493551910a7d0a3e9206d488599 +Author: Chris Hofstaedtler +Date: Sat Apr 6 23:51:35 2024 +0200 + + auth dnsproxy: fix build on s390x + +--- a/pdns/dnsproxy.cc ++++ b/pdns/dnsproxy.cc +@@ -240,10 +240,11 @@ void DNSProxy::mainloop() + memcpy(&dHead, &buffer[0], sizeof(dHead)); + { + auto conntrack = d_conntrack.lock(); +-#if BYTE_ORDER == BIG_ENDIAN +- // this is needed because spoof ID down below does not respect the native byteorder +- d.id = (256 * (uint16_t)buffer[1]) + (uint16_t)buffer[0]; +-#endif ++ if (BYTE_ORDER == BIG_ENDIAN) { ++ // this is needed because spoof ID down below does not respect the native byteorder ++ dHead.id = (256 * (uint16_t)buffer[1]) + (uint16_t)buffer[0]; ++ } ++ + auto iter = conntrack->find(dHead.id ^ d_xor); + if (iter == conntrack->end()) { + g_log << Logger::Error << "Discarding untracked packet from recursor backend with id " << (dHead.id ^ d_xor) << ". Conntrack table size=" << conntrack->size() << endl;