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 <o...@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 +