Update to PowerDNS Authoritative Server 4.2.0. Some new features

like lua records and ixfrdist are not (yet) enabled, will look into
those later.  With help and ok sthen@
This commit is contained in:
otto 2019-08-30 18:41:31 +00:00
parent 25bfee730e
commit 3c09a0c61d
9 changed files with 25 additions and 84 deletions

View File

@ -1,11 +1,11 @@
# $OpenBSD: Makefile,v 1.73 2019/08/12 09:00:30 otto Exp $
# $OpenBSD: Makefile,v 1.74 2019/08/30 18:41:31 otto Exp $
COMMENT-main= modular authoritative nameserver (with database support)
COMMENT-mysql= MySQL database access module for PowerDNS
COMMENT-pgsql= PostgreSQL database access module for PowerDNS
COMMENT-ldap= LDAP database access module for PowerDNS
V= 4.1.13
V= 4.2.0
DISTNAME= pdns-${V}
EXTRACT_SUFX = .tar.bz2
PKGNAME-main= powerdns-${V}
@ -27,10 +27,11 @@ MULTI_PACKAGES= -main -mysql -pgsql -ldap
# GPLv2 only, OpenSSL exemption
PERMIT_PACKAGE= Yes
WANTLIB += m pthread ${COMPILER_LIBCXX}
WANTLIB += crypto m pthread ssl ${COMPILER_LIBCXX}
WANTLIB-main += ${WANTLIB}
WANTLIB-main += boost_program_options-mt c crypto sodium sqlite3 z
WANTLIB-main += boost_program_options-mt c curl nghttp2 sodium
WANTLIB-main += sqlite3 z
MASTER_SITES= https://downloads.powerdns.com/releases/
MAINTAINER= Otto Moerbeek <otto@drijf.net>
@ -42,6 +43,7 @@ NO_TEST= Yes
LIB_DEPENDS-main= ${LIB_DEPENDS} \
databases/sqlite3 \
devel/boost \
net/curl \
security/libsodium
PSEUDO_FLAVORS+= no_mysql no_pgsql no_ldap
@ -57,9 +59,11 @@ CONFIGURE_ARGS+= --disable-shared \
--with-sqlite3 \
--with-dynmodules="${BACKENDS}" \
--without-lua \
--disable-lua-records \
--disable-hardening \
--without-protobuf \
--enable-tools
--with-protobuf=no \
--enable-tools \
--disable-ixfrdist
CONFIGURE_ENV+= CPPFLAGS="-I${LOCALBASE}/include" \
LDFLAGS="-L${LOCALBASE}/lib"
@ -77,7 +81,7 @@ CONFIGURE_ARGS+= --without-mysql
LIB_DEPENDS-mysql= ${LIB_DEPENDS} \
databases/mariadb
RUN_DEPENDS-mysql= net/powerdns
WANTLIB-mysql+= ${WANTLIB} crypto lib/mysql/mysqlclient ssl z
WANTLIB-mysql+= ${WANTLIB} iconv mariadb z
# PostgreSQL
.if ${BUILD_PACKAGES:M-pgsql}
@ -89,7 +93,7 @@ CONFIGURE_ARGS+= --without-pg-config
LIB_DEPENDS-pgsql= ${LIB_DEPENDS} \
databases/postgresql,-main
RUN_DEPENDS-pgsql= net/powerdns
WANTLIB-pgsql= ${WANTLIB} crypto pq>=2 ssl
WANTLIB-pgsql= ${WANTLIB} pq>=2
# LDAP
.if ${BUILD_PACKAGES:M-ldap}
@ -102,7 +106,7 @@ LIB_DEPENDS-ldap= ${LIB_DEPENDS} \
security/heimdal,-libs
RUN_DEPENDS-ldap= net/powerdns
WANTLIB-ldap= ${WANTLIB} ldap_r
WANTLIB-ldap+= c com_err crypto lber-2.4 ldap_r-2.4 sasl2 ssl util
WANTLIB-ldap+= c com_err lber sasl2 util
WANTLIB-ldap+= heimdal/lib/asn1 heimdal/lib/hcrypto heimdal/lib/heimbase
WANTLIB-ldap+= heimdal/lib/heimsqlite heimdal/lib/hx509 heimdal/lib/krb5
WANTLIB-ldap+= heimdal/lib/roken heimdal/lib/wind

View File

@ -1,2 +1,2 @@
SHA256 (pdns-4.1.13.tar.bz2) = 5+qcYooDZS0sqeBIUl1ErFYoqf7eReUQ/5unVq4vXyU=
SIZE (pdns-4.1.13.tar.bz2) = 1117990
SHA256 (pdns-4.2.0.tar.bz2) = IiAH8l4lqtcax9i38Xl6S8sweB5FbXTtADluU4KKkDo=
SIZE (pdns-4.2.0.tar.bz2) = 1249282

View File

@ -1,19 +0,0 @@
$OpenBSD: patch-pdns_iputils_hh,v 1.1 2019/02/08 20:08:57 otto Exp $
Index: pdns/iputils.hh
--- pdns/iputils.hh.orig
+++ pdns/iputils.hh
@@ -85,6 +85,13 @@
union ComboAddress {
struct sockaddr_in sin4;
struct sockaddr_in6 sin6;
+ // struct sockaddr_in6 is *not* defined as containing two uint64_t for the
+ // address , but we like to read or write it like that.
+ // Force alignment by adding an uint64_t in the union. This makes sure
+ // the start of the struct and s6_addr gets aligned.
+ // This works because of the spot of s6_addr in struct sockaddr_in6.
+ // Needed for strict alignment architectures like sparc64.
+ uint64_t force_align;
bool operator==(const ComboAddress& rhs) const
{

View File

@ -1,23 +0,0 @@
$OpenBSD: patch-pdns_logger_cc,v 1.1 2018/09/09 17:47:28 florian Exp $
Reported upstream: https://github.com/PowerDNS/pdns/pull/6928
Index: pdns/logger.cc
--- pdns/logger.cc.orig
+++ pdns/logger.cc
@@ -201,6 +201,16 @@ Logger& Logger::operator<<(unsigned long i)
return *this;
}
+Logger& Logger::operator<<(long long i)
+{
+ ostringstream tmp;
+ tmp<<i;
+
+ *this<<tmp.str();
+
+ return *this;
+}
+
Logger& Logger::operator<<(unsigned long long i)
{
ostringstream tmp;

View File

@ -1,14 +0,0 @@
$OpenBSD: patch-pdns_logger_hh,v 1.1 2018/09/09 17:47:28 florian Exp $
Reported upstream: https://github.com/PowerDNS/pdns/pull/6928
Index: pdns/logger.hh
--- pdns/logger.hh.orig
+++ pdns/logger.hh
@@ -82,6 +82,7 @@ class Logger (public)
Logger& operator<<(unsigned int); //!< log an unsigned int
Logger& operator<<(long); //!< log an unsigned int
Logger& operator<<(unsigned long); //!< log an unsigned int
+ Logger& operator<<(long long); //!< log a 64 bit int
Logger& operator<<(unsigned long long); //!< log an unsigned 64 bit int
Logger& operator<<(const DNSName&);
Logger& operator<<(const ComboAddress&); //!< log an address

View File

@ -1,14 +0,0 @@
$OpenBSD: patch-pdns_nameserver_cc,v 1.1 2019/02/08 20:08:57 otto Exp $
Index: pdns/nameserver.cc
--- pdns/nameserver.cc.orig
+++ pdns/nameserver.cc
@@ -243,7 +243,7 @@ void UDPNameserver::bindIPv6()
if( !d_additional_socket )
g_localaddresses.push_back(locala);
- if(::bind(s, (sockaddr*)&locala, sizeof(locala))<0) {
+ if(::bind(s, (sockaddr*)&locala, locala.getSocklen())<0) {
close(s);
if( errno == EADDRNOTAVAIL && ! ::arg().mustDo("local-ipv6-nonexist-fail") ) {
L<<Logger::Error<<"IPv6 Address " << localname << " does not exist on this server - skipping UDP bind" << endl;

View File

@ -1,4 +1,4 @@
@comment $OpenBSD: PLIST-main,v 1.13 2018/11/06 22:52:06 sthen Exp $
@comment $OpenBSD: PLIST-main,v 1.14 2019/08/30 18:41:31 otto Exp $
@conflict powerdns-sqlite-*
@conflict powerdns-sqlite3-*
@pkgpath net/powerdns,-sqlite
@ -7,8 +7,10 @@
@newuser _powerdns:609:_powerdns:daemon:PowerDNS Server:/nonexistent:/sbin/nologin
@sample ${SYSCONFDIR}/
@rcscript ${RCDIR}/pdns_server
@bin bin/calidns
@bin bin/dnsbulktest
@bin bin/dnsgram
@bin bin/dnspcap2calidns
@bin bin/dnsreplay
@bin bin/dnsscan
@bin bin/dnsscope
@ -32,6 +34,7 @@ lib/pdns/libgsqlite3backend.so
@man man/man1/calidns.1
@man man/man1/dnsbulktest.1
@man man/man1/dnsgram.1
@man man/man1/dnspcap2calidns.1
@man man/man1/dnsreplay.1
@man man/man1/dnsscan.1
@man man/man1/dnsscope.1
@ -51,6 +54,8 @@ lib/pdns/libgsqlite3backend.so
@man man/man1/zone2sql.1
@bin sbin/pdns_server
share/doc/pdns/
share/doc/pdns/3.4.0_to_4.0.0_schema.sqlite3.sql
share/doc/pdns/4.0.0_to_4.2.0_schema.sqlite3.sql
share/doc/pdns/dnssec-3.x_to_3.4.0_schema.sqlite3.sql
share/doc/pdns/nodnssec-3.x_to_3.4.0_schema.sqlite3.sql
share/doc/pdns/schema.sqlite3.sql

View File

@ -1,7 +1,8 @@
@comment $OpenBSD: PLIST-mysql,v 1.4 2018/02/01 21:47:43 sthen Exp $
@comment $OpenBSD: PLIST-mysql,v 1.5 2019/08/30 18:41:31 otto Exp $
@conflict powerdns-<3.4.3
lib/pdns/libgmysqlbackend.so
share/doc/pdns/3.4.0_to_4.1.0_schema.mysql.sql
share/doc/pdns/dnssec-3.x_to_3.4.0_schema.mysql.sql
share/doc/pdns/nodnssec-3.x_to_3.4.0_schema.mysql.sql
share/doc/pdns/4.1.0_to_4.2.0_schema.mysql.sql
share/doc/pdns/schema.mysql.sql

View File

@ -1,7 +1,8 @@
@comment $OpenBSD: PLIST-pgsql,v 1.4 2018/02/01 21:47:43 sthen Exp $
@comment $OpenBSD: PLIST-pgsql,v 1.5 2019/08/30 18:41:31 otto Exp $
@conflict powerdns-<3.4.3
lib/pdns/libgpgsqlbackend.so
share/doc/pdns/3.4.0_to_4.1.0_schema.pgsql.sql
share/doc/pdns/dnssec-3.x_to_3.4.0_schema.pgsql.sql
share/doc/pdns/nodnssec-3.x_to_3.4.0_schema.pgsql.sql
share/doc/pdns/4.1.0_to_4.2.0_schema.pgsql.sql
share/doc/pdns/schema.pgsql.sql