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;