if PACKAGE_bind-server
-config BIND_ENABLE_FILTER_AAAA
- bool
- default y
- prompt "Enable filtering of AAAA records returned to the client"
- help
- BIND 9 has an option to filter AAAA (IPv6 address) records
- returned to the client based on the transport used for the
- query, and other filtering conditions. This filtering does
- not affect the recursive queries made by the server (if
- any) as a result of the client request.
-
- Additional details are available at
- https://kb.isc.org/article/AA-00576/0/Filter-AAAA-option-in-BIND-9-.html
-
config BIND_LIBJSON
bool
default n
libxml2 is required to report server statistics in XML
format. Building with libjson support will require the
libxml2 package to be installed as well.
-
-config BIND_ENABLE_EDDSA
- bool
- default n
- prompt "Include Edwards Curve DNSSEC signature support"
- help
- Enable BIND support for Edwards Curve DNSSEC signing algorithms
- described in RFC 8080.
-
- Note that this requires OpenSSL 1.1, which is not currently
- the available in OpenWRT, so it is disabled by default.
endif
include $(TOPDIR)/rules.mk
PKG_NAME:=bind
-PKG_VERSION:=9.12.3-P4
+PKG_VERSION:=9.14.2
PKG_RELEASE:=1
USERID:=bind=57:bind=57
PKG_SOURCE_URL:= \
https://www.mirrorservice.org/sites/ftp.isc.org/isc/bind9/$(PKG_VERSION) \
https://ftp.isc.org/isc/bind9/$(PKG_VERSION)
-PKG_HASH:=d1014453c62623e42323fd83fc89444c12ae6b707fd586466959a052fe21f206
+PKG_HASH:=0e4027573726502ec038db3973a086c02508671723a4845e21da1769a5c27f0c
PKG_FIXUP:=autoreconf
PKG_REMOVE_FILES:=aclocal.m4 libtool.m4
PKG_BUILD_PARALLEL:=1
PKG_CONFIG_DEPENDS := \
- CONFIG_BIND_ENABLE_FILTER_AAAA \
CONFIG_BIND_LIBJSON \
CONFIG_BIND_LIBXML2
define Package/bind-libs
SECTION:=libs
CATEGORY:=Libraries
- DEPENDS:=+libopenssl +zlib
+ DEPENDS:=+libopenssl +zlib +libpthread +libatomic
TITLE:=bind shared libraries
URL:=https://www.isc.org/software/bind
ifdef CONFIG_BIND_LIBJSON
source "$(SOURCE)/Config.in"
endef
+define Package/bind-server-filter-aaaa
+ $(call Package/bind-server)
+ DEPENDS:=+bind-server
+ TITLE+= filter AAAA plugin
+endef
+
define Package/bind-client
$(call Package/bind/Default)
TITLE+= dynamic DNS client
TARGET_LDFLAGS += -Wl,--gc-sections,--as-needed
CONFIGURE_ARGS += \
- --enable-ipv6=$(if $(CONFIG_IPV6),yes,no) \
- --with-randomdev="/dev/urandom" \
- --disable-threads \
--disable-linux-caps \
--with-openssl="$(STAGING_DIR)/usr" \
--with-libtool \
--without-lmdb \
- --enable-epoll=yes \
- --with-gost=no \
- --with-gssapi=no \
- --with-ecdsa=$(if $(CONFIG_OPENSSL_WITH_EC),yes,no) \
- --with-eddsa=$(if $(CONFIG_BIND_ENABLE_EDDSA),yes,no) \
- --with-readline=no \
- --enable-atomic=no \
+ --enable-epoll \
+ --without-gssapi \
+ --without-readline \
+ --without-python \
--sysconfdir=/etc/bind
-ifdef CONFIG_BIND_ENABLE_FILTER_AAAA
- CONFIGURE_ARGS += \
- --enable-filter-aaaa
-endif
-
ifdef CONFIG_BIND_LIBJSON
CONFIGURE_ARGS += \
--with-libjson="$(STAGING_DIR)/usr"
else
CONFIGURE_ARGS += \
- --with-libjson=no
+ --without-libjson
endif
ifdef CONFIG_BIND_LIBXML2
--with-libxml2="$(STAGING_DIR)/usr"
else
CONFIGURE_ARGS += \
- --with-libxml2=no
+ --without-libxml2
endif
CONFIGURE_VARS += \
/etc/bind/named.conf
endef
+define Package/bind-server-filter-aaaa/install
+ $(INSTALL_DIR) $(1)/usr/lib/named
+ $(CP) $(PKG_INSTALL_DIR)/usr/lib/named/filter-aaaa.so $(1)/usr/lib/named
+endef
+
define Package/bind-client/install
$(INSTALL_DIR) $(1)/usr/bin
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/nsupdate $(1)/usr/bin/
$(eval $(call BuildPackage,bind-libs))
$(eval $(call BuildPackage,bind-server))
+$(eval $(call BuildPackage,bind-server-filter-aaaa))
$(eval $(call BuildPackage,bind-client))
$(eval $(call BuildPackage,bind-tools))
$(eval $(call BuildPackage,bind-rndc))
top_srcdir = @top_srcdir@
SUBDIRS = named rndc dig delv dnssec tools nsupdate check confgen \
-- @NZD_TOOLS@ @PYTHON_TOOLS@ @PKCS11_TOOLS@ tests
-+ @NZD_TOOLS@ @PYTHON_TOOLS@ @PKCS11_TOOLS@
+- @NZD_TOOLS@ @PYTHON_TOOLS@ @PKCS11_TOOLS@ plugins tests
++ @NZD_TOOLS@ @PYTHON_TOOLS@ @PKCS11_TOOLS@ plugins
TARGETS =
@BIND9_MAKE_RULES@
+++ /dev/null
---- a/configure.in
-+++ b/configure.in
-@@ -182,26 +182,11 @@ esac
- #
- AC_CONFIG_FILES([make/rules make/includes])
-
--AC_PATH_PROG(AR, ar)
--ARFLAGS="cruv"
--AC_SUBST(AR)
--AC_SUBST(ARFLAGS)
--
- # The POSIX ln(1) program. Non-POSIX systems may substitute
- # "copy" or something.
- LN=ln
- AC_SUBST(LN)
-
--case "$AR" in
-- "")
-- AC_MSG_ERROR([
--ar program not found. Please fix your PATH to include the directory in
--which ar resides, or set AR in the environment with the full path to ar.
--])
--
-- ;;
--esac
--
- #
- # Etags.
- #
--- /dev/null
+--- a/config.h.in
++++ b/config.h.in
+@@ -45,6 +45,9 @@
+ /* Define to 1 if you have the `arc4random_uniform' function. */
+ #undef HAVE_ARC4RANDOM_UNIFORM
+
++/* Define if the ARM yield instruction is available */
++#undef HAVE_ARM_YIELD
++
+ /* Define to 1 if the compiler supports __builtin_clz. */
+ #undef HAVE_BUILTIN_CLZ
+
+--- a/configure.ac
++++ b/configure.ac
+@@ -421,8 +421,8 @@ AS_CASE([$host],
+ [[]],
+ [[__asm__ __volatile__ ("yield")]]
+ )],
+- [AC_MSG_RESULT([yes])],
+- [AC_MSG_ERROR([no, try adding -march=native or -march=armv7-a to CFLAGS (see PLATFORMS.md for more information)])])])
++ [AC_MSG_RESULT([yes]) AC_DEFINE([HAVE_ARM_YIELD],[1],[Define if the ARM yield instruction is available])],
++ [AC_MSG_RESULT([no])])])
+
+ AC_CHECK_FUNCS([sysctlbyname])
+
+--- a/lib/isc/rwlock.c
++++ b/lib/isc/rwlock.c
+@@ -54,7 +54,7 @@
+ # define isc_rwlock_pause() __asm__ __volatile__ ("rep; nop")
+ #elif defined(__ia64__)
+ # define isc_rwlock_pause() __asm__ __volatile__ ("hint @pause")
+-#elif defined(__arm__)
++#elif defined(__arm__) && HAVE_ARM_YIELD
+ # define isc_rwlock_pause() __asm__ __volatile__ ("yield")
+ #elif defined(sun) && (defined(__sparc) || defined(__sparc__))
+ # define isc_rwlock_pause() smt_pause()