From 4e4986aaf6e7f77da0f01fce54b067de3538e438 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=81lvaro=20Fern=C3=A1ndez=20Rojas?= Date: Sat, 6 Dec 2025 17:01:00 +0100 Subject: [PATCH 01/12] odhcpd: update to Git HEAD (2025-12-10) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ca00527e5fc3 statefiles: don't write empty hosts files 24b70c5c2ff0 Revert "statefiles: fix escape sequence for broken hostname output" 5203ad13954c statefiles: fix stale pio handling for !ubus a64760b30f67 odhcpd: rename piofolder to piodir 6779344a8c8a statefiles: use tmpfile functions for pio files 9f8abcc662d0 statefiles: rename prefix information functions cb65b83e524e config: move pio json handling to statefiles.c 5b01849cc42c statefiles: add a dirfd helper function eadde3d7dd74 statefiles: add tmp helper functions c29aa7091498 statefiles: fix escape sequence for broken hostname output 00f2d7a4dbe5 dhcpv4: don't send zero IPv6-only preferred option c86d29bb83d6 Revert "dhcpv6-ia: add some noise to the T1 and T2 periods" b062769ab85f Revert "do not delegate ULA prefixes" fd4714bb2dfe do not delegate ULA prefixes 81ea5bfef775 dhcpv6-ia: add some noise to the T1 and T2 periods https://github.com/openwrt/odhcpd/compare/79252ed0c0c2...ca00527e5fc3 Signed-off-by: Álvaro Fernández Rojas --- package/network/services/odhcpd/Makefile | 6 +- .../services/odhcpd/files/odhcpd.defaults | 61 +++++++++++++++++-- 2 files changed, 59 insertions(+), 8 deletions(-) diff --git a/package/network/services/odhcpd/Makefile b/package/network/services/odhcpd/Makefile index 9d125734a7..92dfd823b4 100644 --- a/package/network/services/odhcpd/Makefile +++ b/package/network/services/odhcpd/Makefile @@ -12,9 +12,9 @@ PKG_RELEASE:=1 PKG_SOURCE_PROTO:=git PKG_SOURCE_URL=$(PROJECT_GIT)/project/odhcpd.git -PKG_MIRROR_HASH:=7d2a69c9f514c01c4e520034554fe7da9a9fe065b9bccb9f0c7063f657c5b9fb -PKG_SOURCE_DATE:=2025-12-04 -PKG_SOURCE_VERSION:=79252ed0c0c26659a95729da0f2accaa0ddb458d +PKG_MIRROR_HASH:=cce1d4f3c88f4eec0cf8b19429f12e6fc2f47dca9b4d643a31569c1209f8fabc +PKG_SOURCE_DATE:=2025-12-10 +PKG_SOURCE_VERSION:=ca00527e5fc3d8d2b8c1a60fbeb6a25e2bf68674 PKG_MAINTAINER:=Álvaro Fernández Rojas PKG_LICENSE:=GPL-2.0 diff --git a/package/network/services/odhcpd/files/odhcpd.defaults b/package/network/services/odhcpd/files/odhcpd.defaults index 76c75b060a..fbb7ec92af 100644 --- a/package/network/services/odhcpd/files/odhcpd.defaults +++ b/package/network/services/odhcpd/files/odhcpd.defaults @@ -1,13 +1,64 @@ #!/bin/sh +. /usr/share/libubox/jshn.sh + +pio_file_check() { + local file valid + + file=$1 + valid=0 + + json_init + json_load_file $file 2> /dev/null + + if json_is_a slaac array; then + local keys len + + json_select slaac + json_get_keys keys + + len=$(echo $keys | wc -w) + if [ $len -gt 0 ]; then + valid=1 + fi + fi + + echo $valid +} + +pio_folder_migrate() { + local piodir piofolder + + piofolder=$1 + piodir=$2 + + [ -d $piofolder ] || return + [ -d $piodir ] || mkdir -p $piodir + + for file in $piofolder/*; do + [ -e "$file" ] || continue + if [ $(pio_file_check $file) -eq 1 ]; then + mv $file $piodir/odhcpd.pio.$(basename $file) + fi + done +} + if [ -n "$(uci -q get dhcp.odhcpd)" ]; then - local commit - local hostsfile + local commit hostsfile piodir piofolder commit=0 - if [ -z "$(uci -q get dhcp.odhcpd.piofolder)" ]; then - uci set dhcp.odhcpd.piofolder=/tmp/odhcpd-piofolder + piodir=$(uci -q get dhcp.odhcpd.piodir) + if [ -z "$piodir" ]; then + piodir=/tmp/odhcpd-piodir + uci set dhcp.odhcpd.piodir=$piodir + commit=1 + fi + + piofolder=$(uci -q get dhcp.odhcpd.piofolder) + if [ -n "$piofolder" ]; then + pio_folder_migrate $piofolder $piodir + uci delete dhcp.odhcpd.piofolder commit=1 fi @@ -78,7 +129,7 @@ set dhcp.odhcpd.maindhcp=$ODHCPDONLY set dhcp.odhcpd.leasefile=/tmp/odhcpd.leases set dhcp.odhcpd.leasetrigger=/usr/sbin/odhcpd-update set dhcp.odhcpd.loglevel=4 -set dhcp.odhcpd.piofolder=/tmp/odhcpd-piofolder +set dhcp.odhcpd.piodir=/tmp/odhcpd-piodir set dhcp.odhcpd.hostsdir=/tmp/hosts set dhcp.lan.dhcpv4=$V4MODE set dhcp.lan.dhcpv6=$V6MODE From f3e4620f592be9413a5c71fbc4b664c50a158faa Mon Sep 17 00:00:00 2001 From: Andreas Gnau Date: Wed, 10 Dec 2025 18:21:45 +0100 Subject: [PATCH 02/12] build: depend on tools/zstd for download Downloading packages from git requires zstd to compress their tarballs. Make sure that zstd from host tools is compiled when running make download. Otherwise, either the download would fail because zstd is not present or a random version from the host would be used leading to hash mismatches. Signed-off-by: Andreas Gnau Link: https://github.com/openwrt/openwrt/pull/21125 Signed-off-by: Christian Marangi --- include/toplevel.mk | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/include/toplevel.mk b/include/toplevel.mk index bffbd4a0be..c55c92077f 100644 --- a/include/toplevel.mk +++ b/include/toplevel.mk @@ -201,7 +201,7 @@ else DOWNLOAD_DIRS = package/download endif -download: .config FORCE $(if $(wildcard $(STAGING_DIR_HOST)/bin/flock),,tools/flock/compile) +download: .config FORCE $(if $(wildcard $(STAGING_DIR_HOST)/bin/flock),,tools/flock/compile) $(if $(wildcard $(STAGING_DIR_HOST)/bin/zstd),,tools/zstd/compile) @+$(foreach dir,$(DOWNLOAD_DIRS),$(SUBMAKE) $(dir);) clean dirclean: .config From 9e9206427fba3ca301e9328c3d37f8ce1f14b2e7 Mon Sep 17 00:00:00 2001 From: Vincent Li Date: Tue, 9 Dec 2025 17:36:42 -0800 Subject: [PATCH 03/12] loongarch64: Disable strict alignment to fix BPF program failures CONFIG_ARCH_STRICT_ALIGN=y (default in config-6.12) causes BPF programs (XDP, TC, tracing, etc.) to fail verification with misaligned packet and memory access errors, breaking essential kernel functionality. Hardware support status: - Supported (modern CPUs): 2K2000, 2K3000, 3A5000, 3A6000, 3C5000, 3C6000, 3D5000 - Unsupported (legacy): 2K500, 2K1000 The current default prioritizes legacy compatibility over: 1. BPF program functionality across multiple subsystems 2. Performance on widely deployed modern hardware 3. Modern kernel features relying on unaligned accesses Since BPF programs require unaligned access capabilities and most LoongArch deployments use modern CPUs with hardware support, disable CONFIG_ARCH_STRICT_ALIGN. Legacy system users can manually enable it if needed. Link: https://github.com/vincentmli/BPFire/issues/69 Reference: https://elixir.bootlin.com/linux/v6.12/source/arch/loongarch/Kconfig#L534 Signed-off-by: Vincent Li Link: https://github.com/openwrt/openwrt/pull/21121 Signed-off-by: Christian Marangi --- target/linux/loongarch64/config-6.12 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/target/linux/loongarch64/config-6.12 b/target/linux/loongarch64/config-6.12 index 99a587e6a7..c4fc987b6d 100644 --- a/target/linux/loongarch64/config-6.12 +++ b/target/linux/loongarch64/config-6.12 @@ -52,7 +52,7 @@ CONFIG_ARCH_MMAP_RND_BITS_MIN=12 CONFIG_ARCH_SELECT_MEMORY_MODEL=y CONFIG_ARCH_SPARSEMEM_ENABLE=y CONFIG_ARCH_STACKWALK=y -CONFIG_ARCH_STRICT_ALIGN=y +# CONFIG_ARCH_STRICT_ALIGN is not set CONFIG_ARCH_SUSPEND_POSSIBLE=y CONFIG_ARCH_WANTS_NO_INSTR=y CONFIG_ARCH_WANTS_THP_SWAP=y From 1c7ec8ab19ab0b6d6cb35d277fd1efff273ce36a Mon Sep 17 00:00:00 2001 From: Linus Walleij Date: Thu, 19 Jun 2025 14:07:34 +0200 Subject: [PATCH 04/12] scripts/jungo-image: Fix up whitespace Recent Python versions are strict about whitespace and will complain about mixtures of tabs and spaces. Convert any tabs so the script just use spaces for indentation. Signed-off-by: Linus Walleij Link: https://github.com/openwrt/openwrt/pull/21116 Signed-off-by: Christian Marangi --- scripts/flashing/jungo-image.py | 78 ++++++++++++++++----------------- 1 file changed, 39 insertions(+), 39 deletions(-) diff --git a/scripts/flashing/jungo-image.py b/scripts/flashing/jungo-image.py index fdd4562374..7797182169 100755 --- a/scripts/flashing/jungo-image.py +++ b/scripts/flashing/jungo-image.py @@ -97,21 +97,21 @@ def image_dump(tn, dumpfile): buf = tn.read_until("Returned 0",2) i = buf.find("Platform:") if i < 0: - platform="jungo" - else: - line=buf[i+9:] - i=line.find('\n') - platform=line[:i].split()[-1] + platform="jungo" + else: + line=buf[i+9:] + i=line.find('\n') + platform=line[:i].split()[-1] tn.write("rg_conf_print /dev/%s/mac\n" % device); buf = tn.read_until("Returned 0",3) - i = buf.find("mac(") - if i > 0: - i += 4 - else: - print("No MAC address found! (use -f option)") - sys.exit(1) + i = buf.find("mac(") + if i > 0: + i += 4 + else: + print("No MAC address found! (use -f option)") + sys.exit(1) dumpfile = "%s-%s.bin" % (platform, buf[i:i+17].replace(':','')) else: tn.write("\n") @@ -121,31 +121,31 @@ def image_dump(tn, dumpfile): t=flashsize/dumplen for addr in range(t): - if verbose: - sys.stdout.write('\r%d%%'%(100*addr/t)) - sys.stdout.flush() + if verbose: + sys.stdout.write('\r%d%%'%(100*addr/t)) + sys.stdout.flush() tn.write("flash_dump -r 0x%x -l %d -4\n" % (addr*dumplen, dumplen)) - tn.read_until("\n") + tn.read_until("\n") - count = addr*dumplen + count = addr*dumplen while 1: buf = tn.read_until("\n") if buf.strip() == "Returned 0": break s = buf.split() if s and s[0][-1] == ':': - a=int(s[0][:-1],16) - if a != count: - print("Format error: %x != %x"%(a,count)) - sys.exit(2) - count += 16 - f.write(binascii.a2b_hex(string.join(s[1:],''))) - tn.read_until(">",1) + a=int(s[0][:-1],16) + if a != count: + print("Format error: %x != %x"%(a,count)) + sys.exit(2) + count += 16 + f.write(binascii.a2b_hex(string.join(s[1:],''))) + tn.read_until(">",1) f.close() if verbose: - print("") + print("") def telnet_option(sock,cmd,option): #print "Option: %d %d" % (ord(cmd), ord(option)) @@ -175,27 +175,27 @@ except getopt.GetoptError: for o, a in opts: if o in ("-h", "--help"): - usage() - sys.exit(1) + usage() + sys.exit(1) elif o in ("-V", "--version"): - print("%s: 0.11" % sys.argv[0]) - sys.exit(1) + print("%s: 0.11" % sys.argv[0]) + sys.exit(1) elif o in ("-d", "--no-dump"): - do_dump = 1 + do_dump = 1 elif o in ("-f", "--file"): - dumpfile = a + dumpfile = a elif o in ("-u", "--user"): - user = a + user = a elif o in ("-p", "--pass"): - password = a + password = a elif o == "--port": - PORT = int(a) + PORT = int(a) elif o in ("-q", "--quiet"): - verbose = 0 + verbose = 0 elif o in ("-r", "--reboot"): - reboot = 1 + reboot = 1 elif o in ("-v", "--verbose"): - verbose = 1 + verbose = 1 # make sure we have enough arguments if len(args) > 0: @@ -260,12 +260,12 @@ if imagefile or url: start_server(server) if verbose: - print("Unlocking flash...") + print("Unlocking flash...") tn.write("unlock 0 0x%x\n" % flashsize) buf = tn.read_until("Returned 0",5) if verbose: - print("Writing new image...") + print("Writing new image...") print(cmd, end=' ') tn.write(cmd) buf = tn.read_until("Returned 0",10) @@ -273,7 +273,7 @@ if imagefile or url: # wait till the transfer completed buf = tn.read_until("Download completed successfully",20) if buf: - print("Flash update complete!") + print("Flash update complete!") if reboot: tn.write("reboot\n") print("Rebooting...") From 521087d13175e78e8e7d6e7a2e250063a169aa40 Mon Sep 17 00:00:00 2001 From: Christian Marangi Date: Wed, 10 Dec 2025 22:48:55 +0100 Subject: [PATCH 05/12] mac80211: backport patch fixing support for GCC15 Backport patch fixing support for GCC15 caused by __counted_by. This macro was moved to a different header in recent kernel version and caused wrong detection on the #ifndef condition. Signed-off-by: Christian Marangi --- ..._counted_by-to-compiler_types.h-head.patch | 64 +++++++++++++++++++ 1 file changed, 64 insertions(+) create mode 100644 package/kernel/mac80211/patches/build/130-backports-move-__counted_by-to-compiler_types.h-head.patch diff --git a/package/kernel/mac80211/patches/build/130-backports-move-__counted_by-to-compiler_types.h-head.patch b/package/kernel/mac80211/patches/build/130-backports-move-__counted_by-to-compiler_types.h-head.patch new file mode 100644 index 0000000000..ca821dc6e3 --- /dev/null +++ b/package/kernel/mac80211/patches/build/130-backports-move-__counted_by-to-compiler_types.h-head.patch @@ -0,0 +1,64 @@ +From b63f79524e6f30e58692bc9ee57c6e6e0dd10de4 Mon Sep 17 00:00:00 2001 +From: Christian Marangi +Date: Wed, 10 Dec 2025 22:37:03 +0100 +Subject: [PATCH] backports: move __counted_by to compiler_types.h header + +Port f06e108a3dc5 ("Compiler Attributes: disable __counted_by for clang +< 19.1.3") changes to align with new kernel version that moved the +__counted_by to a new header file. + +Signed-off-by: Christian Marangi +--- + .../linux/compiler_attributes.h | 15 ------------ + .../backport-include/linux/compiler_types.h | 23 +++++++++++++++++++ + 2 files changed, 23 insertions(+), 15 deletions(-) + create mode 100644 backport-include/linux/compiler_types.h + +--- a/backport-include/linux/compiler_attributes.h ++++ b/backport-include/linux/compiler_attributes.h +@@ -31,19 +31,4 @@ + #endif + #endif /* fallthrough */ + +-#ifndef __counted_by +-/* +- * Optional: only supported since gcc >= 14 +- * Optional: only supported since clang >= 17 +- * +- * gcc: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108896 +- * clang: https://reviews.llvm.org/D148381 +- */ +-#if __has_attribute(__element_count__) +-# define __counted_by(member) __attribute__((__element_count__(#member))) +-#else +-# define __counted_by(member) +-#endif +-#endif +- + #endif /* _BACKPORTS_LINUX_COMPILER_ATTRIBUTES_H */ +--- /dev/null ++++ b/backport-include/linux/compiler_types.h +@@ -0,0 +1,23 @@ ++#ifndef _BACKPORTS_LINUX_COMPILER_TYPES_H ++#define _BACKPORTS_LINUX_COMPILER_TYPES_H 1 ++ ++#if LINUX_VERSION_IS_GEQ(6,12,1) ++#include_next ++#endif ++ ++#ifndef __counted_by ++/* ++ * Optional: only supported since gcc >= 14 ++ * Optional: only supported since clang >= 17 ++ * ++ * gcc: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108896 ++ * clang: https://reviews.llvm.org/D148381 ++ */ ++#if __has_attribute(__element_count__) ++# define __counted_by(member) __attribute__((__element_count__(#member))) ++#else ++# define __counted_by(member) ++#endif ++#endif ++ ++#endif /* _BACKPORTS_LINUX_COMPILER_TYPES_H */ From 5cbafcbb67fe463883e0c985d11203d56dc3e5dc Mon Sep 17 00:00:00 2001 From: Hauke Mehrtens Date: Mon, 8 Dec 2025 22:38:25 +0100 Subject: [PATCH 06/12] iproute2: update to version 6.18 The removed patch 001-lib-bridge-avoid-redefinition-of-in6_addr.patch was integrated upstream. Changes: https://github.com/iproute2/iproute2/compare/v6.17.0...v6.18.0 The apk size did not increase much: Old size for armsr/armv8: 43778 ip-bridge-6.17.0-r1.apk 164653 ip-tiny-6.17.0-r1.apk 208236 tc-bpf-6.17.0-r1.apk 210209 tc-full-6.17.0-r1.apk 172483 tc-tiny-6.17.0-r1.apk new size for armsr/armv8: 43781 ip-bridge-6.18.0-r1.apk 164956 ip-tiny-6.18.0-r1.apk 208578 tc-bpf-6.18.0-r1.apk 210482 tc-full-6.18.0-r1.apk 172664 tc-tiny-6.18.0-r1.apk Link: https://github.com/openwrt/openwrt/pull/21101 Signed-off-by: Hauke Mehrtens --- package/network/utils/iproute2/Makefile | 4 +-- ...ridge-avoid-redefinition-of-in6_addr.patch | 27 ------------------- .../130-no_netem_tipc_dcb_man_vdpa.patch | 2 +- 3 files changed, 3 insertions(+), 30 deletions(-) delete mode 100644 package/network/utils/iproute2/patches/001-lib-bridge-avoid-redefinition-of-in6_addr.patch diff --git a/package/network/utils/iproute2/Makefile b/package/network/utils/iproute2/Makefile index 1e02cd01b2..bdb4c1685d 100644 --- a/package/network/utils/iproute2/Makefile +++ b/package/network/utils/iproute2/Makefile @@ -8,12 +8,12 @@ include $(TOPDIR)/rules.mk PKG_NAME:=iproute2 -PKG_VERSION:=6.17.0 +PKG_VERSION:=6.18.0 PKG_RELEASE:=1 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz PKG_SOURCE_URL:=@KERNEL/linux/utils/net/iproute2 -PKG_HASH:=9781e59410ab7dea8e9f79bb10ff1488e63d10fcbb70503b94426ba27a8e2dec +PKG_HASH:=6ba520e1975e4c50dc931eeae91ea37c198b8a173744885f8895b84325f9d456 PKG_BUILD_PARALLEL:=1 PKG_BUILD_DEPENDS:=iptables PKG_LICENSE:=GPL-2.0 diff --git a/package/network/utils/iproute2/patches/001-lib-bridge-avoid-redefinition-of-in6_addr.patch b/package/network/utils/iproute2/patches/001-lib-bridge-avoid-redefinition-of-in6_addr.patch deleted file mode 100644 index 166f15ccf4..0000000000 --- a/package/network/utils/iproute2/patches/001-lib-bridge-avoid-redefinition-of-in6_addr.patch +++ /dev/null @@ -1,27 +0,0 @@ -From 7119f3736f689ab396ca4193ac593938affd55fa Mon Sep 17 00:00:00 2001 -From: Yureka -Date: Sun, 12 Oct 2025 14:39:47 +0200 -Subject: lib: bridge: avoid redefinition of in6_addr - -On musl libc, which does not use the kernel definitions of in6_addr, including -the libc headers after the kernel (UAPI) headers would cause a redefinition -error. The opposite order avoids the redefinition. - -Fixes: 9e89d5b94d749f37525cd8778311e1c9f28f172a -Signed-off-by: Yureka ---- - lib/bridge.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - ---- a/lib/bridge.c -+++ b/lib/bridge.c -@@ -2,8 +2,8 @@ - - #include - --#include "bridge.h" - #include "utils.h" -+#include "bridge.h" - - void bridge_print_vlan_flags(__u16 flags) - { diff --git a/package/network/utils/iproute2/patches/130-no_netem_tipc_dcb_man_vdpa.patch b/package/network/utils/iproute2/patches/130-no_netem_tipc_dcb_man_vdpa.patch index 7f946070f9..25a985d8d8 100644 --- a/package/network/utils/iproute2/patches/130-no_netem_tipc_dcb_man_vdpa.patch +++ b/package/network/utils/iproute2/patches/130-no_netem_tipc_dcb_man_vdpa.patch @@ -7,7 +7,7 @@ -SUBDIRS=lib ip tc bridge misc netem genl man +SUBDIRS=lib ip tc bridge misc genl ifeq ($(HAVE_MNL),y) --SUBDIRS += tipc devlink rdma dcb vdpa +-SUBDIRS += tipc devlink rdma dcb vdpa netshaper +SUBDIRS += devlink rdma endif From 04946ee8abd9f486bf2dbf13c29fc4394ab8f396 Mon Sep 17 00:00:00 2001 From: Christian Marangi Date: Wed, 10 Dec 2025 23:19:35 +0100 Subject: [PATCH 07/12] openwrt-keyring: update to Git HEAD (2025-12-10) f0670054fd3a apk: add OpenWrt 25.12 release build public key Signed-off-by: Christian Marangi --- package/system/openwrt-keyring/Makefile | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/package/system/openwrt-keyring/Makefile b/package/system/openwrt-keyring/Makefile index 7f237ed9fa..37b3840603 100644 --- a/package/system/openwrt-keyring/Makefile +++ b/package/system/openwrt-keyring/Makefile @@ -7,9 +7,9 @@ PKG_RELEASE:=1 PKG_SOURCE_PROTO:=git PKG_SOURCE_URL=$(PROJECT_GIT)/keyring.git -PKG_SOURCE_DATE:=2024-11-01 -PKG_SOURCE_VERSION:=fbae29d730f81c892f52e0ff00fe867444aeeae6 -PKG_MIRROR_HASH:=9a314756ddb61dde084f810ef056835addd9097ad26cb5e66efc6b38debc8aa0 +PKG_SOURCE_DATE:=2025-12-10 +PKG_SOURCE_VERSION:=f0670054fd3aa9616bcd8d0d0357a1a15c65b758 +PKG_MIRROR_HASH:=a8e0c09678109c576a54ed5101ac83131015533da899c10d9e276c200cf97b1b PKG_MAINTAINER:=John Crispin PKG_LICENSE:=GPL-2.0 From 4e06003d065526fd1e1085449258034d846e6701 Mon Sep 17 00:00:00 2001 From: Hauke Mehrtens Date: Mon, 8 Dec 2025 22:12:49 +0100 Subject: [PATCH 08/12] libnl: update to version 3.12 Changes: https://github.com/thom311/libnl/compare/libnl3_11_0...libnl3_12_0 The apk size did not increase much: Old size for armsr/armv8: 767 libnl200-3.11.0-r1.apk 13480 libnl-cli200-3.11.0-r1.apk 44511 libnl-core200-3.11.0-r1.apk 9101 libnl-genl200-3.11.0-r1.apk 32485 libnl-nf200-3.11.0-r1.apk 185723 libnl-route200-3.11.0-r1.apk new size for armsr/armv8: 764 libnl200-3.12.0-r1.apk 13471 libnl-cli200-3.12.0-r1.apk 45031 libnl-core200-3.12.0-r1.apk 9098 libnl-genl200-3.12.0-r1.apk 32479 libnl-nf200-3.12.0-r1.apk 193131 libnl-route200-3.12.0-r1.apk Link: https://github.com/openwrt/openwrt/pull/21097 Signed-off-by: Hauke Mehrtens --- package/libs/libnl/Makefile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/package/libs/libnl/Makefile b/package/libs/libnl/Makefile index f83a5ac684..a07606c8fa 100644 --- a/package/libs/libnl/Makefile +++ b/package/libs/libnl/Makefile @@ -6,12 +6,12 @@ include $(TOPDIR)/rules.mk PKG_NAME:=libnl -PKG_VERSION:=3.11.0 +PKG_VERSION:=3.12.0 PKG_RELEASE:=1 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz PKG_SOURCE_URL:=https://github.com/thom311/libnl/releases/download/libnl$(subst .,_,$(PKG_VERSION)) -PKG_HASH:=2a56e1edefa3e68a7c00879496736fdbf62fc94ed3232c0baba127ecfa76874d +PKG_HASH:=fc51ca7196f1a3f5fdf6ffd3864b50f4f9c02333be28be4eeca057e103c0dd18 PKG_LICENSE:=LGPL-2.1 PKG_LICENSE_FILES:=COPYING From f26294f161a854492306c87348a6e4a128f03e0d Mon Sep 17 00:00:00 2001 From: Hauke Mehrtens Date: Mon, 8 Dec 2025 22:17:15 +0100 Subject: [PATCH 09/12] libnftnl: update to version 1.3.1 Announcement: https://lwn.net/Articles/1049279/ Changes: https://git.netfilter.org/libnftnl/diff/?id=libnftnl-1.3.1&id2=libnftnl-1.3.0&dt=2 The apk size did not increase much: Old size for armsr/armv8: 62606 libnftnl11-1.3.0-r1.apk new size for armsr/armv8: 64212 libnftnl11-1.3.1-r1.apk Link: https://github.com/openwrt/openwrt/pull/21096 Signed-off-by: Hauke Mehrtens --- package/libs/libnftnl/Makefile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/package/libs/libnftnl/Makefile b/package/libs/libnftnl/Makefile index 117a8b4f9d..dd0de5c8d6 100644 --- a/package/libs/libnftnl/Makefile +++ b/package/libs/libnftnl/Makefile @@ -9,12 +9,12 @@ include $(TOPDIR)/rules.mk PKG_NAME:=libnftnl PKG_CPE_ID:=cpe:/a:netfilter:libnftnl -PKG_VERSION:=1.3.0 +PKG_VERSION:=1.3.1 PKG_RELEASE:=1 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz PKG_SOURCE_URL:=https://netfilter.org/projects/$(PKG_NAME)/files -PKG_HASH:=0f4be47a8bb8b77a350ee58cbd4b5fae6260ad486a527706ab15cfe1dd55a3c4 +PKG_HASH:=607da28dba66fbdeccf8ef1395dded9077e8d19f2995f9a4d45a9c2f0bcffba8 PKG_MAINTAINER:=Steven Barth PKG_LICENSE:=GPL-2.0-or-later From 367d8b21156993a39240e2d419367fa1aa1c0ffa Mon Sep 17 00:00:00 2001 From: Hauke Mehrtens Date: Mon, 8 Dec 2025 22:18:31 +0100 Subject: [PATCH 10/12] nftables: update to version 1.1.6 Announcement: https://lwn.net/Articles/1049470/ Changes: https://git.netfilter.org/nftables/diff/?id=v1.1.6&id2=v1.1.5&dt=2 The apk size did not increase much: Old size for armsr/armv8: 318457 nftables-json-1.1.5-r1.apk new size for armsr/armv8: 327941 nftables-json-1.1.6-r1.apk Link: https://github.com/openwrt/openwrt/pull/21096 Signed-off-by: Hauke Mehrtens --- package/network/utils/nftables/Makefile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/package/network/utils/nftables/Makefile b/package/network/utils/nftables/Makefile index 580979dfb4..0147c4d057 100644 --- a/package/network/utils/nftables/Makefile +++ b/package/network/utils/nftables/Makefile @@ -6,12 +6,12 @@ include $(TOPDIR)/rules.mk PKG_NAME:=nftables -PKG_VERSION:=1.1.5 +PKG_VERSION:=1.1.6 PKG_RELEASE:=1 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz PKG_SOURCE_URL:=https://netfilter.org/projects/$(PKG_NAME)/files -PKG_HASH:=1daf10f322e14fd90a017538aaf2c034d7cc1eb1cc418ded47445d714ea168d4 +PKG_HASH:=372931bda8556b310636a2f9020adc710f9bab66f47efe0ce90bff800ac2530c PKG_MAINTAINER:= PKG_LICENSE:=GPL-2.0 From afdbdbae3b959bd16ebb14193ff6803b7320db38 Mon Sep 17 00:00:00 2001 From: Hauke Mehrtens Date: Mon, 8 Dec 2025 22:40:54 +0100 Subject: [PATCH 11/12] bridger: update to Git HEAD (2025-10-23) 856921fb2062 nl: improve polling a40cb7994e92 nl: handle netlink socket buffer overflow 9fc2bc3e3d4d bpf: skip all multicast packets Changes: https://github.com/nbd168/bridger/compare/95125f0b0be53b3b6fa6439641a75bedd962da09...9fc2bc3e3d4d3ffa63ee202ce8097620ce300e4f Link: https://github.com/openwrt/openwrt/pull/21104 Signed-off-by: Hauke Mehrtens --- package/network/services/bridger/Makefile | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/package/network/services/bridger/Makefile b/package/network/services/bridger/Makefile index 8bda59378d..00cec29882 100644 --- a/package/network/services/bridger/Makefile +++ b/package/network/services/bridger/Makefile @@ -10,9 +10,9 @@ include $(TOPDIR)/rules.mk PKG_NAME:=bridger PKG_SOURCE_PROTO:=git PKG_SOURCE_URL=https://github.com/nbd168/bridger -PKG_SOURCE_DATE:=2025-10-21 -PKG_SOURCE_VERSION:=95125f0b0be53b3b6fa6439641a75bedd962da09 -PKG_MIRROR_HASH:=64ae76c53622ba79261e42bad37cd7af193377ff1a4d170a4a1bdbdf10dd42ca +PKG_SOURCE_DATE:=2025-10-23 +PKG_SOURCE_VERSION:=9fc2bc3e3d4d3ffa63ee202ce8097620ce300e4f +PKG_MIRROR_HASH:=111a95327337a775e202f1aded74069887ff85f308cdf3eeb994a21160110afb PKG_LICENSE:=GPL-2.0 PKG_MAINTAINER:=Felix Fietkau From c25265953b9c06fafc6091982468ed0cfc30abb0 Mon Sep 17 00:00:00 2001 From: Nick Hainke Date: Sun, 23 Nov 2025 09:58:30 +0100 Subject: [PATCH 12/12] libcap: update to 2.77 Update to latest release. Add patch `003-Revert-libcap-Add-build-ldflags-to-_makenames-rule.patch` to fix errors in the form of: ``` /usr/bin/ld.bfd: /external-toolchain/openwrt-toolchain-x86-64_gcc-14.3.0_musl.Linux-x86_64/toolchain-x86_64_gcc-14.3.0_musl/lib/libc.a(__stack_chk_fail.o): relocation R_X86_64_32 against symbol `__stack_chk_guard' can not be used when making a PIE object; recompile with -fPIE /usr/bin/ld.bfd: /external-toolchain/openwrt-toolchain-x86-64_gcc-14.3.0_musl.Linux-x86_64/toolchain-x86_64_gcc-14.3.0_musl/lib/libc.a(strerror.o): relocation R_X86_64_32 against `.rodata.errmsgstr' can not be used when making a PIE object; recompile with -fPIE /usr/bin/ld.bfd: /external-toolchain/openwrt-toolchain-x86-64_gcc-14.3.0_musl.Linux-x86_64/toolchain-x86_64_gcc-14.3.0_musl/lib/libc.a(realloc.o): relocation R_X86_64_32S against hidden symbol `__malloc_size_classes' can not be used when making a PIE object /usr/bin/ld.bfd: /external-toolchain/openwrt-toolchain-x86-64_gcc-14.3.0_musl.Linux-x86_64/toolchain-x86_64_gcc-14.3.0_musl/lib/libc.a(__stdout_write.o): relocation R_X86_64_32S against hidden symbol `__stdio_write' can not be used when making a PIE object /usr/bin/ld.bfd: /external-toolchain/openwrt-toolchain-x86-64_gcc-14.3.0_musl.Linux-x86_64/toolchain-x86_64_gcc-14.3.0_musl/lib/libc.a(ofl.o): relocation R_X86_64_32 against `.bss.ofl_lock' can not be used when making a PIE object; recompile with -fPIE /usr/bin/ld.bfd: /external-toolchain/openwrt-toolchain-x86-64_gcc-14.3.0_musl.Linux-x86_64/toolchain-x86_64_gcc-14.3.0_musl/lib/libc.a(stderr.o): warning: relocation against `__stderr_FILE' in read-only section `.rodata.stderr' /usr/bin/ld.bfd: /usr/lib/gcc/x86_64-linux-gnu/10/../../../x86_64-linux-gnu/Scrt1.o: in function `_start': (.text+0x12): undefined reference to `__libc_csu_fini' /usr/bin/ld.bfd: (.text+0x19): undefined reference to `__libc_csu_init' collect2: error: ld returned 1 exit status ``` Changes: https://git.kernel.org/pub/scm/libs/libcap/libcap.git/diff/?id=v1.2.77&id2=v1.2.69&dt=2 The apk size did not increase much: Old size for armsr/armv8: 16245 libcap-2.69-r1.apk new size for armsr/armv8: 16315 libcap-2.77-r1.apk Signed-off-by: Nick Hainke Link: https://github.com/openwrt/openwrt/pull/20881 Signed-off-by: Hauke Mehrtens --- package/libs/libcap/Makefile | 4 +-- ...Add-build-ldflags-to-_makenames-rule.patch | 27 +++++++++++++++++++ 2 files changed, 29 insertions(+), 2 deletions(-) create mode 100644 package/libs/libcap/patches/003-Revert-libcap-Add-build-ldflags-to-_makenames-rule.patch diff --git a/package/libs/libcap/Makefile b/package/libs/libcap/Makefile index 989209302a..ab74ff4681 100644 --- a/package/libs/libcap/Makefile +++ b/package/libs/libcap/Makefile @@ -6,12 +6,12 @@ include $(TOPDIR)/rules.mk PKG_NAME:=libcap -PKG_VERSION:=2.69 +PKG_VERSION:=2.77 PKG_RELEASE:=1 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz PKG_SOURCE_URL:=@KERNEL/linux/libs/security/linux-privs/libcap2 -PKG_HASH:=f311f8f3dad84699d0566d1d6f7ec943a9298b28f714cae3c931dfd57492d7eb +PKG_HASH:=897bc18b44afc26c70e78cead3dbb31e154acc24bee085a5a09079a88dbf6f52 PKG_MAINTAINER:=Paul Wassi PKG_LICENSE:=GPL-2.0-only diff --git a/package/libs/libcap/patches/003-Revert-libcap-Add-build-ldflags-to-_makenames-rule.patch b/package/libs/libcap/patches/003-Revert-libcap-Add-build-ldflags-to-_makenames-rule.patch new file mode 100644 index 0000000000..7c5f03bdb9 --- /dev/null +++ b/package/libs/libcap/patches/003-Revert-libcap-Add-build-ldflags-to-_makenames-rule.patch @@ -0,0 +1,27 @@ +From 542d7d86ecd2129dd5fe7e5b31ba307304f5b319 Mon Sep 17 00:00:00 2001 +From: "Andrew G. Morgan" +Date: Mon, 10 Nov 2025 18:26:34 -0800 +Subject: [PATCH] Revert "libcap: Add build ldflags to _makenames rule" + +This reverts commit c3ddf45d9afaab85d3b7db0dc7bfd1aafb8fde50. + +The details of what this broke are here: + + https://bugzilla.kernel.org/show_bug.cgi?id=220691#c2 + +Signed-off-by: Andrew G. Morgan +--- + libcap/Makefile | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +--- a/libcap/Makefile ++++ b/libcap/Makefile +@@ -80,7 +80,7 @@ $(PSXTITLE).pc: $(PSXTITLE).pc.in + $< >$@ + + _makenames: _makenames.c cap_names.list.h +- $(BUILD_CC) $(BUILD_CFLAGS) $(BUILD_CPPFLAGS) $< -o $@ $(BUILD_LDFLAGS) ++ $(BUILD_CC) $(BUILD_CFLAGS) $(BUILD_CPPFLAGS) $< -o $@ + + cap_names.h: _makenames + ./_makenames > cap_names.h