Download raw body.
Update to dnsdist 1.9.0, with new flavor
On Fri, Feb 16, 2024 at 10:20:49AM +0000, Stuart Henderson wrote:
> Generally the diff looks good to me. I'd have a slight preference to
> move SYSCONFDIR/COMPILER/MODULES/NODLUA_VERSION up so that the
> flavour-independent variables are grouped together above the .if.
>
> On 2024/02/16 10:29, Renaud Allard wrote:
> > Then maybe the flavor should be named -http3 because DoQ is http3 over non
> > 443 port.
>
> I would prefer this (or just -h3) than -quiche. Also please mention
> it in DESCR e.g. something like
>
> Flavours:
> h3: build with libquiche/boringssl, providing HTTP/3 and QUIC support
>
Updated diff, taking the -h3 and other suggesions.
-Otto
Index: Makefile
===================================================================
RCS file: /home/cvs/ports/net/dnsdist/Makefile,v
diff -u -p -r1.36 Makefile
--- Makefile 15 Dec 2023 13:11:55 -0000 1.36
+++ Makefile 16 Feb 2024 11:12:02 -0000
@@ -1,6 +1,6 @@
COMMENT= highly DNS-, DoS- and abuse-aware loadbalancer
-DISTNAME= dnsdist-1.8.3
+DISTNAME= dnsdist-1.9.0
EXTRACT_SUFX= .tar.bz2
CATEGORIES= net
@@ -10,18 +10,28 @@ HOMEPAGE= https://dnsdist.org/
MAINTAINER= Otto Moerbeek <otto@drijf.net>
# GPLv2 only
-PERMIT_PACKAGE= Yes
+PERMIT_PACKAGE= Yes
-WANTLIB += ${MODLUA_WANTLIB} c curses edit m \
- fstrm h2o-evloop>=1 nghttp2 pthread \
- z crypto ssl sodium ${COMPILER_LIBCXX}
+FLAVORS= h3
+FLAVOR?=
+
+WANTLIB += ${MODLUA_WANTLIB} ${COMPILER_LIBCXX} curses crypto edit m \
+ fstrm nghttp2 pthread sodium
SITES= https://downloads.powerdns.com/releases/
CONFIGURE_STYLE= autoconf
-AUTOCONF_VERSION= 2.69
+AUTOCONF_VERSION= 2.71
USE_GMAKE= Yes
+SYSCONFDIR= ${BASESYSCONFDIR}/dnsdist
+
+COMPILER = base-clang ports-gcc
+
+MODULES+= lang/lua
+MODLUA_VERSION= 5.3
+
+
CONFIGURE_ARGS+= --without-gnutls \
--disable-hardening \
--with-lua=lua${MODLUA_VERSION:S/.//} \
@@ -34,27 +44,43 @@ CONFIGURE_ARGS+= --without-gnutls \
--enable-dnscrypt \
--enable-dnstap \
--enable-dns-over-https
-#
-# On at least amd64 using clang13 dnsdist-lua-bindings.cc gets
-# miscompiled with -O2, resulting in a segfault on startup
-#
+
CONFIGURE_ENV+= CPPFLAGS="-I${LOCALBASE}/include" \
LDFLAGS="-L${LOCALBASE}/lib" \
- LIBEDIT_LIBS='-ledit -lcurses' \
- LIBEDIT_CFLAGS=' '
-SYSCONFDIR= ${BASESYSCONFDIR}/dnsdist
-
-COMPILER = base-clang ports-gcc
-
-MODULES+= lang/lua
-MODLUA_VERSION= 5.3
+ LIBEDIT_LIBS="-ledit -lcurses" \
+ LIBEDIT_CFLAGS=" "
BUILD_DEPENDS= devel/boost
LIB_DEPENDS+= ${MODLUA_LIB_DEPENDS} \
security/libsodium \
net/libfstrm \
- www/h2o \
www/nghttp2
+
+
+.if ${FLAVOR:L:Mh3}
+
+# Lua module overrides FULLPKGNAME
+FULLPKGNAME= ${PKGNAME}-${FLAVOR}
+CONFIGURE_ARGS+= --with-libcrypto=${LOCALBASE}/eboringssl \
+ --with-quiche \
+ --enable-dns-over-quic \
+ --enable-dns-over-http3 \
+
+# OpenBSD libtool seems to leave out boringssl libs, because they have the same
+# name as system libs, so explicitly refer to the .a files.
+CONFIGURE_ENV+= LIBSSL_CFLAGS="-I${LOCALBASE}/eboringssl/include \
+ -DDISABLE_OCSP_STAPLING" \
+ LIBSSL_LIBS="${LOCALBASE}/eboringssl/lib/libssl.a \
+ ${LOCALBASE}/eboringssl/lib/libcrypto.a" \
+ QUICHE_CFLAGS=" " \
+ QUICHE_LIBS='-lquiche'
+BUILD_DEPENDS+= net/quiche \
+ security/boringssl/head
+.else
+
+WANTLIB+= ssl
+
+.endif
post-install:
${INSTALL_DATA_DIR} ${PREFIX}/share/{doc,examples}/dnsdist
Index: distinfo
===================================================================
RCS file: /home/cvs/ports/net/dnsdist/distinfo,v
diff -u -p -r1.19 distinfo
--- distinfo 15 Dec 2023 13:11:55 -0000 1.19
+++ distinfo 16 Feb 2024 11:12:02 -0000
@@ -1,2 +1,2 @@
-SHA256 (dnsdist-1.8.3.tar.bz2) = hYMj8u1RgUiLt1WPv0+E7HGYYAsHCyxTddFdQGlXJ/Q=
-SIZE (dnsdist-1.8.3.tar.bz2) = 1484359
+SHA256 (dnsdist-1.9.0.tar.bz2) = FrqxXK2SRVcYBjmKjkpdwyqStrtg5hfBL+lYyUWInHw=
+SIZE (dnsdist-1.9.0.tar.bz2) = 1620891
Index: patches/patch-configure_ac
===================================================================
RCS file: /home/cvs/ports/net/dnsdist/patches/patch-configure_ac,v
diff -u -p -r1.8 patch-configure_ac
--- patches/patch-configure_ac 31 Mar 2023 05:38:03 -0000 1.8
+++ patches/patch-configure_ac 16 Feb 2024 11:12:02 -0000
@@ -11,4 +11,4 @@ Index: configure.ac
+CXXFLAGS="-g -Wall -Wextra -Wshadow -Wno-unused-parameter -Wmissing-declarations -Wredundant-decls -fvisibility=hidden $CXXFLAGS"
PDNS_WITH_LIBSODIUM
- PDNS_CHECK_DNSTAP([auto])
+ PDNS_WITH_QUICHE
Index: pkg/DESCR
===================================================================
RCS file: /home/cvs/ports/net/dnsdist/pkg/DESCR,v
diff -u -p -r1.1.1.1 DESCR
--- pkg/DESCR 15 Jan 2017 17:13:33 -0000 1.1.1.1
+++ pkg/DESCR 16 Feb 2024 11:12:02 -0000
@@ -1,3 +1,7 @@
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.
+
+Flavours:
+ h3: build with libquiche/boringssl, providing incoming HTTP/3 and QUIC support
+
Update to dnsdist 1.9.0, with new flavor