--- Makefile (revision 511401) +++ Makefile (working copy) @@ -2,8 +2,7 @@ # $FreeBSD$ PORTNAME= dnsdist -DISTVERSION= 1.3.3 -PORTREVISION= 11 +DISTVERSION= 1.4.0 CATEGORIES= dns net MASTER_SITES= https://downloads.powerdns.com/releases/ \ LOCAL/cpm @@ -38,14 +37,18 @@ USE_RC_SUBR= dnsdist -OPTIONS_DEFINE= FSTRM LUAJIT SNMP -OPTIONS_DEFAULT= GNUTLS OPENSSL +OPTIONS_DEFINE= DOH FSTRM LUAJIT SNMP +OPTIONS_DEFAULT= DOH GNUTLS OPENSSL OPTIONS_MULTI= TLS OPTIONS_MULTI_TLS= GNUTLS OPENSSL +DOH_DESC= DNS over HTTPS support FSTRM_DESC= dnstap support (see dnstap.info) LUAJIT_DESC= Use LuaJIT instead of Lua +DOH_LIB_DEPENDS= libh2o-evloop.so:www/h2o +DOH_CONFIGURE_ON= --enable-dns-over-https + FSTRM_LIB_DEPENDS= libfstrm.so:devel/fstrm FSTRM_CONFIGURE_ENABLE= fstrm --- distinfo (revision 511401) +++ distinfo (working copy) @@ -1,3 +1,3 @@ -TIMESTAMP = 1541860683 -SHA256 (dnsdist-1.3.3.tar.bz2) = 9fb24f9032025955169f3c6e9b0a05b6aa9d6441ec47da08d22de1c1aa23e8cf -SIZE (dnsdist-1.3.3.tar.bz2) = 971253 +TIMESTAMP = 1574293009 +SHA256 (dnsdist-1.4.0.tar.bz2) = a336fa2c3eb381c2464d9d9790014fd6d4505029ed2c1b73ee1dc9115a2f1dc0 +SIZE (dnsdist-1.4.0.tar.bz2) = 1044479 --- files/patch-dnsdist-lua-vars.cc (revision 511401) +++ files/patch-dnsdist-lua-vars.cc (nonexistent) @@ -1,11 +0,0 @@ ---- dnsdist-lua-vars.cc.orig 2018-10-03 09:48:10 UTC -+++ dnsdist-lua-vars.cc -@@ -22,6 +22,8 @@ - #include "dnsdist.hh" - #include "ednsoptions.hh" - -+#undef BADSIG // signal.h SIG_ERR -+ - void setupLuaVars() - { - g_lua.writeVariable("DNSAction", std::unordered_map{ --- files/patch-ext_luawrapper_include_LuaContext.hpp (revision 511401) +++ files/patch-ext_luawrapper_include_LuaContext.hpp (nonexistent) @@ -1,28 +0,0 @@ ---- 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 - static auto read(lua_State* state, int index) - -> boost::optional - { -+ 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::move(result) } : boost::none; - } - }; -