dns/powerdns: update 3.4.9 -> 4.0.1

- Mark BROKEN on FreeBSD 9
- Option changes:
  - Add USE=ssl, PowerDNS no longer requires embedded PolarSSL or Botan
  - Remove GEO and LMDB backends
  - Add UNIXODBC option for the GODBC backend
  - The internal Lua engine can be regular Lua or Luajit
  - Add PROTOBUF option which builds an extra tool (dnspcap2protobuf)

Changes:	https://doc.powerdns.com/md/changelog/#powerdns-authoritative-server-400
		https://doc.powerdns.com/md/changelog/#powerdns-authoritative-server-401

PR:		211147
Submitted by:	Ralf van der Enden <tremere@cainites.net> (maintainer)
Security:	CVE-2016-6172
Security:	https://vuxml.FreeBSD.org/freebsd/7d08e608-5e95-11e6-b334-002590263bf5.html
This commit is contained in:
Jason Unovitch 2016-08-15 01:39:15 +00:00
parent 889d0c7065
commit b4c7061571
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=420208
5 changed files with 77 additions and 1901 deletions

View file

@ -1,7 +1,7 @@
# $FreeBSD$
PORTNAME= powerdns
PORTVERSION= 3.4.9
PORTVERSION= 4.0.1
CATEGORIES= dns ipv6
MASTER_SITES= http://downloads.powerdns.com/releases/
DISTNAME= pdns-${PORTVERSION}
@ -14,16 +14,16 @@ LICENSE= GPLv2
LIB_DEPENDS= libboost_serialization.so:devel/boost-libs
BROKEN_powerpc64= Does not build
BROKEN_FreeBSD_9= Does not link
USES= cpe gmake libtool lua pkgconfig tar:bzip2
USES= compiler:c++11-lib cpe gmake libtool pathfix pkgconfig ssl \
tar:bzip2
USE_LDCONFIG= YES
USE_SUBMAKE= YES
GNU_CONFIGURE= YES
INSTALL_TARGET= install-strip
CXXFLAGS+= -I${LOCALBASE}/include
LDFLAGS+= -L${LOCALBASE}/lib
CONFIGURE_ENV= LUA_CFLAGS="-I${LUA_INCDIR}" \
LUA_LIBS="-L${LUA_LIBDIR} -llua-${LUA_VER}"
CONFIGURE_ARGS= --disable-static \
--with-modules="" \
--with-dynmodules="pipe bind ${MODULES}" \
@ -40,29 +40,28 @@ SUB_FILES= pkg-message
USE_RC_SUBR= pdns
OPTIONS_DEFINE= GEO GEOIP LMDB MYSQL OPENDBX OPENLDAP PGSQL POLARSSL REMOTE SQLITE3 TOOLS
OPTIONS_GROUP= DNSSEC EXPERIMENTAL REMOTEOPT
OPTIONS_GROUP_DNSSEC= BOTAN110
OPTIONS_GROUP_EXPERIMENTAL= LUA MYDNS TINYDNS
OPTIONS_DEFINE= GEOIP MYDNS MYSQL OPENDBX OPENLDAP PGSQL PROTOBUF REMOTE SQLITE3 TINYDNS TOOLS UNIXODBC
OPTIONS_GROUP= EXPERIMENTAL REMOTEOPT
OPTIONS_GROUP_EXPERIMENTAL= LUABACKEND
OPTIONS_GROUP_REMOTEOPT= ZEROMQ
OPTIONS_SINGLE= LUASG
OPTIONS_SINGLE_LUASG= LUA LUAJIT
ZEROMQ_IMPLIES= REMOTE
OPTIONS_DEFAULT= PGSQL DNSSEC BOTAN110 POLARSSL
OPTIONS_DEFAULT= LUA PGSQL
OPTIONS_SUB= yes
BOTAN110_CONFIGURE_ON= --enable-botan1.10
BOTAN110_LIB_DEPENDS= libbotan-1.10.so:security/botan110
GEO_VARS= MODULES+=geo
GEOIP_LIB_DEPENDS= libyaml-cpp.so:devel/yaml-cpp \
libGeoIP.so:net/GeoIP
GEOIP_VARS= MODULES+=geoip
LMDB_LIB_DEPENDS= liblmdb.so:databases/lmdb
LMDB_VARS= MODULES+=lmdb
LUA_CONFIGURE_WITH= lua
LUA_USES= lua
LUA_VARS= MODULES+=lua
LUABACKEND_VARS= MODULES+=lua
LUAJIT_CONFIGURE_WITH= luajit
LUAJIT_LIB_DEPENDS= libluajit-5.1.so.2:lang/luajit
MYDNS_CONFIGURE_ON= --with-mysql=${LOCALBASE}
MYDNS_USE= MYSQL=YES
@ -85,8 +84,8 @@ PGSQL_CONFIGURE_OFF= --without-pgsql
PGSQL_USES= pgsql
PGSQL_VARS= MODULES+=gpgsql
POLARSSL_CONFIGURE_ARGS= --without-system-polarssl
POLARSSL_LIB_DEPENDS_OFF= libmbedtls.so:security/polarssl13
PROTOBUF_CONFIGURE_WITH= protobuf
PROTOBUF_LIB_DEPENDS= libprotobuf.so:devel/protobuf
REMOTE_VARS= MODULES+=remote
@ -97,34 +96,34 @@ TINYDNS_CONFIGURE_ON= CDB_LIBS="-L${LOCALBASE}/lib -lcdb" CDB_CFLAGS="-I${LOCALB
TINYDNS_LIB_DEPENDS= libcdb.so:databases/tinycdb
TINYDNS_VARS= MODULES+=tinydns
TOOLS_CONFIGURE_ENABLE= tools
UNIXODBC_LIB_DEPENDS= libodbc.so:databases/unixODBC
UNIXODBC_VARS= MODULES+=godbc
ZEROMQ_CONFIGURE_ARGS= --enable-remotebackend-zeromq
ZEROMQ_LIB_DEPENDS= libzmq.so:net/libzmq4
TOOLS_CONFIGURE_ENABLE= tools
PGSQL_DESC= PostgreSQL backend
GEOIP_DESC= GeoIP backend
LUASG_DESC= Lua Engine
LUABACKEND_DESC= Lua backend
LUAJIT_DESC= Enable LuaJIT
MYDNS_DESC= MyDNS backend
MYSQL_DESC= MySQL backend
OPENDBX_DESC= OpenDBX backend
OPENLDAP_DESC= OpenLDAP backend
SQLITE3_DESC= SQLite 3 backend
GEO_DESC= Geo backend
GEOIP_DESC= GeoIP backend
DNSSEC_DESC= Extra DNSSEC options
BOTAN110_DESC= Faster signing + ECDSA & GOST algorithms
POLARSSL_DESC= Use embedded PolarSSL
LMDB_DESC= LMDB backend
LUA_DESC= Lua backend
MYDNS_DESC= MyDNS backend
PGSQL_DESC= PostgreSQL backend
PROTOBUF_DESC= Protobuf support
REMOTE_DESC= Remote backend
REMOTEOPT_DESC= Remote backend connectors
SQLITE3_DESC= SQLite 3 backend
TINYDNS_DESC= TinyDNS backend
TOOLS_DESC= Build extra tools
REMOTEOPT_DESC= Remote backend connectors
ZEROMQ_DESC= Enable ZeroMQ connector (Implies REMOTE enabled)
post-install:
post-stage::
@${MKDIR} ${STAGEDIR}${EXAMPLESDIR}
.for i in pdns.conf
${INSTALL_DATA} ${FILESDIR}/$i ${STAGEDIR}${EXAMPLESDIR}/
.endfor
@${STAGEDIR}${LOCALBASE}/sbin/pdns_server --module-dir=${STAGEDIR}${LOCALBASE}/lib/pdns --launch="pipe bind ${MODULES}" --config > ${STAGEDIR}${EXAMPLESDIR}/pdns.conf
@${REINPLACE_CMD} -e 's;${STAGEDIR};;' -i '' ${STAGEDIR}${EXAMPLESDIR}/pdns.conf
.include <bsd.port.mk>

View file

@ -1,3 +1,3 @@
TIMESTAMP = 1463481727
SHA256 (pdns-3.4.9.tar.bz2) = 2b1124db2d937ed6666525b9fc60a5dd55cb82f4cae58116cb986de53faa5dff
SIZE (pdns-3.4.9.tar.bz2) = 1351434
TIMESTAMP = 1470038374
SHA256 (pdns-4.0.1.tar.bz2) = d191eed4a6664430e85969f49835c59e810ecbb7b3eb506e64c6b2734091edd7
SIZE (pdns-4.0.1.tar.bz2) = 1304788

View file

@ -1,15 +0,0 @@
--- pdns/dnspacket.cc.orig 2015-11-02 10:33:21 UTC
+++ pdns/dnspacket.cc
@@ -641,9 +641,9 @@ bool checkForCorrectTSIG(const DNSPacket
string message;
q->getTSIGDetails(trc, keyname, &message);
- uint64_t now = time(0);
- if(abs(trc->d_time - now) > trc->d_fudge) {
- L<<Logger::Error<<"Packet for '"<<q->qdomain<<"' denied: TSIG (key '"<<*keyname<<"') time delta "<< abs(trc->d_time - now)<<" > 'fudge' "<<trc->d_fudge<<endl;
+ uint64_t delta = std::labs((int64_t)trc->d_time - (int64_t)time(0));
+ if(delta > trc->d_fudge) {
+ L<<Logger::Error<<"Packet for '"<<q->qdomain<<"' denied: TSIG (key '"<<*keyname<<"') time delta "<< delta <<" > 'fudge' "<<trc->d_fudge<<endl;
return false;
}

File diff suppressed because it is too large Load diff

View file

@ -1,42 +1,60 @@
bin/pdns_control
bin/pdnssec
bin/pdnsutil
bin/zone2json
bin/zone2ldap
bin/zone2sql
sbin/pdns_server
%%PROTOBUF%%bin/dnspcap2protobuf
%%TOOLS%%bin/dnsbulktest
%%TOOLS%%bin/dnsgram
%%TOOLS%%bin/dnsreplay
%%TOOLS%%bin/dnsscan
%%TOOLS%%bin/dnsscope
%%TOOLS%%bin/dnstcpbench
%%TOOLS%%bin/dnswasher
%%TOOLS%%bin/dumresp
%%TOOLS%%bin/ixplore
%%TOOLS%%bin/nproxy
%%TOOLS%%bin/nsec3dig
%%TOOLS%%bin/pdns_notify
%%TOOLS%%bin/saxfr
%%PGSQL%%lib/pdns/libgpgsqlbackend.so
%%MYSQL%%lib/pdns/libgmysqlbackend.so
%%SQLITE3%%lib/pdns/libgsqlite3backend.so
%%OPENLDAP%%lib/pdns/libldapbackend.so
%%OPENDBX%%lib/pdns/libopendbxbackend.so
%%GEO%%lib/pdns/libgeobackend.so
%%GEOIP%%lib/pdns/libgeoipbackend.so
%%TINYDNS%%lib/pdns/libtinydnsbackend.so
%%REMOTE%%lib/pdns/libremotebackend.so
%%MYDNS%%lib/pdns/libmydnsbackend.so
%%LUA%%lib/pdns/libluabackend.so
%%LMDB%%lib/pdns/liblmdbbackend.so
%%LMDB%%bin/zone2lmdb
%%TOOLS%%bin/sdig
%%TOOLS%%bin/stubquery
lib/pdns/libbindbackend.so
lib/pdns/libpipebackend.so
%%GEOIP%%lib/pdns/libgeoipbackend.so
%%LUABACKEND%%lib/pdns/libluabackend.so
%%MYDNS%%lib/pdns/libmydnsbackend.so
%%MYSQL%%lib/pdns/libgmysqlbackend.so
%%OPENDBX%%lib/pdns/libopendbxbackend.so
%%OPENLDAP%%lib/pdns/libldapbackend.so
%%OPENLDAP%%bin/zone2ldap
%%PGSQL%%lib/pdns/libgpgsqlbackend.so
%%REMOTE%%lib/pdns/libremotebackend.so
%%SQLITE3%%lib/pdns/libgsqlite3backend.so
%%TINYDNS%%lib/pdns/libtinydnsbackend.so
%%UNIXODBC%%lib/pdns/libgodbcbackend.so
man/man1/calidns.1.gz
man/man1/dnsbulktest.1.gz
man/man1/dnsgram.1.gz
man/man1/dnsscan.1.gz
man/man1/dumresp.1.gz
man/man1/ixplore.1.gz
man/man1/nproxy.1.gz
man/man1/nsec3dig.1.gz
man/man1/pdns_notify.1.gz
man/man1/pdnsutil.1.gz
man/man1/saxfr.1.gz
man/man1/sdig.1.gz
man/man1/pdns_control.1.gz
man/man1/pdns_server.1.gz
man/man1/zone2json.1.gz
man/man1/zone2ldap.1.gz
man/man1/zone2sql.1.gz
%%PROTOBUF%%man/man1/dnspcap2protobuf.1.gz
%%TOOLS%%man/man1/dnstcpbench.1.gz
%%TOOLS%%man/man1/dnsreplay.1.gz
%%TOOLS%%man/man1/dnsscope.1.gz
%%TOOLS%%man/man1/dnswasher.1.gz
man/man1/pdns_control.1.gz
man/man1/pdns_server.1.gz
man/man1/pdnssec.1.gz
man/man1/zone2ldap.1.gz
man/man1/zone2sql.1.gz
@sample etc/pdns/pdns.conf-dist etc/pdns/pdns.conf
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/pdns.conf
%%PORTEXAMPLES%%@dir %%EXAMPLESDIR%%
@ -50,3 +68,4 @@ man/man1/zone2sql.1.gz
%%MYSQL%%%%PORTDOCS%%%%DOCSDIR%%/schema.mysql.sql
%%PGSQL%%%%PORTDOCS%%%%DOCSDIR%%/schema.pgsql.sql
%%SQLITE3%%%%PORTDOCS%%%%DOCSDIR%%/schema.sqlite3.sql
%%UNIXODBC%%%%PORTDOCS%%%%DOCSDIR%%/schema.mssql.sql