bind: update to 9.14.2
authorDeng Qingfang <dengqf6@mail2.sysu.edu.cn>
Thu, 16 May 2019 15:43:51 +0000 (23:43 +0800)
committerDeng Qingfang <dengqf6@mail2.sysu.edu.cn>
Sat, 18 May 2019 16:16:41 +0000 (00:16 +0800)
BIND now requires POSIX thread and IPv6 support to build

Add filter-AAAA plugin

Remove unrecognized options

Remove patch that no longer needed
- 002-autoconf-ar-fix.patch

Signed-off-by: Deng Qingfang <dengqf6@mail2.sysu.edu.cn>
net/bind/Config.in
net/bind/Makefile
net/bind/patches/001-no-tests.patch
net/bind/patches/002-autoconf-ar-fix.patch [deleted file]
net/bind/patches/002-continue-if-yield-instruction-is-missing.patch [new file with mode: 0644]

index 8973821f8699fcb0173e8c1beda38d6a396693a6..ab27b18e3cb48fe52b01a19afdedf5901f75ded8 100644 (file)
@@ -1,19 +1,5 @@
 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
@@ -33,15 +19,4 @@ config BIND_LIBXML2
                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
index ed11b2eee0b754cd82cd1637431fcfb270c1fae0..2655693029a75de151a653d6b3160731b2f31d94 100644 (file)
@@ -9,7 +9,7 @@
 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
 
@@ -21,7 +21,7 @@ PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
 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
@@ -31,7 +31,6 @@ PKG_USE_MIPS16:=0
 PKG_BUILD_PARALLEL:=1
 
 PKG_CONFIG_DEPENDS := \
-       CONFIG_BIND_ENABLE_FILTER_AAAA \
        CONFIG_BIND_LIBJSON \
        CONFIG_BIND_LIBXML2
 
@@ -56,7 +55,7 @@ endef
 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
@@ -76,6 +75,12 @@ define Package/bind-server/config
        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
@@ -122,33 +127,22 @@ export BUILD_CC="$(TARGET_CC)"
 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
@@ -156,7 +150,7 @@ ifdef CONFIG_BIND_LIBXML2
                --with-libxml2="$(STAGING_DIR)/usr"
 else
        CONFIGURE_ARGS += \
-               --with-libxml2=no
+               --without-libxml2
 endif
 
 CONFIGURE_VARS += \
@@ -204,6 +198,11 @@ define Package/bind-server/conffiles
 /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/
@@ -245,6 +244,7 @@ endef
 
 $(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))
index 02049fd32e5c47a5679176f735e3be9711f294ea..b21b563b77dec6e6eb8f6ee575127e51ab58d48e 100644 (file)
@@ -4,8 +4,8 @@
  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@
diff --git a/net/bind/patches/002-autoconf-ar-fix.patch b/net/bind/patches/002-autoconf-ar-fix.patch
deleted file mode 100644 (file)
index 1bf444c..0000000
+++ /dev/null
@@ -1,29 +0,0 @@
---- 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.
- #
diff --git a/net/bind/patches/002-continue-if-yield-instruction-is-missing.patch b/net/bind/patches/002-continue-if-yield-instruction-is-missing.patch
new file mode 100644 (file)
index 0000000..24508fb
--- /dev/null
@@ -0,0 +1,36 @@
+--- 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()