Files
packages/net/bind/Makefile
Noah Meyerhans 7992657437 bind: bump to 9.20.29
Includes several security fixes:

 - CVE-2026-19668 Prevent excessive CPU use validating crafted DNSSEC
   responses.

 - CVE-2026-19033 Require a TSIG on every message of incoming zone
   transfers.

 - CVE-2026-77119 Prevent a DNSSEC downgrade of secure delegations via
   unrelated NSEC3.

 - CVE-2026-19941 Prevent forged DNSSEC-validated NXDOMAIN responses.

 - CVE-2026-19666 DNS64 with break-dnssec could cause an assertion failure.

 - CVE-2026-19667 Reject negative cache records that do not fit in a
   dns_rdata_t.

 - CVE-2026-19662 Prevent resolver crash with cached DNSSEC proofs.

 - CVE-2026-75029 Discard repeated SOA, CNAME, and DNAME records when
   parsing DNS messages.

 - CVE-2026-77692 Fix an unauthenticated crash on HTTPS using SIG(0)

 - CVE-2026-81736 Cached HTTPS/SVCB aliases could exhaust resolver CPU.

 - CVE-2026-76163 Prevent TKEY queries from terminating named without global
   options.

 - CVE-2026-78301 Out-of-zone records in a zone database could be served as
   authoritative.

 - CVE-2026-80274 Crash on wildcard answers carrying both NSEC and NSEC3
   proofs.

 - CVE-2026-81563 Following HTTPS/SVCB aliases could leak resolver cache
   memory.

Complete upstream changelog is available at
https://ftp.isc.org/isc/bind9/9.20.29/doc/arm/html/changelog.html

Signed-off-by: Noah Meyerhans <frodo@morgul.net>
2026-09-18 17:46:40 +02:00

296 lines
7.3 KiB
Makefile

#
# Copyright (C) 2006-2012 OpenWrt.org
# 2014-2024 Noah Meyerhans <frodo@morgul.net>
#
# This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information.
#
include $(TOPDIR)/rules.mk
PKG_NAME:=bind
PKG_VERSION:=9.20.29
PKG_RELEASE:=1
USERID:=bind=57:bind=57
PKG_MAINTAINER:=Noah Meyerhans <frodo@morgul.net>
PKG_LICENSE:=MPL-2.0
PKG_LICENSE_FILES:=LICENSE
PKG_CPE_ID:=cpe:/a:isc:bind
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
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:=587029508b3b1b43229fae416c97e5543aba45809cefaca98a5004a02a5736c1
PKG_INSTALL:=1
PKG_BUILD_FLAGS:=no-mips16
PKG_BUILD_PARALLEL:=1
PKG_CONFIG_DEPENDS := \
CONFIG_BIND_LIBJSON \
CONFIG_BIND_LIBXML2 \
CONFIG_BIND_JEMALLOC \
CONFIG_BIND_ENABLE_DOH \
CONFIG_BIND_ENABLE_GSSAPI
PKG_BUILD_DEPENDS += \
BIND_LIBXML2:libxml2 \
BIND_LIBJSON:libjson-c \
BIND_JEMALLOC:libjemalloc
include $(INCLUDE_DIR)/package.mk
include $(INCLUDE_DIR)/nls.mk
DISABLE_NLS:=
define Package/bind/Default
SECTION:=net
CATEGORY:=Network
DEPENDS:=+bind-libs +@OPENSSL_WITH_EC
EXTRA_DEPENDS:=bind-libs (=$(PKG_VERSION)-r$(PKG_RELEASE))
TITLE:=bind
URL:=https://www.isc.org/software/bind
SUBMENU:=IP Addresses and Names
endef
define Package/bind-libs
SECTION:=libs
CATEGORY:=Libraries
DEPENDS:=+libopenssl \
+zlib \
+libpthread \
$(ATOMIC64_DEPENDS) \
+libuv \
+liburcu \
+BIND_ENABLE_DOH:libnghttp2 \
+BIND_ENABLE_GSSAPI:krb5-libs \
+BIND_ENABLE_GSSAPI:libcomerr \
+BIND_LIBXML2:libxml2 \
+BIND_LIBJSON:libjson-c \
+BIND_JEMALLOC:libjemalloc
TITLE:=bind shared libraries
URL:=https://www.isc.org/software/bind
endef
define Package/bind-server
$(call Package/bind/Default)
TITLE+= DNS server
DEPENDS+= +libcap \
+bind-rndc
EXTRA_DEPENDS+=, bind-rndc (=$(PKG_VERSION)-r$(PKG_RELEASE))
endef
define Package/bind-server/config
source "$(SOURCE)/Config.in"
endef
define Package/bind-server-filter-aaaa
$(call Package/bind-server)
DEPENDS:=bind-server
EXTRA_DEPENDS:=bind-server (=$(PKG_VERSION)-r$(PKG_RELEASE))
TITLE+= filter AAAA plugin
endef
define Package/bind-client
$(call Package/bind/Default)
TITLE+= dynamic DNS client
endef
define Package/bind-tools
$(call Package/bind/Default)
TITLE+= administration tools (all)
DEPENDS:= \
+bind-check \
+bind-dig \
+bind-nslookup \
+bind-dnssec \
+bind-host \
+bind-rndc \
+bind-ddns-confgen
EXTRA_DEPENDS:= \
bind-check (=$(PKG_VERSION)-r$(PKG_RELEASE)), \
bind-dig (=$(PKG_VERSION)-r$(PKG_RELEASE)), \
bind-nslookup (=$(PKG_VERSION)-r$(PKG_RELEASE)), \
bind-dnssec (=$(PKG_VERSION)-r$(PKG_RELEASE)), \
bind-host (=$(PKG_VERSION)-r$(PKG_RELEASE)), \
bind-rndc (=$(PKG_VERSION)-r$(PKG_RELEASE)), \
bind-ddns-confgen (=$(PKG_VERSION)-r$(PKG_RELEASE))
endef
define Package/bind-rndc
$(call Package/bind/Default)
TITLE+= administration tools (rndc and rndc-confgen only)
endef
define Package/bind-check
$(call Package/bind/Default)
TITLE+= administration tools (named-checkconf and named-checkzone only)
endef
define Package/bind-dnssec
$(call Package/bind/Default)
TITLE+= administration tools (dnssec-keygen, dnssec-settime and dnssec-signzone only)
endef
define Package/bind-host
$(call Package/bind/Default)
TITLE+= simple DNS client
endef
define Package/bind-dig
$(call Package/bind/Default)
TITLE+= DNS excavation tool
endef
define Package/bind-nslookup
$(call Package/bind/Default)
TITLE+= nslookup utility
ALTERNATIVES:= \
200:/usr/bin/nslookup:/usr/libexec/nslookup-bind
endef
define Package/bind-ddns-confgen
$(call Package/bind/Default)
TITLE+= administration tools (ddns-confgen and tsig-keygen only)
endef
TARGET_LDFLAGS += -Wl,--gc-sections,--as-needed \
-Wl,-rpath-link,$(PKG_BUILD_DIR)/lib/ns/.libs
CONFIGURE_ARGS += \
--disable-geoip \
--with-openssl="$(STAGING_DIR)/usr" \
--without-lmdb \
--without-readline \
--sysconfdir=/etc/bind
ifdef CONFIG_BIND_LIBJSON
TARGET_CFLAGS += -DHAVE_JSON_C -UHAVE_JSON
CONFIGURE_ARGS += \
--with-json-c=yes
else
CONFIGURE_ARGS += \
--with-json-c=no
endif
ifdef CONFIG_BIND_LIBXML2
CONFIGURE_ARGS += \
--with-libxml2=yes
else
CONFIGURE_ARGS += \
--with-libxml2=no
endif
ifdef CONFIG_BIND_JEMALLOC
CONFIGURE_ARGS += \
--with-jemalloc=yes
else
CONFIGURE_ARGS += \
--without-jemalloc
endif
ifdef CONFIG_BIND_ENABLE_DOH
CONFIGURE_ARGS += \
--enable-doh
else
CONFIGURE_ARGS += \
--disable-doh
endif
ifdef CONFIG_BIND_ENABLE_GSSAPI
CONFIGURE_ARGS += \
--with-gssapi
else
CONFIGURE_ARGS += \
--without-gssapi
endif
define Package/bind-libs/install
$(INSTALL_DIR) $(1)/usr/lib
$(CP) $(PKG_INSTALL_DIR)/usr/lib/*.so* $(1)/usr/lib
endef
define Package/bind-server/install
$(INSTALL_DIR) $(1)/usr/sbin
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/named $(1)/usr/sbin/
$(INSTALL_DIR) $(1)/etc/bind
$(INSTALL_DATA) ./files/bind/db.root $(1)/etc/bind
$(INSTALL_DATA) ./files/bind/named.conf $(1)/etc/bind
$(INSTALL_DIR) $(1)/etc/init.d
$(INSTALL_BIN) ./files/named.init $(1)/etc/init.d/named
endef
define Package/bind-server/conffiles
/etc/bind
endef
define Package/bind-server-filter-aaaa/install
$(INSTALL_DIR) $(1)/usr/lib/bind
$(CP) $(PKG_INSTALL_DIR)/usr/lib/bind/filter-aaaa.so $(1)/usr/lib/bind
endef
define Package/bind-client/install
$(INSTALL_DIR) $(1)/usr/bin
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/nsupdate $(1)/usr/bin/
endef
define Package/bind-tools/install
$(INSTALL_DIR) $(1)/usr/bin
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/delv $(1)/usr/bin/
endef
define Package/bind-rndc/install
$(INSTALL_DIR) $(1)/usr/sbin
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/rndc $(1)/usr/sbin/
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/rndc-confgen $(1)/usr/sbin/
endef
define Package/bind-check/install
$(INSTALL_DIR) $(1)/usr/bin
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/named-checkconf $(1)/usr/bin/
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/named-checkzone $(1)/usr/bin/
endef
define Package/bind-dnssec/install
$(INSTALL_DIR) $(1)/usr/bin
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/dnssec-keygen $(1)/usr/bin/
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/dnssec-settime $(1)/usr/bin/
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/dnssec-signzone $(1)/usr/bin/
endef
define Package/bind-host/install
$(INSTALL_DIR) $(1)/usr/bin
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/host $(1)/usr/bin/
endef
define Package/bind-dig/install
$(INSTALL_DIR) $(1)/usr/bin
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/dig $(1)/usr/bin/
endef
define Package/bind-nslookup/install
$(INSTALL_DIR) $(1)/usr/libexec
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/nslookup $(1)/usr/libexec/nslookup-bind
endef
define Package/bind-ddns-confgen/install
$(INSTALL_DIR) $(1)/usr/sbin
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/ddns-confgen $(1)/usr/sbin/ddns-confgen
$(LN) -s ddns-confgen $(1)/usr/sbin/tsig-keygen
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))
$(eval $(call BuildPackage,bind-check))
$(eval $(call BuildPackage,bind-dnssec))
$(eval $(call BuildPackage,bind-host))
$(eval $(call BuildPackage,bind-dig))
$(eval $(call BuildPackage,bind-nslookup))
$(eval $(call BuildPackage,bind-ddns-confgen))