Files
buildroot/package/botan/botan.mk
Shubham Chakraborty 33bb1b8c9e package/botan: security bump to version 3.11.1
- Update BOTAN_VERSION to 3.11.1
- Remove 0001-Add-more-value-barriers-to-avoid-compiler-induced-side-channels.patch
  as it is already integrated upstream in this version.

Fixed in 3.11.1:
- CVE-2026-34580: Resolve certificate verification bypass bug introduced
  in 3.11.0 (GH #5500)
- CVE-2026-34582: Resolve TLS 1.3 client authentication bypass (GH #5599)

Fixed in 3.11.0:
- CVE-2026-32877: Fix a heap over-read during SM2 decryption (GH #5450)
- CVE-2026-32883: Fix an OCSP response forgery vulnerability (GH #5449)
- CVE-2026-32884: Fix a name constraints bypass for DNS names (GH #5448)

- Remove the --disable-altivec configuration option as it has been removed
  from the Botan build system in version 3.x
- Optimize the --disable-neon logic using the yx pattern.
  In Botan 3.x, the --disable-neon flag is specifically targeted at the
  arm32 architecture. Furthermore, Buildroot's BR2_ARM_CPU_HAS_NEON
  variable is only defined for 32-bit ARM, which previously caused a
  false-positive --disable-neon flag to be passed on AArch64 builds
- Update license.txt hash in botan.hash due to the copyright year update
  to 2026

https://botan.randombit.net/news.html#version-3-11-1-2026-03-31

Signed-off-by: Shubham Chakraborty <chakrabortyshubham66@gmail.com>
[Julien: fix CVE numbers in commit log]
Signed-off-by: Julien Olivain <ju.o@free.fr>
(cherry picked from commit 402c94c2d7)
Signed-off-by: Titouan Christophe <titouan.christophe@mind.be>
2026-08-13 16:03:39 +02:00

116 lines
2.5 KiB
Makefile

################################################################################
#
# botan
#
################################################################################
BOTAN_VERSION = 3.11.1
BOTAN_SOURCE = Botan-$(BOTAN_VERSION).tar.xz
BOTAN_SITE = http://botan.randombit.net/releases
BOTAN_LICENSE = BSD-2-Clause
BOTAN_LICENSE_FILES = license.txt
BOTAN_CPE_ID_VALID = YES
BOTAN_INSTALL_STAGING = YES
BOTAN_DEPENDENCIES = host-python3
BOTAN_CONF_OPTS = \
--cpu=$(BR2_ARCH) \
--disable-cc-tests \
--os=linux \
--cc=gcc \
--cc-bin="$(TARGET_CXX)" \
--prefix=/usr \
--without-documentation
ifeq ($(BR2_TOOLCHAIN_HAS_LIBATOMIC),y)
BOTAN_CONF_OPTS += --extra-libs=atomic
endif
ifeq ($(BR2_SHARED_LIBS),y)
BOTAN_CONF_OPTS += \
--disable-static-library \
--enable-shared-library
else ifeq ($(BR2_STATIC_LIBS),y)
BOTAN_CONF_OPTS += \
--disable-shared-library \
--enable-static-library \
--no-autoload
else ifeq ($(BR2_SHARED_STATIC_LIBS),y)
BOTAN_CONF_OPTS += \
--enable-shared-library \
--enable-static-library
endif
ifeq ($(BR2_TOOLCHAIN_HAS_SSP),y)
BOTAN_CONF_OPTS += --with-stack-protector
else
BOTAN_CONF_OPTS += --without-stack-protector
endif
ifeq ($(BR2_TOOLCHAIN_HAS_THREADS_NPTL),y)
BOTAN_CONF_OPTS += --with-os-feature=threads
else
BOTAN_CONF_OPTS += --without-os-feature=threads
endif
ifeq ($(BR2_TOOLCHAIN_USES_UCLIBC),y)
BOTAN_CONF_OPTS += --without-os-feature=explicit_bzero,getauxval,getentropy
endif
ifeq ($(BR2_PACKAGE_BOOST),y)
BOTAN_DEPENDENCIES += boost
BOTAN_CONF_OPTS += --with-boost
endif
ifeq ($(BR2_PACKAGE_BZIP2),y)
BOTAN_DEPENDENCIES += bzip2
BOTAN_CONF_OPTS += --with-bzip2
endif
ifeq ($(BR2_PACKAGE_SQLITE),y)
BOTAN_DEPENDENCIES += sqlite
BOTAN_CONF_OPTS += --with-sqlite
endif
ifeq ($(BR2_PACKAGE_TROUSERS),y)
BOTAN_DEPENDENCIES += trousers
BOTAN_CONF_OPTS += --with-tpm
endif
ifeq ($(BR2_PACKAGE_XZ),y)
BOTAN_DEPENDENCIES += xz
BOTAN_CONF_OPTS += --with-lzma
endif
ifeq ($(BR2_PACKAGE_ZLIB),y)
BOTAN_DEPENDENCIES += zlib
BOTAN_CONF_OPTS += --with-zlib
endif
ifeq ($(BR2_arm)x$(BR2_ARM_CPU_HAS_NEON),yx)
BOTAN_CONF_OPTS += --disable-neon
endif
ifeq ($(BR2_SOFT_FLOAT),y)
BOTAN_CONF_OPTS += --disable-neon
endif
define BOTAN_CONFIGURE_CMDS
(cd $(@D); $(TARGET_MAKE_ENV) ./configure.py $(BOTAN_CONF_OPTS))
endef
define BOTAN_BUILD_CMDS
$(TARGET_MAKE_ENV) $(MAKE) -C $(@D) AR="$(TARGET_AR)"
endef
define BOTAN_INSTALL_STAGING_CMDS
$(TARGET_MAKE_ENV) $(MAKE) -C $(@D) DESTDIR="$(STAGING_DIR)" install
endef
define BOTAN_INSTALL_TARGET_CMDS
$(TARGET_MAKE_ENV) $(MAKE) -C $(@D) DESTDIR="$(TARGET_DIR)" install
endef
$(eval $(generic-package))