Index: head/dns/powerdns/Makefile =================================================================== --- head/dns/powerdns/Makefile (revision 534331) +++ head/dns/powerdns/Makefile (revision 534332) @@ -1,132 +1,128 @@ # $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} MAINTAINER= tremere@cainites.net COMMENT= Advanced DNS server with multiple backends including SQL LICENSE= GPLv2 BROKEN_sparc64= Does not compile: error: to_string is not a member of std LIB_DEPENDS= libboost_serialization.so:devel/boost-libs \ libcurl.so:ftp/curl USES= compiler:c++11-lib cpe gmake libtool localbase:ldflags pathfix \ pkgconfig ssl tar:bzip2 USE_LDCONFIG= YES USE_RC_SUBR= pdns USE_SUBMAKE= YES GNU_CONFIGURE= YES CONFIGURE_ARGS= --disable-static \ --docdir="${PREFIX}/share/doc/powerdns" \ --sysconfdir="${PREFIX}/etc/pdns" \ --with-boost="${LOCALBASE}" \ --with-dynmodules="pipe bind ${MODULES}" \ --with-modules="" INSTALL_TARGET= install-strip SCRIPTS_ENV= CURDIR2="${.CURDIR}" DISTNAME="${DISTNAME}" MKDIR="${MKDIR}" \ POWERDNS_OPTIONS="${POWERDNS_OPTIONS}" \ 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 OPTIONS_SUB= yes 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 REMOTEOPT_DESC= Remote backend connectors REMOTE_DESC= Remote backend SQLITE3_DESC= SQLite 3 backend TINYDNS_DESC= TinyDNS backend TOOLS_DESC= Build extra tools ZEROMQ_DESC= Enable ZeroMQ connector (Implies REMOTE enabled) GEOIP_LIB_DEPENDS= libmaxminddb.so:net/libmaxminddb \ 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 PGSQL_USES= pgsql PGSQL_CONFIGURE_ON= --with-pg-config=${LOCALBASE}/bin/pg_config PGSQL_VARS= MODULES+=gpgsql PROTOBUF_LIB_DEPENDS= libprotobuf.so:devel/protobuf PROTOBUF_CONFIGURE_WITH= protobuf REMOTE_VARS= MODULES+=remote SQLITE3_USES= sqlite:3 SQLITE3_VARS= MODULES+=gsqlite3 TINYDNS_LIB_DEPENDS= libcdb.so:databases/tinycdb TINYDNS_CONFIGURE_ON= CDB_CFLAGS="-I${LOCALBASE}/include" \ CDB_LIBS="-L${LOCALBASE}/lib -lcdb" TINYDNS_VARS= MODULES+=tinydns TOOLS_CONFIGURE_ENABLE= tools UNIXODBC_LIB_DEPENDS= libodbc.so:databases/unixODBC UNIXODBC_VARS= MODULES+=godbc ZEROMQ_IMPLIES= REMOTE ZEROMQ_LIB_DEPENDS= libzmq.so:net/libzmq4 ZEROMQ_CONFIGURE_ON= --enable-remotebackend-zeromq .include .if ${OPSYS} == FreeBSD && ${OSVERSION} < 1200085 && ${SSL_DEFAULT} != openssl CONFIGURE_ARGS+= --with-libdecaf \ --with-libsodium LIB_DEPENDS+= libdecaf.so:security/libdecaf \ libsodium.so:security/libsodium .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 .include Index: head/dns/powerdns/distinfo =================================================================== --- head/dns/powerdns/distinfo (revision 534331) +++ head/dns/powerdns/distinfo (revision 534332) @@ -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 Index: head/dns/powerdns/files/patch-fix_memleak_bindbackend =================================================================== --- head/dns/powerdns/files/patch-fix_memleak_bindbackend (revision 534331) +++ head/dns/powerdns/files/patch-fix_memleak_bindbackend (nonexistent) @@ -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; - }; - Property changes on: head/dns/powerdns/files/patch-fix_memleak_bindbackend ___________________________________________________________________ Deleted: fbsd:nokeywords ## -1 +0,0 ## -yes \ No newline at end of property Deleted: svn:eol-style ## -1 +0,0 ## -native \ No newline at end of property Deleted: svn:mime-type ## -1 +0,0 ## -text/plain \ No newline at end of property Index: head/dns/powerdns/files/patch-pdns_dns__random.cc =================================================================== --- head/dns/powerdns/files/patch-pdns_dns__random.cc (revision 534331) +++ head/dns/powerdns/files/patch-pdns_dns__random.cc (nonexistent) @@ -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 { Property changes on: head/dns/powerdns/files/patch-pdns_dns__random.cc ___________________________________________________________________ Deleted: fbsd:nokeywords ## -1 +0,0 ## -yes \ No newline at end of property Deleted: svn:eol-style ## -1 +0,0 ## -native \ No newline at end of property Deleted: svn:mime-type ## -1 +0,0 ## -text/plain \ No newline at end of property Index: head/dns/powerdns/files/patch-configure =================================================================== --- head/dns/powerdns/files/patch-configure (revision 534331) +++ head/dns/powerdns/files/patch-configure (revision 534332) @@ -1,15 +1,15 @@ ---- 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 - LIBCRYPTO_INCLUDES="-I$ssldir/include" - LIBCRYPTO_LDFLAGS="-L$ssldir/lib" + if test $ssldir != /usr; then + LIBCRYPTO_INCLUDES="-I$ssldir/include" + LIBCRYPTO_LDFLAGS="-L$ssldir/lib" + fi LIBCRYPTO_LIBS="-lcrypto" found=true { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 Index: head/dns/powerdns/files/patch-dns_random.cc =================================================================== --- head/dns/powerdns/files/patch-dns_random.cc (nonexistent) +++ head/dns/powerdns/files/patch-dns_random.cc (revision 534332) @@ -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 { Property changes on: head/dns/powerdns/files/patch-dns_random.cc ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +ON \ No newline at end of property Index: head/dns/powerdns/files/pdns.in =================================================================== --- head/dns/powerdns/files/pdns.in (revision 534331) +++ head/dns/powerdns/files/pdns.in (revision 534332) @@ -1,39 +1,39 @@ #!/bin/sh # # $FreeBSD$ # # PROVIDE: pdns_server # REQUIRE: DAEMON SERVERS mysql postgresql slapd # KEYWORD: shutdown # # Add the following lines to /etc/rc.conf to enable powerdns: # # pdns_enable="YES" # pdns_flags="" # # See pdns_server(8) for flags. # . /etc/rc.subr 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" run_rc_command "$1" Index: head/dns/powerdns/files/pkg-message.in =================================================================== --- head/dns/powerdns/files/pkg-message.in (revision 534331) +++ head/dns/powerdns/files/pkg-message.in (revision 534332) @@ -1,26 +1,32 @@ [ { type: install message: <