pkgsrc-WIP-changes archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

dnsdist: Upgrade to version 1.9.10



Module Name:	pkgsrc-wip
Committed By:	Marcin Gondek <drixter%e-utp.net@localhost>
Pushed By:	drixter
Date:		Fri May 23 10:57:30 2025 +0200
Changeset:	878c52f062cb56f5e1c6cfd040908a44affa9275

Added Files:
	dnsdist/COMMIT_MSG
	dnsdist/DESCR
	dnsdist/Makefile
	dnsdist/PLIST
	dnsdist/distinfo
	dnsdist/files/dnsdist.sh
	dnsdist/files/smf/manifest.xml
	dnsdist/patches/patch-configure

Log Message:
dnsdist: Upgrade to version 1.9.10

To see a diff of this commit:
https://wip.pkgsrc.org/cgi-bin/gitweb.cgi?p=pkgsrc-wip.git;a=commitdiff;h=878c52f062cb56f5e1c6cfd040908a44affa9275

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

diffstat:
 dnsdist/COMMIT_MSG              | 39 +++++++++++++++++++++
 dnsdist/DESCR                   |  4 +++
 dnsdist/Makefile                | 70 ++++++++++++++++++++++++++++++++++++++
 dnsdist/PLIST                   |  4 +++
 dnsdist/distinfo                |  6 ++++
 dnsdist/files/dnsdist.sh        | 24 +++++++++++++
 dnsdist/files/smf/manifest.xml  | 28 +++++++++++++++
 dnsdist/patches/patch-configure | 75 +++++++++++++++++++++++++++++++++++++++++
 8 files changed, 250 insertions(+)

diffs:
diff --git a/dnsdist/COMMIT_MSG b/dnsdist/COMMIT_MSG
new file mode 100644
index 0000000000..653fa796cb
--- /dev/null
+++ b/dnsdist/COMMIT_MSG
@@ -0,0 +1,39 @@
+1.9.10
+Released: 20th of May 2025
+Improvements
+Adjust Content-Type header for Prometheus endpoint to include version
+References: #15071, pull request 15501
+Better error when we cannot connect a backend socket
+References: pull request 15499
+Enable XSK in our Noble Ubuntu packages
+References: pull request 15502
+Upgrade Quiche to 0.23.4 in our packages
+References: pull request 15503
+Upgrade Rust to 1.85.0 in our packages
+References: pull request 15506
+If SONAME is present in the generated Quiche library, set it to the correct value
+References: #15427, pull request 15507
+Add Lua bindings for the incoming network interface
+References: pull request 15508
+
+Bug Fixes
+Fix a crash when TCP queries and responses keep coming
+References: pull request 15572
+On FreeBSD, only pass source addresses on sockets bound to ANY
+References: #15432, pull request 15497
+Include cstdint to get uint64_t
+References: #15060, pull request 15500
+Limit # of proxy protocol-enabled outgoing TCP connections
+References: #15218, pull request 15504
+Allow AF_NETLINK and AF_XDP under systemd
+References: pull request 15505
+Do not register Xsk sockets on configuration check or client mode
+References: #15362, pull request 15510
+Fix cache lookup for unavailable TCP-only backends
+References: #15337, pull request 15511
+Fix memory corruption when using getAddressInfo
+References: #15495, pull request 15519
+Fix building with GCC 15.1: missing cstdint include
+References: pull request 15560
+Only set the proxy protocol payload size when actually added�
+References: #15529, pull request 15562
diff --git a/dnsdist/DESCR b/dnsdist/DESCR
new file mode 100644
index 0000000000..8b6e998da8
--- /dev/null
+++ b/dnsdist/DESCR
@@ -0,0 +1,4 @@
+dnsdist is a highly DNS-, DoS- and abuse-aware loadbalancer. Its
+goal in life is to route traffic to the best server, delivering top
+performance to legitimate users while shunting or blocking abusive
+traffic.
diff --git a/dnsdist/Makefile b/dnsdist/Makefile
new file mode 100644
index 0000000000..8c012545e0
--- /dev/null
+++ b/dnsdist/Makefile
@@ -0,0 +1,70 @@
+# $NetBSD: Makefile,v 1.33 2025/05/08 13:48:43 jperkin Exp $
+
+DISTNAME=	dnsdist-1.9.10
+#PKGREVISION=	1
+CATEGORIES=	net
+MASTER_SITES=	https://downloads.powerdns.com/releases/
+EXTRACT_SUFX=	.tar.bz2
+
+MAINTAINER=	drixter%e-utp.net@localhost
+HOMEPAGE=	https://dnsdist.org/
+COMMENT=	Highly DNS-, DoS- and abuse-aware loadbalancer
+LICENSE=	gnu-gpl-v2
+
+USE_LANGUAGES=		c c++
+USE_CXX_FEATURES=	c++11
+USE_TOOLS+=		gmake pkg-config
+GNU_CONFIGURE=		yes
+
+.include "../../mk/bsd.prefs.mk"
+
+BUILD_DEFS+=			DNSDIST_USER DNSDIST_GROUP
+DNSDIST_USER?=			dnsdist
+DNSDIST_GROUP?=			dnsdist
+PKG_GROUPS+=			${DNSDIST_GROUP}
+PKG_USERS+=			${DNSDIST_USER}:${DNSDIST_GROUP}
+PKG_GECOS.${DNSDIST_USER}=	dnsdist daemon user
+
+FILES_SUBST+=	DNSDIST_USER=${DNSDIST_USER}
+FILES_SUBST+=	DNSDIST_GROUP=${DNSDIST_GROUP}
+
+CONFIGURE_ARGS+=	--enable-dns-over-tls
+CONFIGURE_ARGS+=	--enable-dnscrypt
+CONFIGURE_ARGS+=	--enable-dnstap
+CONFIGURE_ARGS+=	--with-libsodium
+CONFIGURE_ARGS+=	--with-libssl
+CONFIGURE_ARGS+=	--with-lua
+CONFIGURE_ARGS+=	--with-nghttp2
+CONFIGURE_ARGS+=	--with-re2
+CONFIGURE_ARGS+=	--without-net-snmp
+CONFIGURE_ARGS+=	--enable-dns-over-https
+CONFIGURE_ARGS+=	--sysconfdir=${PKG_SYSCONFDIR}
+
+.include "../../mk/readline.buildlink3.mk"
+
+.if ${READLINE_TYPE} == "editline"
+CONFIGURE_ARGS+=	--with-libedit
+CONFIGURE_ENV+=		LIBEDIT_CFLAGS="-I${BUILDLINK_PREFIX.editlinereadline}/include"
+CONFIGURE_ENV+=		LIBEDIT_LIBS="-L${BUILDLINK_PREFIX.editlinereadline}/lib ${BUILDLINK_LDADD.editlinereadline}"
+.else
+CONFIGURE_ARGS+=	--without-libedit
+.endif
+
+EGDIR=			${PREFIX}/share/examples/dnsdist
+CONF_FILES=		${EGDIR}/dnsdist.conf-dist ${PKG_SYSCONFDIR}/dnsdist.conf
+INSTALLATION_DIRS+=	${EGDIR}
+INSTALL_MAKE_FLAGS=	${MAKE_FLAGS} sysconfdir=${EGDIR}
+
+RCD_SCRIPTS+=		dnsdist
+
+.include "../../databases/lmdb/buildlink3.mk"
+.include "../../security/gnutls/buildlink3.mk"
+.include "../../devel/boost-headers/buildlink3.mk"
+.include "../../devel/re2/buildlink3.mk"
+.include "../../lang/lua/buildlink3.mk"
+.include "../../net/fstrm/buildlink3.mk"
+.include "../../security/libsodium/buildlink3.mk"
+.include "../../security/openssl/buildlink3.mk"
+.include "../../www/nghttp2/buildlink3.mk"
+.include "../../mk/atomic64.mk"
+.include "../../mk/bsd.pkg.mk"
diff --git a/dnsdist/PLIST b/dnsdist/PLIST
new file mode 100644
index 0000000000..bf5eaf579e
--- /dev/null
+++ b/dnsdist/PLIST
@@ -0,0 +1,4 @@
+@comment $NetBSD: PLIST,v 1.2 2025/04/10 20:50:08 wiz Exp $
+bin/dnsdist
+man/man1/dnsdist.1
+share/examples/dnsdist/dnsdist.conf-dist
diff --git a/dnsdist/distinfo b/dnsdist/distinfo
new file mode 100644
index 0000000000..cf6012453b
--- /dev/null
+++ b/dnsdist/distinfo
@@ -0,0 +1,6 @@
+$NetBSD: distinfo,v 1.18 2025/05/08 13:48:43 jperkin Exp $
+
+BLAKE2s (dnsdist-1.9.10.tar.bz2) = 78a73a9d315f75aab59385fde3b6c99bd45aaae8a7b8cdf91f33e1eb320d72de
+SHA512 (dnsdist-1.9.10.tar.bz2) = d7249861bb5454dce3d179701e1c686c5c5ed177ca39b07ca6b1f27d2ab7a014d0d255ee6b70153962dc5d9a84545ae4a4a55c53c8e75f308cda5406eed57e9b
+Size (dnsdist-1.9.10.tar.bz2) = 1598472 bytes
+SHA1 (patch-configure) = 97baf4de9a110d98beb5d251e8a27a1d184bb8d1
diff --git a/dnsdist/files/dnsdist.sh b/dnsdist/files/dnsdist.sh
new file mode 100644
index 0000000000..c4b5d56543
--- /dev/null
+++ b/dnsdist/files/dnsdist.sh
@@ -0,0 +1,24 @@
+#!@RCD_SCRIPTS_SHELL@
+#
+# $NetBSD: dnsdist.sh,v 1.2 2022/10/24 11:08:15 jperkin Exp $
+#
+# PROVIDE: dnsdist 
+# REQUIRE: DAEMON network
+# KEYWORD: shutdown
+
+if [ -f /etc/rc.subr ]; then
+	. /etc/rc.subr
+fi
+
+name="dnsdist"
+rcvar=$name
+command="@PREFIX@/bin/dnsdist"
+dnsdist_flags="${dnsdist_flags:- -u @DNSDIST_USER@ -g @DNSDIST_GROUP@ -C @PKG_SYSCONFDIR@/dnsdist.conf}"
+
+if [ -f /etc/rc.subr ]; then
+        load_rc_config $name
+	run_rc_command "$1"
+else
+	echo -n "${name}"
+	${command} ${dnsdist_flags}
+fi
diff --git a/dnsdist/files/smf/manifest.xml b/dnsdist/files/smf/manifest.xml
new file mode 100644
index 0000000000..739af89727
--- /dev/null
+++ b/dnsdist/files/smf/manifest.xml
@@ -0,0 +1,28 @@
+<?xml version="1.0"?>
+<!DOCTYPE service_bundle SYSTEM "/usr/share/lib/xml/dtd/service_bundle.dtd.1">
+<service_bundle type="manifest" name="export">
+  <service name="@SMF_PREFIX@/@SMF_NAME@" type="service" version="1">
+    <create_default_instance enabled="false" />
+    <single_instance />
+    <dependency name="network" grouping="require_all" restart_on="error" type="service">
+      <service_fmri value="svc:/milestone/network:default" />
+    </dependency>
+    <dependency name="filesystem" grouping="require_all" restart_on="error" type="service">
+      <service_fmri value="svc:/system/filesystem/local" />
+    </dependency>
+    <exec_method type="method" name="start" exec="@PREFIX@/bin/dnsdist --supervised -u @DNSDIST_USER@ -g @DNSDIST_GROUP@ -C %{config_file} &amp;" timeout_seconds="60" />
+    <exec_method type="method" name="stop" exec=":kill" timeout_seconds="60" />
+    <property_group name="startd" type="framework">
+      <propval name="duration" type="astring" value="contract" />
+      <propval name="ignore_error" type="astring" value="core,signal" />
+    </property_group>
+    <property_group name="application" type="application">
+      <propval name="config_file" type="astring" value="@PKG_SYSCONFDIR@/dnsdist.conf" />
+    </property_group>
+    <template>
+      <common_name>
+        <loctext xml:lang="C">dnsdist daemon</loctext>
+      </common_name>
+    </template>
+  </service>
+</service_bundle>
diff --git a/dnsdist/patches/patch-configure b/dnsdist/patches/patch-configure
new file mode 100644
index 0000000000..4239491e01
--- /dev/null
+++ b/dnsdist/patches/patch-configure
@@ -0,0 +1,75 @@
+$NetBSD: patch-configure,v 1.3 2025/05/08 13:48:43 jperkin Exp $
+
+Fix unportable test(1) operator.
+
+--- configure.orig	2025-04-29 09:46:28.000000000 +0000
++++ configure
+@@ -18532,7 +18532,7 @@ printf %s "checking whether to link in l
+ # Check whether --with-libedit was given.
+ if test ${with_libedit+y}
+ then :
+-  withval=$with_libedit; with_libedit=$enableval
++  withval=$with_libedit; with_libedit=$withval
+ else $as_nop
+   with_libedit=yes
+ 
+@@ -26247,12 +26247,12 @@ fi
+ then :
+ 
+ 
+-        if test "x$enable_fortify_source" == "xauto"
++        if test "x$enable_fortify_source" = "xauto"
+ then :
+   enable_fortify_source=3
+ fi
+ 
+-        if test "x$enable_fortify_source" == "x3"
++        if test "x$enable_fortify_source" = "x3"
+ then :
+ 
+       { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether C++ compiler handles -D_FORTIFY_SOURCE=3" >&5
+@@ -26301,7 +26301,7 @@ fi
+ 
+ fi
+ 
+-        if test "x$enable_fortify_source" == "x2"
++        if test "x$enable_fortify_source" = "x2"
+ then :
+ 
+       { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether C++ compiler handles -D_FORTIFY_SOURCE=2" >&5
+@@ -26350,7 +26350,7 @@ fi
+ 
+ fi
+ 
+-    if test "x$enable_fortify_source" == "x1"
++    if test "x$enable_fortify_source" = "x1"
+ then :
+ 
+       { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether C++ compiler handles -D_FORTIFY_SOURCE=1" >&5
+@@ -27061,7 +27061,7 @@ fi
+ then :
+ 
+ 
+-        if test "x$enable_lto" == "xthin"
++        if test "x$enable_lto" = "xthin"
+ then :
+ 
+       { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether C++ compiler handles -flto=thin" >&5
+@@ -27111,7 +27111,7 @@ fi
+ 
+ fi
+ 
+-        if test "x$enable_lto" == "xauto"
++        if test "x$enable_lto" = "xauto"
+ then :
+ 
+       { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether C++ compiler handles -flto=auto" >&5
+@@ -27161,7 +27161,7 @@ fi
+ 
+ fi
+ 
+-    if test "x$enable_lto" == "xyes"
++    if test "x$enable_lto" = "xyes"
+ then :
+ 
+       { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether C++ compiler handles -flto" >&5


Home | Main Index | Thread Index | Old Index