Index: head/dns/powerdns/Makefile =================================================================== --- head/dns/powerdns/Makefile (revision 523341) +++ head/dns/powerdns/Makefile (revision 523342) @@ -1,132 +1,131 @@ # $FreeBSD$ PORTNAME= powerdns -DISTVERSION= 4.2.0 -PORTREVISION= 1 +DISTVERSION= 4.2.1 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 \ SQLITE3 TINYDNS TOOLS UNIXODBC OPTIONS_DEFAULT= 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) 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 LUABACKEND_VARS= MODULES+=lua2 -LUAJIT_LIB_DEPENDS= libluajit-5.1.so.2:lang/luajit +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} - @${STAGEDIR}${LOCALBASE}/sbin/pdns_server --module-dir=${STAGEDIR}${LOCALBASE}/lib/pdns --launch="pipe bind ${MODULES}" --config > ${STAGEDIR}${EXAMPLESDIR}/pdns.conf + @${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 523341) +++ head/dns/powerdns/distinfo (revision 523342) @@ -1,3 +1,3 @@ -TIMESTAMP = 1567076172 -SHA256 (pdns-4.2.0.tar.bz2) = 222007f25e25aad71ac7d8b7f1797a4bcb30781e456d74ed00396e53828a903a -SIZE (pdns-4.2.0.tar.bz2) = 1249282 +TIMESTAMP = 1575879679 +SHA256 (pdns-4.2.1.tar.bz2) = f65019986b8fcbb1c6fffebcded04b2b397b84395830f4c63e8d119bcfa1aa28 +SIZE (pdns-4.2.1.tar.bz2) = 1252829 Index: head/dns/powerdns/files/patch-configure =================================================================== --- head/dns/powerdns/files/patch-configure (revision 523341) +++ head/dns/powerdns/files/patch-configure (revision 523342) @@ -1,15 +1,15 @@ ---- configure.orig 2019-03-22 11:48:09 UTC +--- configure.orig 2019-11-29 19:23:06 UTC +++ configure -@@ -18170,8 +18170,10 @@ fi +@@ -19757,8 +19757,10 @@ fi { $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-fix_memleak_bindbackend =================================================================== --- head/dns/powerdns/files/patch-fix_memleak_bindbackend (nonexistent) +++ head/dns/powerdns/files/patch-fix_memleak_bindbackend (revision 523342) @@ -0,0 +1,80 @@ +------------------------------------------------------------------------------------------ +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 ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +yes \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property