--- powerdns/Makefile 2020-05-06 13:54:45.479570000 -0400 +++ powerdns/Makefile 2020-05-06 14:00:50.373882000 -0400 @@ -1,8 +1,7 @@ # $FreeBSD$ PORTNAME= powerdns -DISTVERSION= 4.2.1 -PORTREVISION= 1 +DISTVERSION= 4.3.0 CATEGORIES= dns MASTER_SITES= https://downloads.powerdns.com/releases/ DISTNAME= pdns-${DISTVERSION} @@ -37,10 +36,10 @@ WRKDIRPREFIX="${WRKDIRPREFIX}" SUB_FILES= pkg-message -OPTIONS_DEFINE= DOCS EXAMPLES GEOIP LUABACKEND LUAJIT MYDNS \ - MYSQL OPENDBX OPENLDAP PGSQL PROTOBUF REMOTE \ +OPTIONS_DEFINE= DOCS EXAMPLES GEOIP LMDB LUABACKEND LUAJIT \ + MYSQL OPENLDAP PGSQL PROTOBUF REMOTE \ SQLITE3 TINYDNS TOOLS UNIXODBC -OPTIONS_DEFAULT= MYSQL PGSQL SQLITE3 +OPTIONS_DEFAULT= LMDB MYSQL PGSQL SQLITE3 OPTIONS_GROUP= GEOIPOPT REMOTEOPT OPTIONS_GROUP_REMOTEOPT= ZEROMQ @@ -48,11 +47,10 @@ GEOIPOPT_DESC= GeoIP DB options GEOIP_DESC= GeoIP backend (GeoIP2 DB) +LMDB_DESC= LMDB backend LUABACKEND_DESC= Lua2 backend LUAJIT_DESC= Use LuaJIT instead of Lua -MYDNS_DESC= MyDNS backend MYSQL_DESC= MySQL backend -OPENDBX_DESC= OpenDBX backend OPENLDAP_DESC= OpenLDAP backend PGSQL_DESC= PostgreSQL backend PROTOBUF_DESC= Protobuf support @@ -67,24 +65,22 @@ libyaml-cpp.so:devel/yaml-cpp GEOIP_VARS= MODULES+=geoip +LMDB_LIB_DEPENDS= liblmdb.so:databases/lmdb +LMDB_CONFIGURE_OFF= --without-lmdb +LMDB_CONFIGURE_ON= --with-lmdb=${LOCALBASE} +LMDB_VARS= MODULES+=lmdb + LUABACKEND_VARS= MODULES+=lua2 LUAJIT_LIB_DEPENDS= libluajit-5.1.so.2:lang/luajit-openresty LUAJIT_USES_OFF= lua LUAJIT_CONFIGURE_ON= --with-lua=luajit -MYDNS_USES= mysql -MYDNS_CONFIGURE_ON= --with-mysql=${LOCALBASE} -MYDNS_VARS= MODULES+=mydns - MYSQL_USES= mysql MYSQL_CONFIGURE_OFF= --without-mysql MYSQL_CONFIGURE_ON= --with-mysql=${LOCALBASE} MYSQL_VARS= MODULES+=gmysql -OPENDBX_LIB_DEPENDS= libopendbx.so:databases/opendbx -OPENDBX_VARS= MODULES+=opendbx - OPENLDAP_USE= OPENLDAP=YES OPENLDAP_CXXFLAGS= -DLDAP_DEPRECATED=1 OPENLDAP_VARS= MODULES+=ldap @@ -125,7 +121,7 @@ .endif post-install:: - @${MKDIR} ${STAGEDIR}${EXAMPLESDIR} + @${MKDIR} ${STAGEDIR}${EXAMPLESDIR} ${STAGEDIR}/var/run/pdns @${STAGEDIR}${PREFIX}/sbin/pdns_server --module-dir=${STAGEDIR}${PREFIX}/lib/pdns --launch="pipe bind ${MODULES}" --config > ${STAGEDIR}${EXAMPLESDIR}/pdns.conf @${REINPLACE_CMD} -e 's;${STAGEDIR};;' -i '' ${STAGEDIR}${EXAMPLESDIR}/pdns.conf --- powerdns/distinfo 2020-05-06 13:54:45.479656000 -0400 +++ powerdns/distinfo 2020-05-06 14:00:36.300531000 -0400 @@ -1,3 +1,3 @@ -TIMESTAMP = 1575879679 -SHA256 (pdns-4.2.1.tar.bz2) = f65019986b8fcbb1c6fffebcded04b2b397b84395830f4c63e8d119bcfa1aa28 -SIZE (pdns-4.2.1.tar.bz2) = 1252829 +TIMESTAMP = 1588788036 +SHA256 (pdns-4.3.0.tar.bz2) = 6be2e70f100df6f32cb431d5f57ca0aabde1fba6c11d947eccc86d44bdf95d08 +SIZE (pdns-4.3.0.tar.bz2) = 1211536 --- powerdns/files/patch-configure 2020-05-06 13:54:45.479786000 -0400 +++ powerdns/files/patch-configure 2020-01-17 13:01:31.000000000 -0500 @@ -1,6 +1,6 @@ ---- configure.orig 2019-11-29 19:23:06 UTC -+++ configure -@@ -19757,8 +19757,10 @@ fi +--- configure.orig 2020-02-18 21:26:30.000000000 -0500 ++++ configure 2020-02-18 21:26:30.000000000 -0500 +@@ -19774,8 +19774,10 @@ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for openssl/crypto.h in $ssldir" >&5 $as_echo_n "checking for openssl/crypto.h in $ssldir... " >&6; } if test -f "$ssldir/include/openssl/crypto.h"; then --- powerdns/files/patch-dns_random.cc 1969-12-31 19:00:00.000000000 -0500 +++ powerdns/files/patch-dns_random.cc 2020-05-06 13:54:45.479243000 -0400 @@ -0,0 +1,12 @@ +--- pdns/dns_random.cc.orig 2018-11-29 12:53:42 UTC ++++ pdns/dns_random.cc +@@ -40,7 +40,9 @@ + #include + #endif + #if defined(HAVE_GETRANDOM) ++extern "C" { + #include ++} + #endif + + static enum DNS_RNG { --- powerdns/files/patch-fix_memleak_bindbackend 2020-05-06 13:54:45.479886000 -0400 +++ powerdns/files/patch-fix_memleak_bindbackend 1969-12-31 19:00:00.000000000 -0500 @@ -1,80 +0,0 @@ ------------------------------------------------------------------------------------------- -bind backend: pthread_mutex_t should be inited and destroyed and not be copied #8350 - -To make our live easier, use a native C++ mutex. -Fixes #8161 - -https://github.com/PowerDNS/pdns/pull/8350 ------------------------------------------------------------------------------------------- ---- modules/bindbackend/bindbackend2.cc.orig 2019-11-29 15:11:44 UTC -+++ modules/bindbackend/bindbackend2.cc -@@ -80,6 +80,9 @@ pthread_mutex_t Bind2Backend::s_supermaster_config_loc - pthread_mutex_t Bind2Backend::s_startup_lock=PTHREAD_MUTEX_INITIALIZER; - string Bind2Backend::s_binddirectory; - -+template -+std::mutex LookButDontTouch::s_lock; -+ - BB2DomainInfo::BB2DomainInfo() - { - d_loaded=false; ---- modules/bindbackend/bindbackend2.hh.orig 2019-11-29 15:11:44 UTC -+++ modules/bindbackend/bindbackend2.hh -@@ -29,6 +29,7 @@ - #include - #include - #include -+#include - #include - - #include -@@ -103,22 +104,18 @@ template - class LookButDontTouch // : public boost::noncopyable - { - public: -- LookButDontTouch() -+ LookButDontTouch() - { -- pthread_mutex_init(&d_lock, 0); -- pthread_mutex_init(&d_swaplock, 0); - } - LookButDontTouch(shared_ptr records) : d_records(records) - { -- pthread_mutex_init(&d_lock, 0); -- pthread_mutex_init(&d_swaplock, 0); - } - - shared_ptr get() - { - shared_ptr ret; - { -- Lock l(&d_lock); -+ std::lock_guard lock(s_lock); - ret = d_records; - } - return ret; -@@ -128,22 +125,14 @@ class LookButDontTouch // : public boost::noncopyable - { - shared_ptr ret; - { -- Lock l(&d_lock); -+ std::lock_guard lock(s_lock); - ret = d_records; - } - return ret; - } - -- -- void swap(shared_ptr records) -- { -- Lock l(&d_lock); -- Lock l2(&d_swaplock); -- d_records.swap(records); -- } -- pthread_mutex_t d_lock; -- pthread_mutex_t d_swaplock; - private: -+ static std::mutex s_lock; - shared_ptr d_records; - }; - --- powerdns/files/patch-pdns_dns__random.cc 2020-05-06 13:54:45.479963000 -0400 +++ powerdns/files/patch-pdns_dns__random.cc 1969-12-31 19:00:00.000000000 -0500 @@ -1,12 +0,0 @@ ---- pdns/dns_random.cc.orig 2018-11-29 12:53:42 UTC -+++ pdns/dns_random.cc -@@ -40,7 +40,9 @@ - #include - #endif - #if defined(HAVE_GETRANDOM) -+extern "C" { - #include -+} - #endif - - static enum DNS_RNG { --- powerdns/files/pdns.in 2020-05-06 13:54:45.480040000 -0400 +++ powerdns/files/pdns.in 2019-09-05 12:51:04.000000000 -0400 @@ -21,17 +21,17 @@ name=pdns rcvar=pdns_enable -command=%%PREFIX%%/sbin/pdns_server +load_rc_config ${name} -# set defaults - pdns_enable=${pdns_enable:-"NO"} pdns_conf=${pdns_conf:-"%%PREFIX%%/etc/pdns/pdns.conf"} -pdns_flags=${pdns_flags:-"--daemon=yes --guardian=yes"} -load_rc_config ${name} - required_files=${pdns_conf} + +pidfile=/var/run/pdns/pdns_server.pid + +command=%%PREFIX%%/sbin/pdns_server +command_args="--daemon --guardian" monitor_cmd="${command} --daemon=no --guardian=no --control-console --loglevel=9" extra_commands="monitor" --- powerdns/files/pkg-message.in 2020-05-06 13:54:45.480127000 -0400 +++ powerdns/files/pkg-message.in 2019-09-05 12:51:04.000000000 -0400 @@ -1,7 +1,8 @@ [ { type: install message: <