pdns: unbreak bigendian builds

Signed-off-by: Peter van Dijk <peter.van.dijk@powerdns.com>
This commit is contained in:
Peter van Dijk 2024-04-11 15:56:37 +02:00 committed by Rosen Penev
parent 480ca13e28
commit 4751f66a32
2 changed files with 25 additions and 1 deletions

View File

@ -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/

View File

@ -0,0 +1,24 @@
commit c6b1e59f3b413493551910a7d0a3e9206d488599
Author: Chris Hofstaedtler <chris.hofstaedtler@deduktiva.com>
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;