Index: head/dns/powerdns-recursor/Makefile =================================================================== --- head/dns/powerdns-recursor/Makefile (revision 536689) +++ head/dns/powerdns-recursor/Makefile (revision 536690) @@ -1,61 +1,62 @@ # Created by: sten@blinkenlights.nl # $FreeBSD$ PORTNAME= recursor -DISTVERSION= 4.3.0 +DISTVERSION= 4.3.1 CATEGORIES= dns MASTER_SITES= http://downloads.powerdns.com/releases/ PKGNAMEPREFIX= powerdns- DISTNAME= pdns-${PORTNAME}-${DISTVERSION} MAINTAINER= tremere@cainites.net COMMENT= Advanced DNS recursor LICENSE= GPLv2 LICENSE_FILE= ${WRKSRC}/COPYING BROKEN_armv6= fails to compile: use of overloaded operator << is ambiguous BROKEN_armv7= fails to compile: use of overloaded operator << is ambiguous +BROKEN_i386= crashes on startup (SIGSEGV) BROKEN_sparc64= fails to compile: json11.cpp: undefined reference to std::__throw_out_of_range_fmt BUILD_DEPENDS= ${LOCALBASE}/include/boost/shared_ptr.hpp:devel/boost-libs LIB_DEPENDS= libboost_context.so:devel/boost-libs \ libprotobuf.so:devel/protobuf USES= compiler:c++11-lib cpe gmake localbase:ldflags pkgconfig ssl \ tar:bzip2 CPE_VENDOR= powerdns USE_RC_SUBR= pdns-recursor GNU_CONFIGURE= YES CONFIGURE_ARGS= --sysconfdir=${PREFIX}/etc/pdns \ --with-protobuf \ --without-net-snmp SUB_FILES= pkg-message USERS= pdns_recursor GROUPS= pdns OPTIONS_DEFINE= LUAJIT LUAJIT_DESC= Use LuaJIT instead of Lua LUAJIT_LIB_DEPENDS= libluajit-5.1.so.2:lang/luajit-openresty LUAJIT_USES_OFF= lua LUAJIT_CONFIGURE_ON= --with-lua=luajit .include .if ${OPSYS} == FreeBSD && ${OSVERSION} < 1200085 && ${SSL_DEFAULT} != openssl CONFIGURE_ARGS+= --enable-libdecaf \ --enable-libsodium LIB_DEPENDS+= libdecaf.so:security/libdecaf \ libsodium.so:security/libsodium .endif post-install: @${MKDIR} ${STAGEDIR}/var/run/pdns-recursor .include Index: head/dns/powerdns-recursor/distinfo =================================================================== --- head/dns/powerdns-recursor/distinfo (revision 536689) +++ head/dns/powerdns-recursor/distinfo (revision 536690) @@ -1,3 +1,3 @@ -TIMESTAMP = 1583454090 -SHA256 (pdns-recursor-4.3.0.tar.bz2) = 2bc130f287dfdb32e03d0b38a4ac24baf1117f96eca9b407611c847fa08a628f -SIZE (pdns-recursor-4.3.0.tar.bz2) = 1349359 +TIMESTAMP = 1589879472 +SHA256 (pdns-recursor-4.3.1.tar.bz2) = 54230852fcad3c6291651069c383f7ea88c5d29ce3c561decb2f40a063f52fd9 +SIZE (pdns-recursor-4.3.1.tar.bz2) = 1334817 Index: head/dns/powerdns-recursor/files/patch-dns_random.cc =================================================================== --- head/dns/powerdns-recursor/files/patch-dns_random.cc (revision 536689) +++ head/dns/powerdns-recursor/files/patch-dns_random.cc (nonexistent) @@ -1,12 +0,0 @@ ---- dns_random.cc.orig 2018-11-29 12:53:42 UTC -+++ 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-recursor/files/patch-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-recursor/files/patch-configure =================================================================== --- head/dns/powerdns-recursor/files/patch-configure (revision 536689) +++ head/dns/powerdns-recursor/files/patch-configure (revision 536690) @@ -1,15 +1,15 @@ ---- configure.orig 2020-03-02 07:50:20.000000000 -0500 -+++ configure 2020-03-02 07:50:20.000000000 -0500 -@@ -21139,8 +21139,10 @@ +--- configure.orig 2020-05-08 09:56:25 UTC ++++ configure +@@ -21467,8 +21467,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-recursor/files/patch-dnsname.hh =================================================================== --- head/dns/powerdns-recursor/files/patch-dnsname.hh (revision 536689) +++ head/dns/powerdns-recursor/files/patch-dnsname.hh (revision 536690) @@ -1,20 +1,20 @@ ---- dnsname.hh.orig 2020-03-02 07:49:54.000000000 -0500 -+++ dnsname.hh 2020-03-02 07:49:54.000000000 -0500 +--- dnsname.hh.orig 2020-05-08 09:31:59 UTC ++++ dnsname.hh @@ -33,7 +33,7 @@ #include // it crashes on OSX and doesn't compile on OpenBSD -#if BOOST_VERSION >= 105300 && ! defined( __APPLE__ ) && ! defined(__OpenBSD__) +#if BOOST_VERSION >= 105300 && ! defined(_LIBCPP_VERSION) && ! defined(__OpenBSD__) #include #endif -@@ -138,7 +138,7 @@ +@@ -138,7 +138,7 @@ class DNSName (public) inline bool canonCompare(const DNSName& rhs) const; bool slowCanonCompare(const DNSName& rhs) const; -#if BOOST_VERSION >= 105300 && ! defined( __APPLE__ ) && ! defined(__OpenBSD__) +#if BOOST_VERSION >= 105300 && ! defined(_LIBCPP_VERSION) && ! defined(__OpenBSD__) typedef boost::container::string string_t; #else typedef std::string string_t; Index: head/dns/powerdns-recursor/files/patch-hostnamemax =================================================================== --- head/dns/powerdns-recursor/files/patch-hostnamemax (nonexistent) +++ head/dns/powerdns-recursor/files/patch-hostnamemax (revision 536690) @@ -0,0 +1,90 @@ +diff --git misc.cc misc.cc +index f9248af42a..5cb4dbe812 100644 +--- misc.cc ++++ misc.cc +@@ -57,6 +57,7 @@ + #include + #include + #include ++#include + #ifdef __FreeBSD__ + # include + #endif +@@ -1563,3 +1564,39 @@ bool setPipeBufferSize(int fd, size_t size) + return false; + #endif /* F_SETPIPE_SZ */ + } ++ ++static size_t getMaxHostNameSize() ++{ ++#if defined(HOST_NAME_MAX) ++ return HOST_NAME_MAX; ++#endif ++ ++#if defined(_SC_HOST_NAME_MAX) ++ auto tmp = sysconf(_SC_HOST_NAME_MAX); ++ if (tmp != -1) { ++ return tmp; ++ } ++#endif ++ ++ /* _POSIX_HOST_NAME_MAX */ ++ return 255; ++} ++ ++std::string getCarbonHostName() ++{ ++ std::string hostname; ++ hostname.resize(getMaxHostNameSize() + 1, 0); ++ ++ if (gethostname(const_cast(hostname.c_str()), hostname.size()) != 0) { ++ throw std::runtime_error(stringerror()); ++ } ++ ++ auto pos = hostname.find("."); ++ if (pos != std::string::npos) { ++ hostname.resize(pos); ++ } ++ ++ boost::replace_all(hostname, ".", "_"); ++ ++ return hostname; ++} +diff --git misc.hh misc.hh +index 4bd9439a87..795e8ec855 100644 +--- misc.hh ++++ misc.hh +@@ -607,3 +607,5 @@ bool isSettingThreadCPUAffinitySupported(); + int mapThreadToCPUList(pthread_t tid, const std::set& cpus); + + std::vector getResolvers(const std::string& resolvConfPath); ++ ++std::string getCarbonHostName(); +diff --git rec-carbon.cc rec-carbon.cc +index 4e0cedb00f..458a25d5ca 100644 +--- rec-carbon.cc ++++ rec-carbon.cc +@@ -32,17 +32,13 @@ try + if(namespace_name.empty()) { + namespace_name="pdns"; + } +- if(hostname.empty()) { +- char tmp[HOST_NAME_MAX+1]; +- memset(tmp, 0, sizeof(tmp)); +- if (gethostname(tmp, sizeof(tmp)) != 0) { +- throw std::runtime_error("The 'carbon-ourname' setting has not been set and we are unable to determine the system's hostname: " + stringerror()); ++ if (hostname.empty()) { ++ try { ++ hostname = getCarbonHostName(); ++ } ++ catch(const std::exception& e) { ++ throw std::runtime_error(std::string("The 'carbon-ourname' setting has not been set and we are unable to determine the system's hostname: ") + e.what()); + } +- char *p = strchr(tmp, '.'); +- if(p) *p=0; +- +- hostname=tmp; +- boost::replace_all(hostname, ".", "_"); + } + if(instance_name.empty()) { + instance_name="recursor"; Property changes on: head/dns/powerdns-recursor/files/patch-hostnamemax ___________________________________________________________________ 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 Index: head/dns/powerdns-recursor/files/patch-pdns_recursor.cc =================================================================== --- head/dns/powerdns-recursor/files/patch-pdns_recursor.cc (revision 536689) +++ head/dns/powerdns-recursor/files/patch-pdns_recursor.cc (revision 536690) @@ -1,17 +1,17 @@ ---- pdns_recursor.cc.orig 2020-03-02 07:49:54.000000000 -0500 -+++ pdns_recursor.cc 2020-03-02 07:49:54.000000000 -0500 -@@ -4639,12 +4639,12 @@ +--- pdns_recursor.cc.orig 2020-05-08 09:31:59 UTC ++++ pdns_recursor.cc +@@ -4640,12 +4640,12 @@ int main(int argc, char **argv) #define SYSTEMD_SETID_MSG ". When running inside systemd, use the User and Group settings in the unit-file!" SYSTEMD_SETID_MSG #endif - )=""; + )="pdns"; ::arg().set("setuid","If set, change user id to this uid for more security" #ifdef HAVE_SYSTEMD SYSTEMD_SETID_MSG #endif - )=""; + )="pdns_recursor"; ::arg().set("network-timeout", "Wait this number of milliseconds for network i/o")="1500"; ::arg().set("threads", "Launch this number of threads")="2"; ::arg().set("distributor-threads", "Launch this number of distributor threads, distributing queries to other threads")="0";