From a7fc895023844e5b36e9674cb23737b57e7bb697 Mon Sep 17 00:00:00 2001 From: Kurt Jaeger Date: Sat, 1 Aug 2020 17:08:19 +0000 Subject: [PATCH] dns/dnsdist: update 1.4.0 -> 1.5.0 - Please check the upgrade guide before upgrading: https://dnsdist.org/upgrade_guide.html#to-1-5-x - Reworked the Lua options. You can now choose from Lua, LuaJIT and LuaJIT-openresty - Also added options for CDB and LMDB Key Value stores PR: 248385 Submitted by: Ralf van der Enden (maintainer) Relnotes: https://dnsdist.org/changelog.html --- dns/dnsdist/Makefile | 40 ++++++++++++++----- dns/dnsdist/distinfo | 6 +-- ...atch-ext_luawrapper_include_LuaContext.hpp | 4 +- dns/dnsdist/pkg-descr | 31 ++++++++++++-- 4 files changed, 62 insertions(+), 19 deletions(-) diff --git a/dns/dnsdist/Makefile b/dns/dnsdist/Makefile index a6c457c36657..bed8d3038291 100644 --- a/dns/dnsdist/Makefile +++ b/dns/dnsdist/Makefile @@ -2,8 +2,7 @@ # $FreeBSD$ PORTNAME= dnsdist -DISTVERSION= 1.4.0 -PORTREVISION= 2 +DISTVERSION= 1.5.0 CATEGORIES= dns net MASTER_SITES= https://downloads.powerdns.com/releases/ @@ -22,8 +21,8 @@ LIB_DEPENDS= libboost_serialization.so:devel/boost-libs \ libre2.so:devel/re2 \ libsodium.so:security/libsodium -USES= bison:alias compiler:c++14-lang cpe gmake libedit libtool localbase \ - pkgconfig tar:bz2 +USES= bison:alias compiler:c++14-lang cpe gmake libedit libtool \ + localbase pkgconfig tar:bz2 USE_RC_SUBR= dnsdist GNU_CONFIGURE= yes @@ -40,13 +39,26 @@ INSTALL_TARGET= install-strip USERS= _dnsdist GROUPS= _dnsdist -OPTIONS_DEFINE= DNSTAP LUAJIT SNMP -OPTIONS_DEFAULT= GNUTLS OPENSSL +OPTIONS_DEFINE= DNSTAP SNMP +OPTIONS_DEFAULT= CDB GNUTLS LMDB LUA OPENSSL +OPTIONS_GROUP= KSVOPT +OPTIONS_GROUP_KSVOPT= CDB LMDB OPTIONS_MULTI= TLS OPTIONS_MULTI_TLS= GNUTLS OPENSSL +OPTIONS_SINGLE= EXTLUA +OPTIONS_SINGLE_EXTLUA= LUA LUAJIT LUAJITOR +CDB_DESC= CDB backend DNSTAP_DESC= dnstap support (see dnstap.info) -LUAJIT_DESC= Use LuaJIT instead of Lua +KSVOPT_DESC= Key Value Stores +LMDB_DESC= LMDB backend +LUAJITOR_DESC= Use lang/luajit-openresty +LUAJIT_DESC= Use lang/luajit +LUA_DESC= Use lang/lua + +CDB_LIB_DEPENDS= libcdb.so:databases/tinycdb +CDB_CONFIGURE_ON= CDB_CFLAGS="-I${LOCALBASE}/include" \ + CDB_LIBS="-L${LOCALBASE}/lib -lcdb" DNSTAP_LIB_DEPENDS= libfstrm.so:devel/fstrm DNSTAP_CONFIGURE_ENABLE= fstrm @@ -54,11 +66,19 @@ DNSTAP_CONFIGURE_ENABLE= fstrm GNUTLS_LIB_DEPENDS= libgnutls.so:security/gnutls GNUTLS_CONFIGURE_ENABLE= gnutls -LUAJIT_LIB_DEPENDS= libluajit-5.1.so:lang/luajit-openresty -LUAJIT_USES_OFF= lua -LUAJIT_CONFIGURE_OFF= --with-lua=lua-${LUA_VER} +LMDB_LIB_DEPENDS= liblmdb.so:databases/lmdb +LMDB_CONFIGURE_ON= --with-lmdb=${LOCALBASE} +LMDB_CONFIGURE_OFF= --without-lmdb + +LUAJITOR_LIB_DEPENDS= libluajit-5.1.so:lang/luajit-openresty +LUAJITOR_CONFIGURE_ON= --with-lua=luajit + +LUAJIT_LIB_DEPENDS= libluajit-5.1.so:lang/luajit LUAJIT_CONFIGURE_ON= --with-lua=luajit +LUA_USES= lua +LUA_CONFIGURE_ON= --with-lua=lua-${LUA_VER} + OPENSSL_USES= ssl OPENSSL_CONFIGURE_ON= LIBSSL_CFLAGS=-I${OPENSSLINC} \ LIBSSL_LIBS="-L${OPENSSLLIB} -lssl" diff --git a/dns/dnsdist/distinfo b/dns/dnsdist/distinfo index c588fdfc745f..9284d63514b8 100644 --- a/dns/dnsdist/distinfo +++ b/dns/dnsdist/distinfo @@ -1,3 +1,3 @@ -TIMESTAMP = 1579127277 -SHA256 (dnsdist-1.4.0.tar.bz2) = a336fa2c3eb381c2464d9d9790014fd6d4505029ed2c1b73ee1dc9115a2f1dc0 -SIZE (dnsdist-1.4.0.tar.bz2) = 1044479 +TIMESTAMP = 1596123185 +SHA256 (dnsdist-1.5.0.tar.bz2) = 2c07c4ef0c497f5223909ff181fe3ba7c6016962a2855cffe26b7f3609f27b58 +SIZE (dnsdist-1.5.0.tar.bz2) = 1067645 diff --git a/dns/dnsdist/files/patch-ext_luawrapper_include_LuaContext.hpp b/dns/dnsdist/files/patch-ext_luawrapper_include_LuaContext.hpp index 29a4da5074c6..90c376cb7e70 100644 --- a/dns/dnsdist/files/patch-ext_luawrapper_include_LuaContext.hpp +++ b/dns/dnsdist/files/patch-ext_luawrapper_include_LuaContext.hpp @@ -1,6 +1,6 @@ ---- ext/luawrapper/include/LuaContext.hpp.orig 2018-03-29 15:25:58 UTC +--- ext/luawrapper/include/LuaContext.hpp.orig 2018-11-12 08:33:58 UTC +++ ext/luawrapper/include/LuaContext.hpp -@@ -2635,11 +2635,21 @@ struct LuaContext::Reader +@@ -2649,11 +2649,21 @@ struct LuaContext::Reader static auto read(lua_State* state, int index) -> boost::optional { diff --git a/dns/dnsdist/pkg-descr b/dns/dnsdist/pkg-descr index 19c538437d55..c94e156c9a32 100644 --- a/dns/dnsdist/pkg-descr +++ b/dns/dnsdist/pkg-descr @@ -1,6 +1,29 @@ -dnsdist is a highly DNS-, DoS- and abuse-aware loadbalancer. Its -goal in life is to route DNS traffic to the best DNS server, -delivering top performance to legitimate users while shunting or -blocking abusive traffic. +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. + +dnsdist is dynamic, its configuration language is Lua and it can be can be +changed at runtime, and its statistics can be queried from a console-like +interface or an HTTP API. + +dnsdist is used to protect and optimize the DNS traffic of hundreds of millions +of internet subscribers. + + * IPv4, UDP/TCP + * IPv6, UDP/TCP, 100% compliant + * Remotely pollable statistics for real time graphing + * High performance + * SNMP statistics bridge (read only) + * Dynamically route queries to backend servers + * Advanced anti-spoofing measures + * Reconfiguration without downtime + * Kernel based filtering of harmful traffic, rejecting packets at 'line speed' + * Internal Lua-based scripted answer generation + * Question interception, answer reconditioning, NXDOMAIN redirection + - Including 'block lists' and security measures + * Built-in memory efficient cache for increased performance + * Ability to continue serving data from cache for non-responsive backends + * Smart rate limiting per user, per subnet, per domain + * Capable of writing dynamic rules to block harmful traffic WWW: https://dnsdist.org/