svn commit: r466166 - in head/dns/dnsdist: . files

Carlos J. Puga Medina cpm at FreeBSD.org
Sun Apr 1 15:14:47 UTC 2018


Author: cpm
Date: Sun Apr  1 15:14:45 2018
New Revision: 466166
URL: https://svnweb.freebsd.org/changeset/ports/466166

Log:
  dns/dnsdist: fix rc.d script, add support for LuaJIT and enable some new features
  
  - Really fix the rc.d script to start using daemon(8) and add the --supervised commandline argument (which suppresses opening up the console)
  - Enable DNS-over-TLS (upstream suggests enabling both GnuTLS and OpenSSL backends so you can switch in case of a serious security issue in .ie OpenSSL)
  - Add OpenSSL support (enabled by default)
  - Add GnuTLS support (enabled by default)
  - Add dnstap support (disabled by default)
  - Add SNMP support (disabled by default)
  - Add support for LuaJIT or whatever you set as your default version in make.conf (disabled by default)
  - Bump PORTREVISION
  
  PR:		227175
  Submitted by:	Ralf van der Enden <tremere at cainites.net>
  MFH:		2018Q2

Added:
  head/dns/dnsdist/files/patch-ext_luawrapper_include_LuaContext.hpp   (contents, props changed)
Modified:
  head/dns/dnsdist/Makefile
  head/dns/dnsdist/files/dnsdist.in

Modified: head/dns/dnsdist/Makefile
==============================================================================
--- head/dns/dnsdist/Makefile	Sun Apr  1 15:13:48 2018	(r466165)
+++ head/dns/dnsdist/Makefile	Sun Apr  1 15:14:45 2018	(r466166)
@@ -3,7 +3,7 @@
 
 PORTNAME=	dnsdist
 DISTVERSION=	1.3.0
-PORTREVISION=	1
+PORTREVISION=	2
 CATEGORIES=	dns net
 MASTER_SITES=	https://downloads.powerdns.com/releases/ \
 		LOCAL/cpm
@@ -22,9 +22,10 @@ LIB_DEPENDS=	libboost_serialization.so:devel/boost-lib
 		libsodium.so:security/libsodium
 
 GNU_CONFIGURE=	yes
-USES=		bison compiler cpe gmake libedit libtool localbase lua:52 \
+USES=		bison compiler cpe gmake libedit libtool localbase \
 		pkgconfig tar:bz2
 CONFIGURE_ARGS=	--bindir=${PREFIX}/sbin \
+		--enable-dns-over-tls \
 		--enable-dnscrypt \
 		--enable-libsodium \
 		--enable-re2
@@ -35,6 +36,30 @@ USERS=		_dnsdist
 GROUPS=		_dnsdist
 
 USE_RC_SUBR=	dnsdist
+
+OPTIONS_DEFINE=		FSTRM LUAJIT SNMP
+OPTIONS_DEFAULT=	GNUTLS OPENSSL
+OPTIONS_MULTI=		TLS
+OPTIONS_MULTI_TLS=	GNUTLS OPENSSL
+
+FSTRM_DESC=	dnstap support (see dnstap.info)
+LUAJIT_DESC=	Use LuaJIT instead of Lua
+
+FSTRM_LIB_DEPENDS=	libfstrm.so:devel/fstrm
+FSTRM_CONFIGURE_ENABLE=	fstrm
+
+GNUTLS_LIB_DEPENDS=	libgnutls.so:security/gnutls
+GNUTLS_CONFIGURE_ENABLE=gnutls
+
+LUAJIT_LIB_DEPENDS=	libluajit-5.1.so.2:lang/luajit
+LUAJIT_USES_OFF=	lua
+LUAJIT_CONFIGURE_WITH=	luajit
+
+OPENSSL_USES=		ssl
+OPENSSL_CONFIGURE_ENABLE=libssl
+
+SNMP_LIB_DEPENDS=	libnetsnmp.so:net-mgmt/net-snmp
+SNMP_CONFIGURE_WITH=	net-snmp
 
 .include <bsd.port.pre.mk>
 

Modified: head/dns/dnsdist/files/dnsdist.in
==============================================================================
--- head/dns/dnsdist/files/dnsdist.in	Sun Apr  1 15:13:48 2018	(r466165)
+++ head/dns/dnsdist/files/dnsdist.in	Sun Apr  1 15:14:45 2018	(r466166)
@@ -22,7 +22,10 @@ load_rc_config ${name}
 : ${dnsdist_priv_group:=_dnsdist}
 : ${dnsdist_enable:=NO}
 
-command=/usr/local/sbin/${name}
-command_args="-u ${dnsdist_priv_user} -g ${dnsdist_priv_group}"
+pidfile=/var/run/${name}.pid
+
+command=/usr/sbin/daemon
+actual_command=/usr/local/sbin/${name}
+command_args="-c -f -r -P ${pidfile} ${actual_command} -u ${dnsdist_priv_user} -g ${dnsdist_priv_group} --supervised"
 
 run_rc_command "$1"

Added: head/dns/dnsdist/files/patch-ext_luawrapper_include_LuaContext.hpp
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/dns/dnsdist/files/patch-ext_luawrapper_include_LuaContext.hpp	Sun Apr  1 15:14:45 2018	(r466166)
@@ -0,0 +1,28 @@
+--- ext/luawrapper/include/LuaContext.hpp.orig	2018-03-29 15:25:58 UTC
++++ ext/luawrapper/include/LuaContext.hpp
+@@ -2635,11 +2635,21 @@ struct LuaContext::Reader<std::string>
+     static auto read(lua_State* state, int index)
+         -> boost::optional<std::string>
+     {
++        std::string result;
++
++        // lua_tolstring might convert the variable that would confuse lua_next, so we
++        //   make a copy of the variable.
++        lua_pushvalue(state, index);
++
+         size_t len;
+-        const auto val = lua_tolstring(state, index, &len);
+-        if (val == 0)
+-            return boost::none;
+-        return std::string(val, len);
++        const auto val = lua_tolstring(state, -1, &len);
++
++        if (val != 0)
++          result.assign(val, len);
++
++        lua_pop(state, 1);
++
++        return val != 0 ? boost::optional<std::string>{ std::move(result) } : boost::none;
+     }
+ };
+ 


More information about the svn-ports-head mailing list