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-all
mailing list