freebsd-ports/dns/unbound/Makefile
Kurt Jaeger f12a0eaf7e dns/unbound: upgrade 1.6.8 -> 1.7.0
Features
- auth-zone provides a way to configure RFC7706 from unbound.conf,
  eg. with auth-zone: name: "." for-downstream: no for-upstream: yes
  fallback-enabled: yes and masters or a zonefile with data.
- Aggressive use of NSEC implementation. Use cached NSEC records to
  generate NXDOMAIN, NODATA and positive wildcard answers.
- Accept tls-upstream in unbound.conf, the ssl-upstream keyword is
  also recognized and means the same.  Also for tls-port,
  tls-service-key, tls-service-pem, stub-tls-upstream and
  forward-tls-upstream.
- [dnscrypt] introduce dnscrypt-provider-cert-rotated option,
  from Manu Bretelle.
  This option allows handling multiple cert/key pairs while only
  distributing some of them.
  In order to reliably match a client magic with a given key without
  strong assumption as to how those were generated, we need both key and
  cert. Likewise, in order to know which ES version should be used.
  On the other hand, when rotating a cert, it can be desirable to only
  serve the new cert but still be able to handle clients that are still
  using the old certs's public key.
  The `dnscrypt-provider-cert-rotated` allow to instruct unbound to not
  publish the cert as part of the DNS's provider_name's TXT answer.
- Update B root ipv4 address.
- make ip-transparent option work on OpenBSD.
- Fix #2801: Install libunbound.pc.
- ltrace.conf file for libunbound in contrib.
- Fix #3598: Fix swig build issue on rhel6 based system.
  configure --disable-swig-version-check stops the swig version check.

Bug Fixes
- Fix #1749: With harden-referral-path: performance drops, due to
  circular dependency in NS and DS lookups.
- [dnscrypt] prevent dnscrypt-secret-key, dnscrypt-provider-cert
  duplicates
- Better documentation for cache-max-negative-ttl.
- Fixed libunbound manual typo.
- Fix #1949: [dnscrypt] make provider name mismatch more obvious.
- Fix #2031: Double included headers
- Document that errno is left informative on libunbound config read
  fail.
- iana port update.
- Fix #1913: ub_ctx_config is under circumstances thread-safe.
- Fix #2362: TLS1.3/openssl-1.1.1 not working.
- Fix #2034 - Autoconf and -flto.
- Fix #2141 - for libsodium detect lack of entropy in chroot, print
  a message and exit.
- Fix #2492: Documentation libunbound.
- Fix #2882: Unbound behaviour changes (wrong) when domain-insecure is
  set for stub zone.  It no longer searches for DNSSEC information.
- Fix #3299 - forward CNAME daisy chain is not working
- Fix link failure on OmniOS.
- Check whether --with-libunbound-only is set when using --with-nettle
  or --with-nss.
- Fix qname-minimisation documentation (A QTYPE, not NS)
- Fix that DS queries with referral replies are answered straight
  away, without a repeat query picking the DS from cache.
  The correct reply should have been an answer, the reply is fixed
  by the scrubber to have the answer in the answer section.
- Fix that expiration date checks don't fail with clang -O2.
- Fix queries being leaked above stub when refetching glue.
- Copy query and correctly set flags on REFUSED answers when cache
  snooping is not allowed.
- make depend: code dependencies updated in Makefile.
- Fix #3397: Fix that cachedb could return a partial CNAME chain.
- Fix #3397: Fix that when the cache contains an unsigned DNAME in
  the middle of a cname chain, a result without the DNAME could
  be returned.
- Fix that unbound-checkconf -f flag works with auto-trust-anchor-file
  for startup scripts to get the full pathname(s) of anchor file(s).
- Print fatal errors about remote control setup before log init,
  so that it is printed to console.
- Use NSEC with longest ce to prove wildcard absence.
- Only use *.ce to prove wildcard absence, no longer names.
- Fix unfreed locks in log and arc4random at exit of unbound.
- Fix lock race condition in dns cache dname synthesis.
- Fix #3451: dnstap not building when you have a separate build dir.
  And removed protoc warning, set dnstap.proto syntax to proto2.
- Added tests with wildcard expanded NSEC records (CVE-2017-15105 test)
- Unit test for auth zone https url download.
- tls-cert-bundle option in unbound.conf enables TLS authentication.
- Fixes for clang static analyzer, the missing ; in
  edns-subnet/addrtree.c after the assert made clang analyzer
  produce a failure to analyze it.
- Fix #3505: Documentation for default local zones references
  wrong RFC.
- Fix #3494: local-zone noview can be used to break out of the view
  to the global local zone contents, for queries for that zone.
- Fix for more maintainable code in localzone.
- more robust cachedump rrset routine.
- Save wildcard RRset from answer with original owner for use in
  aggressive NSEC.
- Fixup contrib/fastrpz.patch so that it applies.
- Fix compile without threads, and remove unused variable.
- Fix compile with staticexe and python module.
- Fix nettle compile.
- Fix to check define of DSA for when openssl is without deprecated.
- iana port update.
- Fix #3582: Squelch address already in use log when reuseaddr option
  causes same port to be used twice for tcp connections.
- Reverted fix for #3512, this may not be the best way forward;
  although it could be changed at a later time, to stay similar to
  other implementations.
- Fix for windows compile.
- Fixed contrib/fastrpz.patch, even though this already applied
  cleanly for me, now also for others.
- patch to log creates keytag queries, from A. Schulze.
- patch suggested by Debian lintian: allow to -> allow one to, from
  A. Schulze.
- Attempt to remove warning about trailing whitespace.
- Added documentation for aggressive-nsec: yes.

PR:		226822
Submitted by:	jaap@NLnetLabs.nl (maintainer)
2018-03-21 17:00:23 +00:00

110 lines
3.7 KiB
Makefile

# Created by: Sergey Matveychuk <sem@FreeBSD.org>
# $FreeBSD$
PORTNAME= unbound
PORTVERSION= 1.7.0
CATEGORIES= dns
MASTER_SITES= https://unbound.net/downloads/ \
https://distfiles.crux.guru/
MAINTAINER= jaap@NLnetLabs.nl
COMMENT= Validating, recursive, and caching DNS resolver
LICENSE= BSD3CLAUSE
LICENSE_FILE= ${WRKSRC}/LICENSE
LIB_DEPENDS= libexpat.so:textproc/expat2 \
libldns.so:dns/ldns
USES= autoreconf cpe libtool ssl
CPE_VENDOR= nlnetlabs
GNU_CONFIGURE= yes
CONFIGURE_ARGS= --with-ssl=${OPENSSLBASE} --with-libexpat=${LOCALBASE}
USE_LDCONFIG= yes
TEST_TARGET= test
USERS= ${PORTNAME}
GROUPS= ${PORTNAME}
USE_RC_SUBR= unbound
PORTDOCS= CREDITS Changelog FEATURES LICENSE README README.svn \
README.tests TODO control_proto_spec.txt ietf67-design-02.odp \
ietf67-design-02.pdf requirements.txt
OPTIONS_SUB= yes
OPTIONS_DEFINE= THREADS PYTHON GOST ECDSA MUNIN_PLUGIN DOCS LIBEVENT \
FILTER_AAAA DNSTAP DNSCRYPT SUBNET EVAPI TFOCL TFOSE
OPTIONS_DEFAULT=THREADS ECDSA LIBEVENT
LIBEVENT_DESC= Build against libevent
GOST_DESC= Enable GOST support (requires OpenSSL >= 1.0)
ECDSA_DESC= Enable ECDSA (elliptic curve) support (OpenSSL >= 1.0)
MUNIN_PLUGIN_DESC= Install Munin plugin
FILTER_AAAA_DESC= Build with AAAA filter functionality (contrib)
DNSTAP_DESC= Enable dnstap logging support
DNSCRYPT_DESC= Enable dnscrypt support
SUBNET_DESC= Enable client subnet support
EVAPI_DESC= (Experimental) pluggable event based libunbound API support
TFOCL_DESC= Enable TCP Fast Open for client mode
TFOSE_DESC= Enable TCP Fast Open for server mode
STRIP_FILES= .libs/libunbound.so unbound-checkconf unbound \
unbound-control .libs/unbound-host .libs/unbound-anchor
DNSTAP_CONFIGURE_ENABLE=dnstap
DNSTAP_LIB_DEPENDS= libfstrm.so:devel/fstrm \
libprotobuf-c.so:devel/protobuf-c
DNSCRYPT_CONFIGURE_ENABLE= dnscrypt
DNSCRYPT_LIB_DEPENDS= libsodium.so:security/libsodium
SUBNET_CONFIGURE_ENABLE= subnet
EVAPI_CONFIGURE_ENABLE= event-api
TFOCL_CONFIGURE_ENABLE= tfo-client
TFOSE_CONFIGURE_ENABLE= tfo-server
ECDSA_CONFIGURE_ENABLE= ecdsa
ECDSA_VARS= DEPENDS_ARGS+=WITH_ECDSA=yes
GOST_CONFIGURE_ENABLE= gost
GOST_VARS= DEPENDS_ARGS+=WITH_GOST=yes
LIBEVENT_CONFIGURE_WITH=libevent
LIBEVENT_CPPFLAGS+= $$(pkg-config libevent --cflags-only-I)
LIBEVENT_LIB_DEPENDS= libevent.so:devel/libevent
LIBEVENT_LDFLAGS+= $$(pkg-config libevent --libs-only-L)
LIBEVENT_USES= pkgconfig
MUNIN_PLUGIN_SUB_FILES= pkg-message
PYTHON_BUILD_DEPENDS= swig3.0:devel/swig30
PYTHON_CONFIGURE_ON= --with-pyunbound=yes --with-pythonmodule=yes \
LDFLAGS="-L${LOCALBASE}/lib" \
ac_cv_path_SWIG=${LOCALBASE}/bin/swig3.0
PYTHON_USES= python:2.7
PYTHON_VARS= STRIP_FILES+=.libs/_unbound.so
THREADS_CONFIGURE_WITH= pthreads
post-patch:
@${RM} ${WRKSRC}/util/configlexer.c
@${REINPLACE_CMD} -e 's|if test ! -e $$(DESTDIR)$$(configfile); then || ; \
s|$$(configfile); fi|$$(configfile).sample|' \
${WRKSRC}/Makefile.in
post-patch-FILTER_AAAA-on:
${CAT} ${WRKSRC}/contrib/aaaa-filter-iterator.patch | ${PATCH} -d ${WRKSRC} -p1 -s
post-build:
@for s in ${STRIP_FILES}; do ${STRIP_CMD} ${WRKSRC}/$$s; done
post-install-PYTHON-on:
@${STRIP_CMD} ${STAGEDIR}${PYTHON_SITELIBDIR}/_unbound.so
post-install-MUNIN_PLUGIN-on:
@${MKDIR} ${STAGEDIR}${PREFIX}/share/munin/plugins
${INSTALL_SCRIPT} ${WRKDIR}/unbound-${PORTVERSION}/contrib/unbound_munin_ \
${STAGEDIR}${PREFIX}/share/munin/plugins/
@${ECHO_MSG}
@${ECHO_MSG} "============================================================="
@${CAT} ${WRKDIR}/pkg-message
@${ECHO_MSG} "============================================================="
post-install-DOCS-on:
${MKDIR} ${STAGEDIR}${DOCSDIR}
${INSTALL_DATA} ${PORTDOCS:S|^|${WRKSRC}/doc/|} ${STAGEDIR}${DOCSDIR}
.include <bsd.port.mk>