View | Details | Raw Unified | Return to bug 224297 | Differences between
and this patch

Collapse All | Expand All

(-)dns/powerdns-recursor40/Makefile (+61 lines)
Line 0 Link Here
1
# Created by: sten@blinkenlights.nl
2
# $FreeBSD$
3
4
PORTNAME=	recursor
5
DISTVERSION=	4.0.8
6
CATEGORIES=	dns ipv6
7
MASTER_SITES=	http://downloads.powerdns.com/releases/
8
PKGNAMEPREFIX=	powerdns-
9
PKGNAMESUFFIX=	40
10
DISTNAME=	pdns-${PORTNAME}-${DISTVERSION}
11
12
MAINTAINER=	tremere@cainites.net
13
COMMENT=	Advanced DNS recursor
14
15
LICENSE=	GPLv2
16
17
BROKEN_armv6=		fails to compile: use of overloaded operator << is ambiguous
18
BROKEN_armv7=		fails to compile: use of overloaded operator << is ambiguous
19
BROKEN_sparc64=		fails to compile: json11.cpp: undefined reference to std::__throw_out_of_range_fmt
20
BROKEN_powerpc64=	fails to compile: dnslabeltext.cc: undefined reference to std::__cxx11::basic_string
21
22
BUILD_DEPENDS=	${LOCALBASE}/include/boost/shared_ptr.hpp:devel/boost-libs
23
LIB_DEPENDS=	libboost_context.so:devel/boost-libs \
24
		libprotobuf.so:devel/protobuf
25
26
USES=		compiler:c++11-lib cpe gmake localbase:ldflags pkgconfig ssl tar:bzip2
27
GNU_CONFIGURE=	YES
28
CXXFLAGS+=	-D_GLIBCXX_USE_C99
29
CONFIGURE_ARGS=	--sysconfdir=${PREFIX}/etc/pdns \
30
		--with-protobuf
31
32
CPE_VENDOR=	powerdns
33
34
USE_RC_SUBR=	pdns-recursor
35
36
OPTIONS_DEFINE=	OPTALGO SETUID
37
OPTIONS_DEFAULT=	LUA SETUID
38
OPTIONS_RADIO=	LUA_RG
39
OPTIONS_RADIO_LUA_RG=	LUA LUAJIT
40
LUAJIT_DESC=		Enable LuaJIT
41
LUA_RG_DESC=		Lua Engine
42
OPTALGO_DESC=		Enable optional algorithms (12 & 15)
43
SETUID_DESC=		Run as pdns_recursor user
44
45
LUA_CONFIGURE_WITH=	lua
46
LUA_USES=		lua
47
48
LUAJIT_CONFIGURE_WITH=	luajit
49
LUAJIT_LIB_DEPENDS=	libluajit-5.1.so.2:lang/luajit
50
51
OPTALGO_CONFIGURE_ON=	--enable-botan \
52
			--enable-libsodium
53
OPTALGO_LIB_DEPENDS=	libbotan-2.so:security/botan2 \
54
			libsodium.so:security/libsodium
55
56
SETUID_VARS=	USERS=pdns_recursor GROUPS=pdns
57
SETUID_EXTRA_PATCHES=	${PATCHDIR}/extrapatch-setuid
58
59
SUB_FILES=	pkg-message
60
61
.include <bsd.port.mk>
(-)dns/powerdns-recursor40/distinfo (+3 lines)
Line 0 Link Here
1
TIMESTAMP = 1513108912
2
SHA256 (pdns-recursor-4.0.8.tar.bz2) = 9c6ff00f0e26044b0c81f1a8304743b4fc0f6699a356fce28cc8c2e6aaf16513
3
SIZE (pdns-recursor-4.0.8.tar.bz2) = 1071831
(-)dns/powerdns-recursor40/files/extrapatch-setuid (+13 lines)
Line 0 Link Here
1
--- pdns_recursor.cc.orig	2017-01-17 02:48:30 UTC
2
+++ pdns_recursor.cc
3
@@ -2969,8 +2969,8 @@ int main(int argc, char **argv)
4
     ::arg().set("disable-syslog","Disable logging to syslog, useful when running inside a supervisor that logs stdout")="no";
5
     ::arg().set("log-common-errors","If we should log rather common errors")="no";
6
     ::arg().set("chroot","switch to chroot jail")="";
7
-    ::arg().set("setgid","If set, change group id to this gid for more security")="";
8
-    ::arg().set("setuid","If set, change user id to this uid for more security")="";
9
+    ::arg().set("setgid","If set, change group id to this gid for more security")="pdns";
10
+    ::arg().set("setuid","If set, change user id to this uid for more security")="pdns_recursor";
11
     ::arg().set("network-timeout", "Wait this nummer of milliseconds for network i/o")="1500";
12
     ::arg().set("threads", "Launch this number of threads")="2";
13
     ::arg().set("processes", "Launch this number of processes (EXPERIMENTAL, DO NOT CHANGE)")="1"; // if we un-experimental this, need to fix openssl rand seeding for multiple PIDs!
(-)dns/powerdns-recursor40/files/patch-dnsname.hh (+20 lines)
Line 0 Link Here
1
--- dnsname.hh.orig	2017-01-17 03:18:41 UTC
2
+++ dnsname.hh
3
@@ -30,7 +30,7 @@
4
 #include <boost/version.hpp>
5
 
6
 // it crashes on OSX and doesn't compile on OpenBSD
7
-#if BOOST_VERSION >= 105300 && ! defined( __APPLE__ ) && ! defined(__OpenBSD__)
8
+#if BOOST_VERSION >= 105300 && ! defined(_LIBCPP_VERSION) && ! defined(__OpenBSD__)
9
 #include <boost/container/string.hpp>
10
 #endif
11
 
12
@@ -133,7 +133,7 @@ public:
13
   inline bool canonCompare(const DNSName& rhs) const;
14
   bool slowCanonCompare(const DNSName& rhs) const;  
15
 
16
-#if BOOST_VERSION >= 105300 && ! defined( __APPLE__ ) && ! defined(__OpenBSD__)
17
+#if BOOST_VERSION >= 105300 && ! defined(_LIBCPP_VERSION) && ! defined(__OpenBSD__)
18
   typedef boost::container::string string_t;
19
 #else
20
   typedef std::string string_t;
(-)dns/powerdns-recursor40/files/pdns-recursor.in (+37 lines)
Line 0 Link Here
1
#!/bin/sh
2
#
3
# $$
4
#
5
6
# PROVIDE: pdns_recursor
7
# REQUIRE: SERVERS cleanvar
8
# BEFORE:  DAEMON
9
# KEYWORD: shutdown
10
11
#
12
# Add the following lines to /etc/rc.conf to enable pdns_recursor:
13
#
14
# pdns_recursor_enable="YES"
15
# pdns_recursor_flags="<set as needed>"
16
#
17
# See pdns_recursor(8) for flags.
18
#
19
20
. /etc/rc.subr
21
22
name=pdns_recursor
23
rcvar=pdns_recursor_enable
24
25
command=%%PREFIX%%/sbin/pdns_recursor
26
command_args="--daemon=yes"
27
28
# set defaults
29
30
pdns_recursor_enable=${pdns_recursor_enable:-"NO"}
31
pdns_recursor_conf=${pdns_recursor_conf:-"%%PREFIX%%/etc/pdns/recursor.conf"}
32
33
load_rc_config ${name}
34
35
required_files=${pdns_recursor_conf}
36
37
run_rc_command "$1"
(-)dns/powerdns-recursor40/files/pkg-message.in (+11 lines)
Line 0 Link Here
1
2
*******************************************************************
3
 If you want to use the powerdns recursor,
4
 you need the following line in /etc/rc.conf(.local)
5
6
    pdns_recursor_enable="YES"
7
8
 Configuration templates are available in %%PREFIX%%/etc/pdns
9
 as recursor.conf-dist.
10
*******************************************************************
11
(-)dns/powerdns-recursor40/pkg-descr (+4 lines)
Line 0 Link Here
1
powerdns recursor is a high performance, simple and secure recursing
2
nameserver. It currently powers over two million internet connections.
3
4
WWW: http://www.powerdns.com
(-)dns/powerdns-recursor40/pkg-plist (+5 lines)
Line 0 Link Here
1
@sample etc/pdns/recursor.conf-dist etc/pdns/recursor.conf
2
bin/rec_control
3
sbin/pdns_recursor
4
man/man1/pdns_recursor.1.gz
5
man/man1/rec_control.1.gz

Return to bug 224297