View | Details | Raw Unified | Return to bug 246434
Collapse All | Expand All

(-)Makefile (-5 / +9 lines)
Lines 2-7 Link Here
2
2
3
PORTNAME=	powerdns
3
PORTNAME=	powerdns
4
DISTVERSION=	4.3.0
4
DISTVERSION=	4.3.0
5
PORTREVISION=	1
5
CATEGORIES=	dns
6
CATEGORIES=	dns
6
MASTER_SITES=	https://downloads.powerdns.com/releases/
7
MASTER_SITES=	https://downloads.powerdns.com/releases/
7
DISTNAME=	pdns-${DISTVERSION}
8
DISTNAME=	pdns-${DISTVERSION}
Lines 11-17 Link Here
11
12
12
LICENSE=	GPLv2
13
LICENSE=	GPLv2
13
14
14
BROKEN_sparc64=		Does not compile: error: to_string is not a member of std
15
BROKEN_sparc64=	Does not compile: error: to_string is not a member of std
15
16
16
LIB_DEPENDS=	libboost_serialization.so:devel/boost-libs \
17
LIB_DEPENDS=	libboost_serialization.so:devel/boost-libs \
17
		libcurl.so:ftp/curl
18
		libcurl.so:ftp/curl
Lines 36-43 Link Here
36
		WRKDIRPREFIX="${WRKDIRPREFIX}"
37
		WRKDIRPREFIX="${WRKDIRPREFIX}"
37
SUB_FILES=	pkg-message
38
SUB_FILES=	pkg-message
38
39
39
OPTIONS_DEFINE=			DOCS EXAMPLES GEOIP LMDB LUABACKEND LUAJIT \
40
OPTIONS_DEFINE=			DOCS EXAMPLES GEOIP IXFRDIST LMDB LUABACKEND \
40
				MYSQL OPENLDAP PGSQL PROTOBUF REMOTE \
41
				LUAJIT MYSQL OPENLDAP PGSQL PROTOBUF REMOTE \
41
				SQLITE3 TINYDNS TOOLS UNIXODBC
42
				SQLITE3 TINYDNS TOOLS UNIXODBC
42
OPTIONS_DEFAULT=		LMDB MYSQL PGSQL SQLITE3
43
OPTIONS_DEFAULT=		LMDB MYSQL PGSQL SQLITE3
43
OPTIONS_GROUP=			GEOIPOPT REMOTEOPT
44
OPTIONS_GROUP=			GEOIPOPT REMOTEOPT
Lines 47-52 Link Here
47
48
48
GEOIPOPT_DESC=		GeoIP DB options
49
GEOIPOPT_DESC=		GeoIP DB options
49
GEOIP_DESC=		GeoIP backend (GeoIP2 DB)
50
GEOIP_DESC=		GeoIP backend (GeoIP2 DB)
51
IXFRDIST_DESC=		Build ixfrdist
50
LMDB_DESC=		LMDB backend
52
LMDB_DESC=		LMDB backend
51
LUABACKEND_DESC=	Lua2 backend
53
LUABACKEND_DESC=	Lua2 backend
52
LUAJIT_DESC=		Use LuaJIT instead of Lua
54
LUAJIT_DESC=		Use LuaJIT instead of Lua
Lines 65-73 Link Here
65
			libyaml-cpp.so:devel/yaml-cpp
67
			libyaml-cpp.so:devel/yaml-cpp
66
GEOIP_VARS=		MODULES+=geoip
68
GEOIP_VARS=		MODULES+=geoip
67
69
70
IXFRDIST_CONFIGURE_ENABLE=	ixfrdist
71
68
LMDB_LIB_DEPENDS=	liblmdb.so:databases/lmdb
72
LMDB_LIB_DEPENDS=	liblmdb.so:databases/lmdb
73
LMDB_CONFIGURE_ON=	--with-lmdb=${LOCALBASE}
69
LMDB_CONFIGURE_OFF=	--without-lmdb
74
LMDB_CONFIGURE_OFF=	--without-lmdb
70
LMDB_CONFIGURE_ON=	--with-lmdb=${LOCALBASE}
71
LMDB_VARS=		MODULES+=lmdb
75
LMDB_VARS=		MODULES+=lmdb
72
76
73
LUABACKEND_VARS=	MODULES+=lua2
77
LUABACKEND_VARS=	MODULES+=lua2
Lines 77-84 Link Here
77
LUAJIT_CONFIGURE_ON=	--with-lua=luajit
81
LUAJIT_CONFIGURE_ON=	--with-lua=luajit
78
82
79
MYSQL_USES=		mysql
83
MYSQL_USES=		mysql
84
MYSQL_CONFIGURE_ON=	--with-mysql=${LOCALBASE}
80
MYSQL_CONFIGURE_OFF=	--without-mysql
85
MYSQL_CONFIGURE_OFF=	--without-mysql
81
MYSQL_CONFIGURE_ON=	--with-mysql=${LOCALBASE}
82
MYSQL_VARS=		MODULES+=gmysql
86
MYSQL_VARS=		MODULES+=gmysql
83
87
84
OPENLDAP_USE=		OPENLDAP=YES
88
OPENLDAP_USE=		OPENLDAP=YES
(-)files/patch-configure (-3 / +3 lines)
Lines 1-6 Link Here
1
--- configure.orig	2020-02-18 21:26:30.000000000 -0500
1
--- configure.orig	2020-04-06 12:51:03 UTC
2
+++ configure	2020-02-18 21:26:30.000000000 -0500
2
+++ configure
3
@@ -19774,8 +19774,10 @@
3
@@ -19774,8 +19774,10 @@ fi
4
             { $as_echo "$as_me:${as_lineno-$LINENO}: checking for openssl/crypto.h in $ssldir" >&5
4
             { $as_echo "$as_me:${as_lineno-$LINENO}: checking for openssl/crypto.h in $ssldir" >&5
5
 $as_echo_n "checking for openssl/crypto.h in $ssldir... " >&6; }
5
 $as_echo_n "checking for openssl/crypto.h in $ssldir... " >&6; }
6
             if test -f "$ssldir/include/openssl/crypto.h"; then
6
             if test -f "$ssldir/include/openssl/crypto.h"; then
(-)files/patch-dns_random.cc (-12 lines)
Lines 1-12 Link Here
1
--- pdns/dns_random.cc.orig	2018-11-29 12:53:42 UTC
2
+++ pdns/dns_random.cc
3
@@ -40,7 +40,9 @@
4
 #include <openssl/rand.h>
5
 #endif
6
 #if defined(HAVE_GETRANDOM)
7
+extern "C" {
8
 #include <sys/random.h>
9
+}
10
 #endif
11
 
12
 static enum DNS_RNG {
(-)files/pdns.in (-1 / +1 lines)
Lines 28-34 Link Here
28
28
29
required_files=${pdns_conf}
29
required_files=${pdns_conf}
30
30
31
pidfile=/var/run/pdns/pdns_server.pid
31
pidfile=/var/run/pdns/${name}.pid
32
32
33
command=%%PREFIX%%/sbin/pdns_server
33
command=%%PREFIX%%/sbin/pdns_server
34
command_args="--daemon --guardian"
34
command_args="--daemon --guardian"
(-)files/pkg-message.in (-18 / +40 lines)
Lines 1-32 Link Here
1
[
1
[
2
{ type: install
2
{ type: install
3
  message: <<EOM
3
  message: <<EOM
4
 Enable PowerDNS in /etc/rc.conf(.local) or in
4
Enable PowerDNS in /etc/rc.conf(.local) or in /etc/rc.conf.d/pdns with the following line:
5
 /etc/rc.conf.d/pdns with the following line:
6
5
7
    pdns_enable="YES"
6
    pdns_enable="YES"
8
7
9
 A configuration template is available in %%PREFIX%%/etc/pdns
8
A configuration template is available in %%PREFIX%%/etc/pdns as pdns.conf-dist.
10
 as pdns.conf-dist.
11
9
12
 A pdns.conf with all possible options is available in
10
A pdns.conf with all possible options is available in %%EXAMPLESDIR%%
13
 %%EXAMPLESDIR%%
11
12
Initialization file(s) for your database backend(s) are available in %%DOCSDIR%% as "schema.X.sql"
14
EOM
13
EOM
15
}
14
}
16
{ type: upgrade
15
{ type: upgrade
17
  maximum_versio: 3.4
16
  maximum_version: "3.4.0"
18
  message: <<EOM
17
  message: <<EOM
19
 -----------------------------------------------
18
This version needs a mandatory schema change for the gmsyql, gpgsql and gsqlite3 backends. SQL 
20
 IMPORTANT: PowerDNS Authoritative Server 3.4.0+:
19
statements are available in %%DOCSDIR%% or https://doc.powerdns.com
21
 -----------------------------------------------
22
 This version needs a mandatory schema change for the gmsyql,
23
 gpgsql and gsqlite3 backends. SQL statements are available in
24
 %%DOCSDIR%% or http://Doc.PowerDNS.com
25
 -----------------------------------------------
26
 IMPORTANT: PowerDNS Authoritative Server 4.3.0+:
27
 -----------------------------------------------
28
 MyDNS and OpenDBX backends removed 
29
 https://Blog.PowerDNS.com/2019/10/17/backend-removals-in-the-upcoming-authoritative-server-release/
30
EOM
20
EOM
31
}
21
}
22
{ type: upgrade
23
  maximum_version: "4.2.0"
24
  mimimum_version: "4.0.0"
25
  message: <<EOM
26
Autoserial support has been removed. The change_date column has been removed from the records table 
27
in all gsql backends, but leaving it in is harmless.
28
The Generic PostgreSQL backend schema has changed: the notified_serial column type in the domains 
29
table has been changed from INT DEFAULT NULL to BIGINT
30
DEFAULT NULL:
31
ALTER TABLE domains ALTER notified_serial TYPE bigint USING CASE WHEN notified_serial >= 0 THEN 
32
notified_serial::bigint END;
33
34
This version needs a mandatory schema change for the gmsyql, godbc (mssql), gpgsql and gsqlite3 
35
backends. SQL statements are available in %%DOCSDIR%% or https://doc.powerdns.com
36
EOM
37
}
38
{ type: upgrade
39
  minimum_version: "4.2.0"
40
  message: <<EOM
41
MyDNS and OpenDBX backends removed
42
https://Blog.PowerDNS.com/2019/10/17/backend-removals-in-the-upcoming-authoritative-server-release/
43
44
The new ‘unpublished DNSSEC keys’ feature' comes with a mandatory schema change for all database 
45
backends (including BIND with a DNSSEC database).
46
47
This version needs a mandatory schema change for the gmsyql, godbc(mssql), gpgsql and gsqlite3 
48
backends. SQL statements are available in %%DOCSDIR%% or https://doc.powerdns.com
49
50
For the LMDB backend, please review lmdb-schema-version
51
(https://doc.powerdns.com/authoritative/backends/lmdb.html#setting-lmdb-schema-version)
52
EOM
53
}
32
]
54
]
(-)pkg-install (-42 lines)
Lines 1-42 Link Here
1
#! /bin/sh
2
3
# $FreeBSD$
4
5
PATH=/bin:/usr/bin:/usr/sbin
6
7
securitywarning() {
8
cat <<EOF
9
10
  === IMPORTANT FOR GPGSQL BACKEND USERS! ===
11
  The following only impacts anyone using the
12
  gpgsql (PostgreSQL) backend:
13
14
  An issue has been found in PowerDNS
15
  Authoritative Server allowing an authorized
16
  user to cause the server to exit by
17
  inserting a crafted record in a MASTER type
18
  zone under their control. The issue is due
19
  to the fact that the Authoritative Server
20
  will exit when it tries to store the
21
  notified serial in the PostgreSQL database,
22
  if this serial cannot be represented in 31
23
  bits.
24
25
  To fix the issue, run the following command
26
  against your PostgreSQL pdns database:
27
28
  ALTER TABLE domains ALTER notified_serial
29
  TYPE bigint USING CASE WHEN notified_serial
30
  >= 0 THEN notified_serial::bigint END;
31
32
  No software changes are required.
33
  ===========================================
34
EOF
35
}
36
37
case $2 in
38
PRE-INSTALL)
39
        securitywarning
40
        sleep 5
41
        ;;
42
esac
(-)pkg-plist (+9 lines)
Lines 14-19 Link Here
14
%%TOOLS%%bin/dnstcpbench
14
%%TOOLS%%bin/dnstcpbench
15
%%TOOLS%%bin/dnswasher
15
%%TOOLS%%bin/dnswasher
16
%%TOOLS%%bin/dumresp
16
%%TOOLS%%bin/dumresp
17
%%IXFRDIST%%bin/ixfrdist
17
%%TOOLS%%bin/ixplore
18
%%TOOLS%%bin/ixplore
18
%%TOOLS%%bin/nproxy
19
%%TOOLS%%bin/nproxy
19
%%TOOLS%%bin/nsec3dig
20
%%TOOLS%%bin/nsec3dig
Lines 40-45 Link Here
40
%%TOOLS%%man/man1/dnspcap2calidns.1.gz
41
%%TOOLS%%man/man1/dnspcap2calidns.1.gz
41
%%TOOLS%%man/man1/dnsscan.1.gz
42
%%TOOLS%%man/man1/dnsscan.1.gz
42
%%TOOLS%%man/man1/dumresp.1.gz
43
%%TOOLS%%man/man1/dumresp.1.gz
44
%%IXFRDIST%%man/man1/ixfrdist.1.gz
43
%%TOOLS%%man/man1/ixplore.1.gz
45
%%TOOLS%%man/man1/ixplore.1.gz
44
%%TOOLS%%man/man1/nproxy.1.gz
46
%%TOOLS%%man/man1/nproxy.1.gz
45
%%TOOLS%%man/man1/nsec3dig.1.gz
47
%%TOOLS%%man/man1/nsec3dig.1.gz
Lines 57-62 Link Here
57
%%TOOLS%%man/man1/dnsreplay.1.gz
59
%%TOOLS%%man/man1/dnsreplay.1.gz
58
%%TOOLS%%man/man1/dnsscope.1.gz
60
%%TOOLS%%man/man1/dnsscope.1.gz
59
%%TOOLS%%man/man1/dnswasher.1.gz
61
%%TOOLS%%man/man1/dnswasher.1.gz
62
%%IXFRDIST%%man/man5/ixfrdist.yml.5.gz
63
%%IXFRDIST%%etc/pdns/ixfrdist.example.yml
60
@sample etc/pdns/pdns.conf-dist etc/pdns/pdns.conf
64
@sample etc/pdns/pdns.conf-dist etc/pdns/pdns.conf
61
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/pdns.conf
65
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/pdns.conf
62
%%PORTEXAMPLES%%@dir %%EXAMPLESDIR%%
66
%%PORTEXAMPLES%%@dir %%EXAMPLESDIR%%
Lines 63-75 Link Here
63
%%MYSQL%%%%PORTDOCS%%%%DOCSDIR%%/3.4.0_to_4.1.0_schema.mysql.sql
67
%%MYSQL%%%%PORTDOCS%%%%DOCSDIR%%/3.4.0_to_4.1.0_schema.mysql.sql
64
%%PGSQL%%%%PORTDOCS%%%%DOCSDIR%%/3.4.0_to_4.1.0_schema.pgsql.sql
68
%%PGSQL%%%%PORTDOCS%%%%DOCSDIR%%/3.4.0_to_4.1.0_schema.pgsql.sql
65
%%SQLITE3%%%%PORTDOCS%%%%DOCSDIR%%/3.4.0_to_4.0.0_schema.sqlite3.sql
69
%%SQLITE3%%%%PORTDOCS%%%%DOCSDIR%%/3.4.0_to_4.0.0_schema.sqlite3.sql
70
%%UNIXODBC%%%%PORTDOCS%%%%DOCSDIR%%/4.0.0_to_4.2.0_schema.mssql.sql
66
%%SQLITE3%%%%PORTDOCS%%%%DOCSDIR%%/4.0.0_to_4.2.0_schema.sqlite3.sql
71
%%SQLITE3%%%%PORTDOCS%%%%DOCSDIR%%/4.0.0_to_4.2.0_schema.sqlite3.sql
67
%%MYSQL%%%%PORTDOCS%%%%DOCSDIR%%/4.1.0_to_4.2.0_schema.mysql.sql
72
%%MYSQL%%%%PORTDOCS%%%%DOCSDIR%%/4.1.0_to_4.2.0_schema.mysql.sql
68
%%PGSQL%%%%PORTDOCS%%%%DOCSDIR%%/4.1.0_to_4.2.0_schema.pgsql.sql
73
%%PGSQL%%%%PORTDOCS%%%%DOCSDIR%%/4.1.0_to_4.2.0_schema.pgsql.sql
74
%%UNIXODBC%%%%PORTDOCS%%%%DOCSDIR%%/4.2.0_to_4.3.0_schema.mssql.sql
75
%%MYSQL%%%%PORTDOCS%%%%DOCSDIR%%/4.2.0_to_4.3.0_schema.mysql.sql
69
%%PGSQL%%%%PORTDOCS%%%%DOCSDIR%%/4.2.0_to_4.3.0_schema.pgsql.sql
76
%%PGSQL%%%%PORTDOCS%%%%DOCSDIR%%/4.2.0_to_4.3.0_schema.pgsql.sql
77
%%SQLITE3%%%%PORTDOCS%%%%DOCSDIR%%/4.2.0_to_4.3.0_schema.sqlite3.sql
70
%%MYSQL%%%%PORTDOCS%%%%DOCSDIR%%/dnssec-3.x_to_3.4.0_schema.mysql.sql
78
%%MYSQL%%%%PORTDOCS%%%%DOCSDIR%%/dnssec-3.x_to_3.4.0_schema.mysql.sql
71
%%PGSQL%%%%PORTDOCS%%%%DOCSDIR%%/dnssec-3.x_to_3.4.0_schema.pgsql.sql
79
%%PGSQL%%%%PORTDOCS%%%%DOCSDIR%%/dnssec-3.x_to_3.4.0_schema.pgsql.sql
72
%%SQLITE3%%%%PORTDOCS%%%%DOCSDIR%%/dnssec-3.x_to_3.4.0_schema.sqlite3.sql
80
%%SQLITE3%%%%PORTDOCS%%%%DOCSDIR%%/dnssec-3.x_to_3.4.0_schema.sqlite3.sql
81
%%MYSQL%%%%PORTDOCS%%%%DOCSDIR%%/enable-foreign-keys.mysql.sql
73
%%MYSQL%%%%PORTDOCS%%%%DOCSDIR%%/nodnssec-3.x_to_3.4.0_schema.mysql.sql
82
%%MYSQL%%%%PORTDOCS%%%%DOCSDIR%%/nodnssec-3.x_to_3.4.0_schema.mysql.sql
74
%%PGSQL%%%%PORTDOCS%%%%DOCSDIR%%/nodnssec-3.x_to_3.4.0_schema.pgsql.sql
83
%%PGSQL%%%%PORTDOCS%%%%DOCSDIR%%/nodnssec-3.x_to_3.4.0_schema.pgsql.sql
75
%%SQLITE3%%%%PORTDOCS%%%%DOCSDIR%%/nodnssec-3.x_to_3.4.0_schema.sqlite3.sql
84
%%SQLITE3%%%%PORTDOCS%%%%DOCSDIR%%/nodnssec-3.x_to_3.4.0_schema.sqlite3.sql

Return to bug 246434