openwrt/staging/blocktrron.git
12 months agonetifd: update to Git HEAD (2023-11-09)
Christian Marangi [Thu, 9 Nov 2023 14:10:03 +0000 (15:10 +0100)]
netifd: update to Git HEAD (2023-11-09)

841b05fbb91e system-linux: fix compilation error if IFLA_DSA_MASTER is not supported
5c9ecc1ff74f system-linux: make system_if_get_master_ifindex static
2dc7f450f3a2 system-linux: add option to configure DSA conduit device
838f815db5ef system-linux: add support for configurable GRO option

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
(cherry picked from commit 1714087442bb61591fe60a375f39b39abd657e25)

12 months agoipq-wifi: update to Git HEAD (2023-11-10)
Christian Marangi [Fri, 10 Nov 2023 12:46:57 +0000 (13:46 +0100)]
ipq-wifi: update to Git HEAD (2023-11-10)

c9db9d0b3027 ipq8074: add Asus RT-AX89X BDF
33154283e54a ipq8074: update RegDB in new submitted BDF
2b034415ac3d ipq40xx: add YYeTs LE1 BDF
a9c253ebe926 ipq8074: add Netgear WAX620 Board file for Netgear WAX620, extracted from stock (bdwlan.b290) firmware and repacked.
ec0960967999 qca-wireless: ipq40xx: add BDFs for ZTE MF287
57aa1b1562ac ipq8174: Add Linksys MX4200
52a1c2940605 ipq8074: add Netgear WAX630 Board file for Netgear WAX630. Extracted from stock (WAX630_BDF.bin) firmware and repacked.
e7701b85d46d ipq8074: update RegDB in new submitted BDF
cd04ab7f984f qcn9074: update RegDB in new submitted BDF
f70fdf9438ae ipq8074: add Arcadyan AW1000 BDF
21c4d976b1e6 ipq8074: add CMCC RM2-6 BDF
f92fa0a2bdcf ipq8074: add ZTE MF269 BDF
371d4dce9b9a ipq8074: add Yuncore AX880 BDF
0c2e810e71ed qcn9074: fix prpl Foundation Haze BDF for old mac80211 version

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
12 months agoucode: update to Git HEAD (2023-11-07)
Jo-Philipp Wich [Thu, 9 Nov 2023 11:40:22 +0000 (12:40 +0100)]
ucode: update to Git HEAD (2023-11-07)

0352a33 uloop: support new interval and signal APIs
1468cc4 syntax: don't treat `as` and `from` as reserved keywords

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
(cherry picked from commit 551963662b3c2d4a740a447855da410c0f217152)

12 months agohostapd: refresh patches
Christian Marangi [Thu, 9 Nov 2023 15:07:55 +0000 (16:07 +0100)]
hostapd: refresh patches

Refresh patches for hostapd using make package/hostapd/refresh.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
(cherry picked from commit 05e516b12d4463e40df6d97a03bc6aa621c245f5)

12 months agohostapd: permit 40MHz in 802.1s only also for 2.4GHz g/n with noscan
Christian Marangi [Wed, 8 Nov 2023 15:48:57 +0000 (16:48 +0100)]
hostapd: permit 40MHz in 802.1s only also for 2.4GHz g/n with noscan

Currently for 802.1s only, for wifi 2.4GHz in g/n mode, 40MHz is never
permitted.

This is probably due to the complexity of setting periodic check for the
intolerant bit. When noscan option is set, we ignore the presence of the
intoleran bit in near AP, so we can enable 40MHz and ignore any complex
logic for checking.

Fixes: #13112
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
(cherry picked from commit 6c9ac57d58ab0d2c71fb51120a2166b7e0bd7183)

12 months agohostapd: permit also channel 7 for 2.5GHz to be set to HT40PLUS
Christian Marangi [Wed, 8 Nov 2023 15:48:05 +0000 (16:48 +0100)]
hostapd: permit also channel 7 for 2.5GHz to be set to HT40PLUS

Also channel 7 for 2.4GHz can be set to HT40PLUS. Permit this and add it
to the list of the channels.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
(cherry picked from commit b1c7b1bd67ca40289dfb7acd03e12ce43618d548)

12 months agohostapd: fix broke noscan option for mesh
Christian Marangi [Wed, 8 Nov 2023 15:46:12 +0000 (16:46 +0100)]
hostapd: fix broke noscan option for mesh

noscan option for mesh was broken and actually never applied.

This is caused by a typo where ssid->noscan value is check instead of
conf->noscan resulting in the logic swapped and broken.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
(cherry picked from commit 1b5ea2e199fcf391f88afd0322de449459399be4)

12 months agomac80211: fix not set noscan option for wpa_supplicant
Christian Marangi [Wed, 8 Nov 2023 15:44:38 +0000 (16:44 +0100)]
mac80211: fix not set noscan option for wpa_supplicant

noscan option was changed to hostapd_noscan but the entry in
wpa_supplicant was never updated resulting in the noscan option actually
never set.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
(cherry picked from commit 1070fbce6e496da2dacf17c6e842a4369c4be71b)

12 months agopx5g-wolfssl: Fix permission of private key
Hauke Mehrtens [Mon, 6 Nov 2023 23:33:38 +0000 (00:33 +0100)]
px5g-wolfssl: Fix permission of private key

Store the private key with read and write permission for the user only
and not with read permissions for everyone. This converts the
write_file() function from fopen() to open() because open allows to
specify the permission mask of the newly created file. It also adds and
fixes some existing error handling.

OpenSSL does this in the same way already.

With this change it looks like this:
root@OpenWrt:/# ls -al /etc/uhttpd.*
-rw-r--r--    1 root     root           749 Nov  6 23:14 /etc/uhttpd.crt
-rw-------    1 root     root           121 Nov  6 23:14 /etc/uhttpd.key

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit 6aad5ab0992fefd88ce612bc0484e0115a004572)

12 months agopx5g-mbedtls: Fix permission of private key
Hauke Mehrtens [Sun, 5 Nov 2023 22:05:24 +0000 (23:05 +0100)]
px5g-mbedtls: Fix permission of private key

Store the private key with read and write permission for the user only
and not with read permissions for everyone. This converts the
write_file() function from fopen() to open() because open allows to
specify the permission mask of the newly created file. It also adds and
fixes some existing error handling.

OpenSSL does this in the same way already.

With this change it looks like this:
root@OpenWrt:/# ls -al /etc/uhttpd.crt /etc/uhttpd.key
-rw-r--r--    1 root     root           519 Nov  6 22:58 /etc/uhttpd.crt
-rw-------    1 root     root           121 Nov  6 22:58 /etc/uhttpd.key

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit 929c9a58c9a17a3ca8d2a3be0c5dc4ac98e848e2)

12 months agohostapd: use rtnl to set up interfaces
Felix Fietkau [Wed, 8 Nov 2023 10:20:41 +0000 (11:20 +0100)]
hostapd: use rtnl to set up interfaces

In wpa_supplicant, set up wlan interfaces before adding them

Signed-off-by: Felix Fietkau <nbd@nbd.name>
(cherry picked from commit c2a30b6e01aa756cd7d50c578ab4344c725ecc59)

12 months agowifi: fix applying mesh parameters when wpa_supplicant is in use
Felix Fietkau [Wed, 8 Nov 2023 09:45:55 +0000 (10:45 +0100)]
wifi: fix applying mesh parameters when wpa_supplicant is in use

Apply them directly using nl80211 after setting up the interface.
Use the same method in wdev.uc as well

Signed-off-by: Felix Fietkau <nbd@nbd.name>
(cherry picked from commit 531314260d2e50e984e1671f88662b469dffb16e)

12 months agonetifd: update to the latest version
Felix Fietkau [Tue, 7 Nov 2023 12:36:39 +0000 (13:36 +0100)]
netifd: update to the latest version

383753dd65ae device/bridge: support passing extra vlans in the device_set_state call
b6e75eafc1af device: send notifications for device events via ubus
cab415c7aefd bridge: add auth-required bridge members with auth_status=0 if vlan is enabled
827a02f0343c bridge: add support for configuring vlans for auth=1,auth_status=false
40ed7363caf2 device: fix build error on 32 bit systems
516ab774cc16 system-linux: fix race condition on bringing up wireless devices

Signed-off-by: Felix Fietkau <nbd@nbd.name>
(cherry picked from commit 41d7439af5a40a71a0deb2075fa133b61b0e478a)

12 months agomediatek: add CMCC RAX3000M support
Tianling Shen [Sat, 23 Sep 2023 07:04:09 +0000 (15:04 +0800)]
mediatek: add CMCC RAX3000M support

Hardware specification:
  SoC: MediaTek MT7981B 2x A53
  Flash: 64GB eMMC or 128 MB SPI-NAND
  RAM: 512MB
  Ethernet: 4x 10/100/1000 Mbps
  Switch: MediaTek MT7531AE
  WiFi: MediaTek MT7976C
  Button: Reset, Mesh
  Power: DC 12V 1A
- UART: 3.3v, 115200n8
  --------------------------
  |         Layout         |
  |   -----------------    |
  | 4 | GND TX VCC RX | <= |
  |   -----------------    |
  --------------------------

Gain SSH access:
1. Login into web interface, and download the configuration.
2. Enter fakeroot, decompress the configuration:
   tar -zxf cfg_export_config_file.conf
3. Edit 'etc/config/dropbear', set 'enable' to '1'.
4. Edit 'etc/shadow', update (remove) root password:
   'root::19523:0:99999:7:::'
5. Repack 'etc' directory:
   tar -zcf cfg_export_config_file.conf etc/
   * If you find an error about 'etc/wireless/mediatek/DBDC_card0.dat',
     just ignore it.
6. Upload new configuration via web interface, now you can SSH to RAX3000M.

Check stroage type:
Check the label on the back of the device:
"CH EC CMIIT ID: xxxx" is eMMC version
"CH    CMIIT ID: xxxx" is NAND version

eMMC Flash instructions:
1. SSH to RAX3000M, and backup everything, especially 'factory' part.
   ('data' partition can be ignored, it's useless.)
2. Write new GPT table:
   dd if=openwrt-mediatek-filogic-cmcc_rax3000m-emmc-gpt.bin of=/dev/mmcblk0 bs=512 seek=0 count=34 conv=fsync
3. Erase and write new BL2:
   echo 0 > /sys/block/mmcblk0boot0/force_ro
   dd if=/dev/zero of=/dev/mmcblk0boot0 bs=512 count=8192 conv=fsync
   dd if=openwrt-mediatek-filogic-cmcc_rax3000m-emmc-preloader.bin of=/dev/mmcblk0boot0 bs=512 conv=fsync
4. Erase and write new FIP:
   dd if=/dev/zero of=/dev/mmcblk0 bs=512 seek=13312 count=8192 conv=fsync
   dd if=openwrt-mediatek-filogic-cmcc_rax3000m-emmc-bl31-uboot.fip of=/dev/mmcblk0 bs=512 seek=13312 conv=fsync
5. Set static IP on your PC:
   IP 192.168.1.254, GW 192.168.1.1
6. Serve OpenWrt initramfs image using TFTP server.
7. Cut off the power and re-engage, wait for TFTP recovery to complete.
8. After OpenWrt has booted, perform sysupgrade.
9. Additionally, if you want to have eMMC recovery boot feature:
     (Don't worry! You will always have TFTP recovery boot feature.)
   dd if=openwrt-mediatek-filogic-cmcc_rax3000m-initramfs-recovery.itb of=/dev/mmcblk0p4 bs=512 conv=fsync

NAND Flash instructions:
1. SSH to RAX3000M, and backup everything, especially 'Factory' part.
2. Erase and write new BL2:
   mtd erase BL2
   mtd write openwrt-mediatek-filogic-cmcc_rax3000m-nand-preloader.bin BL2
3. Erase and write new FIP:
   mtd erase FIP
   mtd write openwrt-mediatek-filogic-cmcc_rax3000m-nand-bl31-uboot.fip FIP
4. Set static IP on your PC:
   IP 192.168.1.254, GW 192.168.1.1
5. Serve OpenWrt initramfs image using TFTP server.
6. Cut off the power and re-engage, wait for TFTP recovery to complete.
7. After OpenWrt has booted, erase UBI volumes:
   ubidetach -p /dev/mtd0
   ubiformat -y /dev/mtd0
   ubiattach -p /dev/mtd0
8. Create new ubootenv volumes:
   ubimkvol /dev/ubi0 -n 0 -N ubootenv -s 128KiB
   ubimkvol /dev/ubi0 -n 1 -N ubootenv2 -s 128KiB
9. Additionally, if you want to have NAND recovery boot feature:
     (Don't worry! You will always have TFTP recovery boot feature.)
   ubimkvol /dev/ubi0 -n 2 -N recovery -s 20MiB
   ubiupdatevol /dev/ubi0_2 openwrt-mediatek-filogic-cmcc_rax3000m-initramfs-recovery.itb
10. Perform sysupgrade.

Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
(cherry picked from commit 423186d7d8b4f23aee91fca4f1774a195eba00d8)
[rebased to 23.05]
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
12 months agouboot-mediatek: add support for CMCC RAX3000M
Tianling Shen [Sat, 23 Sep 2023 07:02:32 +0000 (15:02 +0800)]
uboot-mediatek: add support for CMCC RAX3000M

The OEM U-Boot uses dual boot and signature verification which does not
support by OpenWrt. So add a custom U-Boot build for OpenWrt.

Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
(cherry picked from commit fddd735dd54ded7d26df156eaa8d1cc53e668efb)

12 months agoarm-trusted-firmware-mediatek: add emmc/spim-nand ddr4 build for mt7981
Tianling Shen [Sat, 23 Sep 2023 07:00:41 +0000 (15:00 +0800)]
arm-trusted-firmware-mediatek: add emmc/spim-nand ddr4 build for mt7981

They will be used on CMCC RAX3000M.

Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
(cherry picked from commit 7d8ffe941dd06a5625f6608516a86938260b01fc)

12 months agotreewide: fix MERCUSYS brand spelling
Mikhail Zhilkin [Sun, 29 Oct 2023 14:51:32 +0000 (14:51 +0000)]
treewide: fix MERCUSYS brand spelling

This commit fixes MERCUSYS brand spelling. The proper name is capitalized.

Link: https://www.mercusys.com/
Link: https://github.com/torvalds/linux/blob/master/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_core.c#L7779
Signed-off-by: Mikhail Zhilkin <csharper2005@gmail.com>
(cherry picked from commit 45a50a06fb3f39ea70936dd967a74e6e96f0cd89)

12 months agombedtls: Activate secp521r1 curve by default
Hauke Mehrtens [Sun, 5 Nov 2023 22:05:24 +0000 (23:05 +0100)]
mbedtls: Activate secp521r1 curve by default

Activate the secp521r1 ecliptic curve by default. This curve is allowed
by the CA/Browser forum, see
https://cabforum.org/wp-content/uploads/CA-Browser-Forum-BR-v2.0.1-redlined.pdf#page=110

This increases the size of libmbedtls12_2.28.5-1_aarch64_generic.ipk by
about 400 bytes:
Without:
252,696 libmbedtls12_2.28.5-1_aarch64_generic.ipk
With:
253,088 libmbedtls12_2.28.5-2_aarch64_generic.ipk

Fixes: #13774
Acked-by: Koen Vandeputte <koen.vandeputte@citymesh.com>
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit 3c17cdbc369d89ff6a7911c3acff2e493778f6c1)

12 months agoimage: fix image generation within ImageBuilder
Petr Štetiar [Mon, 6 Nov 2023 08:52:24 +0000 (08:52 +0000)]
image: fix image generation within ImageBuilder

Changes introduced in commit d604a07225c5 ("build: add CycloneDX SBOM
JSON support") broke ImageBuilder:

  Cannot open '/openwrt-imagebuilder-ath79-generic.Linux-x86_64/tmp/.packageinfo': No such file or directory

So lets fix it by wrapping the BOM generation behind condition of IB
feature check.

Fixes: #13881
Fixes: d604a07225c5 ("build: add CycloneDX SBOM JSON support")
Signed-off-by: Petr Štetiar <ynezz@true.cz>
(cherry picked from commit c4259a658673cc1a02ed17bfa8e94de17de00ad2)

12 months agolibnl: add support for cli
Koen Vandeputte [Wed, 5 Jul 2023 11:56:16 +0000 (13:56 +0200)]
libnl: add support for cli

Some packages (like wavemon >= 0.9.4) depend on libnl-cli. Add support
for this part of the lib. libnl-cli itself depends on libnl-genl and
libnl-nf. On MIPS, this component adds 81kB.

Signed-off-by: Koen Vandeputte <koen.vandeputte@citymesh.com>
(punctuation correction and reorganisation of commit message)
Signed-off-by: Nick Hainke <vincent@systemli.org>
(cherry picked from commit 4bdd1c1a135b5c816a01055f3cc9fc158bbc840a)

12 months agomediatek: add label-mac for GL.iNet GL-MT3000
David Bauer [Fri, 3 Nov 2023 21:05:04 +0000 (22:05 +0100)]
mediatek: add label-mac for GL.iNet GL-MT3000

The MAC-address of gmac0 matches the one printed on the bottom label.

Signed-off-by: David Bauer <mail@david-bauer.net>
(cherry picked from commit ae500e62e2938e112ae1fc6aa7389e8c7b784b13)

12 months agoodhcpd: Bump to latest commits
Kevin Darbyshire-Bryant [Tue, 24 Oct 2023 16:21:27 +0000 (17:21 +0100)]
odhcpd: Bump to latest commits

d8118f6 config: make sure timer is not on the timeouts list before freeing
4bbc6e7 add hostsfile output in addition to statefile

Signed-off-by: Kevin Darbyshire-Bryant <ldir@darbyshire-bryant.me.uk>
(cherry picked from commit 0221b860321ca2dd2bdc6339c01aa9adb3ddb34e)

12 months agouboot-mediatek: fix global pll clock override on mtk_spim
Nicolò Veronese [Mon, 2 Oct 2023 20:17:09 +0000 (22:17 +0200)]
uboot-mediatek: fix global pll clock override on mtk_spim

With patch 101-03-spi-mtk_spim-get-spi-clk-rate-only-once.patch
 a new system to calculate the SPI clocks has been added.

Unfortunately, the do_div macro overrides the global
 priv->pll_clk_rate field. This will cause to have a reduced
 clock rate on each subsequent SPI call.

Signed-off-by: Valerio 'ftp21' Mancini <ftp21@ftp21.eu>
Signed-off-by: Nicolò Veronese <nicveronese@gmail.com>
(cherry picked from commit 8849ccb9957e69d85c93ad4b58400573a181ad18)

12 months agobuild: fix pkg-config detection when inside of a nix-shell
Sandro Jäckel [Wed, 1 Nov 2023 15:49:20 +0000 (16:49 +0100)]
build: fix pkg-config detection when inside of a nix-shell

The output of command_all when inside a nix-shell looks like the below
where /usr does not match:

 ➜ scripts/command_all.sh pkg-config
/nix/store/ifr6srqgpvygd5vp14748d109ri31isv-pkg-config-wrapper-0.29.2/bin/pkg-config

Signed-off-by: Sandro Jäckel <sandro.jaeckel@gmail.com>
(cherry picked from commit 86ca7199dfb132042ce3110acef23d74f4ef14a7)

12 months agoci: add workflow for automated GitHub release
Petr Štetiar [Thu, 19 Oct 2023 04:09:25 +0000 (04:09 +0000)]
ci: add workflow for automated GitHub release

Implement a GitHub Actions workflow for automated project releases.

The workflow triggers on Git tags, ensuring that a GitHub release is
created whenever a new tag is pushed.

That new release is going to be created in draft and pre-release mode
and needs to be manually promoted to the proper release, once its
decided, that its good enough and prepared.

This is a start of a streamlined and consistent release process for
GitHub, reducing manual intervention.

Acked-by: Christian Marangi <ansuelsmth@gmail.com>
Signed-off-by: Petr Štetiar <ynezz@true.cz>
(cherry picked from commit 280d9dd75874ef4c4e2407366eda987cda8efd25)

12 months agohostapd: fix broken WPS on broadcom-wl and ath11k
Petr Štetiar [Fri, 27 Oct 2023 07:37:52 +0000 (07:37 +0000)]
hostapd: fix broken WPS on broadcom-wl and ath11k

Upgrading wpa_supplicant from 2.9 to 2.10 breaks broadcom-wl/ath11k
based adapters. The reason for it is hostapd tries to install additional
IEs for scanning while the driver does not support this.

The kernel indicates the maximum number of bytes for additional scan IEs
using the NL80211_ATTR_MAX_SCAN_IE_LEN attribute. Save this value and
only add additional scan IEs in case the driver can accommodate these
additional IEs.

Bug: http://lists.infradead.org/pipermail/hostap/2022-January/040178.html
Bug-Debian: https://bugs.debian.org/1004524
Bug-ArchLinux: https://bugs.archlinux.org/task/73495
Upstream-Status: Changes Requested [https://patchwork.ozlabs.org/project/hostap/patch/20220130192200.10883-1-mail@david-bauer.net]
Reported-by: Étienne Morice <neon.emorice@mail.com>
Tested-by: Étienne Morice <neon.emorice@mail.com>
Signed-off-by: David Bauer <mail@david-bauer.net>
Signed-off-by: Petr Štetiar <ynezz@true.cz>
(cherry picked from commit 6dca88aa4acd60229147628cb920d05a1136666d)

12 months agobuild: add CycloneDX SBOM JSON support
Petr Štetiar [Tue, 24 Oct 2023 08:27:13 +0000 (08:27 +0000)]
build: add CycloneDX SBOM JSON support

CycloneDX is an open source standard developed by the OWASP foundation.
It supports a wide range of development ecosystems, a comprehensive set
of use cases, and focuses on automation, ease of adoption, and
progressive enhancement of SBOMs (Software Bill Of Materials) throughout
build pipelines.

So lets add support for CycloneDX SBOM for packages and images
manifests.

Signed-off-by: Petr Štetiar <ynezz@true.cz>
(cherry picked from commit d604a07225c5c82b942cd3374cc113ad676a2519)

12 months agopackage-dumpinfo,metadata: add ABI version information to package index
Petr Štetiar [Thu, 26 Oct 2023 16:11:47 +0000 (16:11 +0000)]
package-dumpinfo,metadata: add ABI version information to package index

There is no standard for ABI versioning, so its not possible to find out
from `libext2fs2`, `libiwinfo20230701` or `libss2` package names if
thats just package name or package name with ABI version included. To
help with the decision, lets make ABI version aviable in package index.

Signed-off-by: Petr Štetiar <ynezz@true.cz>
(cherry picked from commit 649655f427932fe79b96a41f883c8054b1806191)

12 months agopackage-metadata: add CPE information to JSON package manifests
Petr Štetiar [Wed, 19 Oct 2022 13:46:45 +0000 (15:46 +0200)]
package-metadata: add CPE information to JSON package manifests

Common Platform Enumeration (CPE) is a structured naming scheme for
information technology systems, software, and packages.

In order for the information to be processed further, it should also be
available in JSON package manifests.

Signed-off-by: Petr Štetiar <ynezz@true.cz>
(cherry picked from commit 8562c65ff8aae3899cdb190319709500b7651492)

12 months agopackage-dumpinfo: add CPE information to package index
Petr Štetiar [Wed, 19 Oct 2022 13:43:37 +0000 (15:43 +0200)]
package-dumpinfo: add CPE information to package index

Common Platform Enumeration (CPE) is a structured naming scheme for
information technology systems, software, and packages.

In order for the information to be processed further, it should also be
available in package index files.

Signed-off-by: Petr Štetiar <ynezz@true.cz>
(cherry picked from commit 33b3fea70245068030ef64b6d7c5b344d08ba9d8)

12 months agofirewall4: update to the latest version
Felix Fietkau [Fri, 1 Sep 2023 12:00:47 +0000 (14:00 +0200)]
firewall4: update to the latest version

23a434d0d15d tests: fix expected test output
840ccdeeabce fw4: avoid emitting invalid rule jump targets
20da9933fd7e fw4: fix another instance of invalid rule jump targets
598d9fbb5179 fw4: remove special cases around hw flow offloading

Signed-off-by: Felix Fietkau <nbd@nbd.name>
(cherry picked from commit 7049ea9e95b0aec461f585523b773e68db3ae304)

12 months agoucode: update to latest Git HEAD
Jo-Philipp Wich [Thu, 2 Nov 2023 09:36:05 +0000 (10:36 +0100)]
ucode: update to latest Git HEAD

cfb24ea build: avoid redefining _FORTIFY_SOURCE
448c763 lib: enforce consistent `index()` behavior with empty needle argument
cdc0203 nl80211: fix maybe uninitialized variable
a69b5c8 vm: fix unused result warning
ea046bd build: enable source fortification by default

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
(cherry picked from commit 262554f12cbcc4e3bea2440ce1e696ce8791e732)

12 months agoucode: fix build on macos
Felix Fietkau [Sat, 28 Oct 2023 12:58:46 +0000 (14:58 +0200)]
ucode: fix build on macos

Remove ABI version, since its format is not accepted by the linker.
Enable rpath to avoid clash with system libraries

Signed-off-by: Felix Fietkau <nbd@nbd.name>
(cherry picked from commit 5eb8a21ba5fe5e87c03f0361d1db989189be9c6d)

12 months agoucode: update to latest Git HEAD
Jo-Philipp Wich [Thu, 26 Oct 2023 22:15:58 +0000 (00:15 +0200)]
ucode: update to latest Git HEAD

 - Introduces signal handling facilities
 - Fixes potentially incorrect object equality tests
 - Introduces debug library
 - Introduces log library
 - ABI version bump due to changed VM structure layout
 - Revised packaging

Changelog:

07c0317 jsdoc: switch to own custom theme
6ca08b0 jsdoc: properly handle indented documentation blocks
2a67f22 lib: add/improve documentation for require(), loadfile(), loadstring()
9993ccb uci: fix potential memory leaks in `configs()`
f56394f ci: re-trigger workflows on pull request pushes
1c18993 lib: various documentation fixes
d25dcb1 uci: add module documentation
4a8ece2 docs: use CSS and local JavaScript fixups to improve formatting
8f21cfa lib: introduce log library
8a3aefe build: auto-enable module depending on present libraries
6a01adc build: convert CMakeLists.txt into lowercase
8700665 ci: don't skip pull request workflows for `master` branch
0184d23 include: fix execvpe compat function on macOS
8b23884 uloop: rename environ variable to avoid clashing with system macro on macOS
7c209d7 types: ensure double serializatiion with decimal places
d150425 rtnl: update the link attr TODOs
d394174 rtnl: add IFLA_TARGET_NETNSID for operating in other namespaces
1227733 lib: fix documented return value for `splice()`
c9982de docs: add struct module documentation
7dde493 docs: add missing headline to debug module documentation
8f852ea types: improve comparison reliability of binary strings
6940c28 lib: introduce debug library
be07107 treewide: consolidate platform specific code in platform.c
2593270 uloop: interrupt on VM signals
97a5292 lib: add `signal()` stdlib function
1dbbb6a main: enable signal dispatching in the standalone cli interpreter
1623245 types: treat signal handler array as GC root
29b1c0d vm: introduce basic signal handling infrastructure
093684d fs: explicitly compare isatty() result
4f4f38f types: don't rely on implicit type conversion in ucv_compare()
4bee0ef docs: disable GitHub Jekyll post processing
5efb7a0 docs: further rework
33bc7bf docs: fix markup quirks
9d5e420 docs: add information about memory management and operator precedence
f1190ef docs: various improvements
f0cc841 fs: use `fseeko()` and `ftello()`
cba0c3c fs: complete function documentation coverage
f9260f7 github: drop superfluous CNAME file
c85bc74 Create CNAME
5309294 lib: add JSDoc documentation
b0f2f90 fs: add JSDoc documentation
fe086da math: add JSDoc documentation
70f9348 docs: add initial JSDoc infrastructure
24f1a56 source: fix source offset accounting
9df9160 lexer: don't count EOF token as newline
b9d8f06 ci: switch to official openwrt/gh-action-sdk

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
(cherry picked from commit eacc885816fb46bf4054b0c3dd2cd1513322ad09)

12 months agobcm53xx: add the latest fix version of brcm_nvram
Rafał Miłecki [Thu, 2 Nov 2023 08:08:54 +0000 (09:08 +0100)]
bcm53xx: add the latest fix version of brcm_nvram

It was just sent for upstream.

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
(cherry picked from commit 943bd3c9f6244c928cd168302d638a6a218fd4e6)

12 months agokernel: fix mtd/NVMEM regression affecting U-Boot env NVMEM driver
Rafał Miłecki [Tue, 31 Oct 2023 16:09:45 +0000 (17:09 +0100)]
kernel: fix mtd/NVMEM regression affecting U-Boot env NVMEM driver

Fixes: 20736013e910 ("kernel: backport nvmem v6.6 fixes and v6.7 changes")
Fixes: https://github.com/openwrt/openwrt/issues/13831
Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
(cherry picked from commit c997634c017294cb38cf6f9a0112860c7e736a53)

12 months agokernel: backport nvmem v6.6 fixes and v6.7 changes
Rafał Miłecki [Sat, 28 Oct 2023 12:07:40 +0000 (14:07 +0200)]
kernel: backport nvmem v6.6 fixes and v6.7 changes

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
(cherry picked from commit b5956700702b5649ec70bfa0d115af5b439ce6d1)

12 months agokernel: backport v6.6 nvmem changes
Rafał Miłecki [Wed, 30 Aug 2023 22:28:58 +0000 (00:28 +0200)]
kernel: backport v6.6 nvmem changes

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
(cherry picked from commit 52c365f055f62eb820cc42b0a1cfd037c68b01d0)

12 months agokernel: nvmem: fix "fixed-layout" & support "mac-base"
Rafał Miłecki [Thu, 13 Jul 2023 17:39:42 +0000 (19:39 +0200)]
kernel: nvmem: fix "fixed-layout" & support "mac-base"

DT binding for MAC cells in fixed layout was upstream approved and
accepted. Add support for it. This can replace quite some of our
downstream hacks.

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
(cherry picked from commit 61f674df4f0ce2b1c53b0b7f6b0c1d03d99838c0)

12 months agourngd: update to version 2023-11-01
Hauke Mehrtens [Wed, 1 Nov 2023 21:10:46 +0000 (22:10 +0100)]
urngd: update to version 2023-11-01

Fix compilation with glibc

44365eb Deactivate _FORTIFY_SOURCE in jitterentropy-base.c

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit d62726b1e44f785d543e4625b19ca1f628adda6c)

12 months agouboot-mediatek: fix determine the size of an uImage.FIT using 'imsz' or 'imszb'.
Jianhui Zhao [Fri, 20 Oct 2023 03:59:34 +0000 (11:59 +0800)]
uboot-mediatek: fix determine the size of an uImage.FIT using 'imsz' or 'imszb'.

It must read the entire image for previous code of 'imsz' or 'imszb'.

Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com>
Suggested-by: Chuanhong Guo <gch981213@gmail.com>
(cherry picked from commit 3bbc1d5fba1d700917138334a48c16bafdf48de9)

12 months agomediatek: add build for MT7981 RFB
Daniel Golle [Tue, 12 Sep 2023 23:57:49 +0000 (00:57 +0100)]
mediatek: add build for MT7981 RFB

Add build for the MTK3943 reference board for MT7981B+MT7976C.

**Hardware specification:**

 - SoC: MediaTek MT7981B 2x A53
 - Flash: various options
 - RAM: 256MB DDR3
 - Ethernet: 4 x 10/100/1000 Mbps via MT7531AE switch
        EITHER 1 x 10/100/1000 Mbps built-in PHY
            OR 1 x 10/100/1000/2500 Mbps MaxLinear GPY211C
 - Switch: MediaTek MT7531AE
 - WiFi: MediaTek MT7976C
 - Button: RST, WPS

**Flash instructions for SPIM-NAND:**
 - write *mt7981-rfb-spim-nand-preloader.bin to 'BL2' partition
 - write *mt7981-rfb-spim-nand-bl31-uboot.fip to 'FIP' partition
 - erase 'ubi' partition
 - reset board
 - create ubootenv and ubootenv2 UBI volumes in U-Boot
 - edit environment and set bootcmd, e.g.
   setenv bootconf 'config-1#mt7981-rfb-spim-nand#mt7981-rfb-mxl-2p5g-phy-eth1'
   setenv bootcmd 'ubi read $loadaddr fit; bootm $loadaddr#$bootconf'
 - load initramfs image via TFTP:
   setenv serverip 192.168.1.254
   setenv ipaddr 192.168.1.1
   setenv bootfile openwrt-mediatek-filogic-mediatek_mt7981-rfb-initramfs.itb
   saveenv ; saveenv
   tftpboot
   bootm $loadaddr#$bootconf
 - Now use sysupgrade to write OpenWrt firmware to flash.

SNFI-NAND, SPIM-NOR and eMMC all work very similar, a bootable SD card image
is also being generated. However, as the board I've been provided only comes
with SPIM-NAND all other boot media are untested.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
(cherry picked from commit ce7209bd21661e3daa4a7f2f58dafdff990da19f)

12 months agouboot-mediatek: add build for mt7981 rfb
Daniel Golle [Tue, 12 Sep 2023 23:57:23 +0000 (00:57 +0100)]
uboot-mediatek: add build for mt7981 rfb

Improve and package builds for various boot media configurations of the
MediaTek MT7981 reference board.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
(cherry picked from commit 8428bed15d9b5a71a634c7f5639de31a09795bec)

12 months agoarm-trusted-firmware-mediatek: fix copy&paste error in Makefile
Daniel Golle [Mon, 18 Sep 2023 15:40:30 +0000 (16:40 +0100)]
arm-trusted-firmware-mediatek: fix copy&paste error in Makefile

When adding builds for MT7981 the related Makefile sections for MT7986
have apparently been copied, but in one instance the rename from 7986 to
7981 has been omitted. Fix that now.

Fixes: 602cb4f325 ("arm-trusted-firmware-mediatek: add build for MT7981 DDR3")
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
(cherry picked from commit be6e257fe6a248425fd390e9a2037a8432e644ea)

12 months agokernel: serial: 8250_mtk: track busclk state to avoid bus error
Daniel Golle [Mon, 11 Sep 2023 21:49:59 +0000 (22:49 +0100)]
kernel: serial: 8250_mtk: track busclk state to avoid bus error

UARTs not used as boot console are currently broken on some MediaTek
targets due to register access depending on the bus clock being enabled.
Add patch to make sure this dependency is always met.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
(cherry picked from commit 9f62abbb60b849c710cc7e40498d661827e8f852)

12 months agohostapd: fix OWE association with mbedtls
David Bauer [Tue, 24 Oct 2023 01:07:48 +0000 (03:07 +0200)]
hostapd: fix OWE association with mbedtls

The code for hostapd-mbedtls did not work when used for OWE association.

When handling association requests, the buffer offsets and length
assumptions were incorrect, leading to never calculating the y point,
thus denying association.

Also when crafting the association response, the buffer contained the
trailing key-type.

Fix up both issues to adhere to the specification and make
hostapd-mbedtls work with the OWE security type.

Signed-off-by: David Bauer <mail@david-bauer.net>
(cherry picked from commit 39341f422f895a37b405b753c3630b1bdc9b8c6e)

12 months agoramips: enable wireless LEDs activity blinking for TP-Link EC330-G5u v1
Mikhail Zhilkin [Sun, 29 Oct 2023 19:10:23 +0000 (19:10 +0000)]
ramips: enable wireless LEDs activity blinking for TP-Link EC330-G5u v1

This commit enables wireless LEDs activity blinking for TP-Link EC330-G5u
v1 router.

Signed-off-by: Mikhail Zhilkin <csharper2005@gmail.com>
(cherry picked from commit 7666940efea27c7d16bb0e329bb5dd7117fb5807)

12 months agohostapd: do not trim trailing whitespace, except for newline
Felix Fietkau [Mon, 30 Oct 2023 17:32:24 +0000 (18:32 +0100)]
hostapd: do not trim trailing whitespace, except for newline

Fixes adding SSID or key with trailing whitespace

Signed-off-by: Felix Fietkau <nbd@nbd.name>
(cherry picked from commit a2d8226c4f45555f49542d6f047b70d44f23f7ec)

12 months agoath79: increase the rfkill debounce interval for TP-Link Archer C7 v2
Shiji Yang [Fri, 14 Jul 2023 15:09:55 +0000 (23:09 +0800)]
ath79: increase the rfkill debounce interval for TP-Link Archer C7 v2

Due to circuit issue or silicon defect, sometimes the WiFi switch button
of the Archer C7 v2 can be accidentally triggered multiple times in one
second. This will cause WiFi to be unexpectedly shut down and trigger
'irq 23: nobody cared'[1] warning. Increasing the key debounce interval
to 1000 ms can fix this issue. This patch also add the missing rfkill
key label.

[1] Warning Log:
```
[87765.218511] irq 23: nobody cared (try booting with the "irqpoll" option)
[87765.225331] CPU: 0 PID: 317 Comm: irq/23-keys Not tainted 5.15.118 #0
...
[87765.486246] handlers:
[87765.488543] [<85257547>] 0x800c29a0 threaded [<5c6328a2>] 0x80ffe0b8 [gpio_button_hotplug@4cf73d00+0x1a00]
[87765.498364] Disabling IRQ #23
```

Fixes: https://github.com/openwrt/openwrt/issues/13010
Fixes: https://github.com/openwrt/openwrt/issues/12167
Fixes: https://github.com/openwrt/openwrt/issues/11191
Fixes: https://github.com/openwrt/openwrt/issues/7835
Tested-by: Hans Hasert
Signed-off-by: Shiji Yang <yangshiji66@qq.com>
(cherry picked from commit e32f70e7066c3110694851eced3301f50019693b)

12 months agoramips: fix Gigabit Ethernet port of the HiWiFi HC5861
Shiji Yang [Tue, 26 Sep 2023 12:12:45 +0000 (20:12 +0800)]
ramips: fix Gigabit Ethernet port of the HiWiFi HC5861

HiWiFi HC5861 has a GbE port which connected to the RTL8211E PHY
chip. This patch adds the missing Realtek PHY driver package and
sets the correct external PHYs base address to make it work again.

Signed-off-by: Shiji Yang <yangshiji66@qq.com>
(cherry picked from commit f025135f16e2b3e9398cfd87585d055a1ca31975)

12 months agoiptables: opt-out of lto usage
Anari Jalakas [Sat, 14 Oct 2023 12:18:34 +0000 (15:18 +0300)]
iptables: opt-out of lto usage

This fixes building with USE_LTO enabled.

<artificial>:(.text+0xc22): relocation R_MIPS16_26 against `libxt_DNAT_init' cannot be used when making a shared object; recompile with -fPIC
./openwrt/staging_dir/toolchain-mips_24kc_gcc-12.3.0_musl/lib/gcc/mips-openwrt-linux-musl/12.3.0/../../../../mips-openwrt-linux-musl/bin/ld.bfd: non-dynamic relocations refer to dynamic symbol printf
./openwrt/staging_dir/toolchain-mips_24kc_gcc-12.3.0_musl/lib/gcc/mips-openwrt-linux-musl/12.3.0/../../../../mips-openwrt-linux-musl/bin/ld.bfd: failed to set dynamic section sizes: bad value
collect2: error: ld returned 1 exit status

Signed-off-by: Anari Jalakas <anari.jalakas@gmail.com>
(cherry picked from commit 5dbdf3bb3af27993977aaaa72dca07d9251c1919)

12 months agolua: opt-out of lto usage
Anari Jalakas [Sat, 7 Oct 2023 12:16:47 +0000 (15:16 +0300)]
lua: opt-out of lto usage

This fixes building with USE_LTO enabled.

<artificial>:(.text+0xcc8): relocation R_MIPS16_26 against `luaL_argerror' cannot be used when making a shared object; recompile with -fPIC
./openwrt/staging_dir/toolchain-mips_24kc_gcc-12.3.0_musl/lib/gcc/mips-openwrt-linux-musl/12.3.0/../../../../mips-openwrt-linux-musl/bin/ld.bfd: non-dynamic relocations refer to dynamic symbol strcpy
./openwrt/staging_dir/toolchain-mips_24kc_gcc-12.3.0_musl/lib/gcc/mips-openwrt-linux-musl/12.3.0/../../../../mips-openwrt-linux-musl/bin/ld.bfd: failed to set dynamic section sizes: bad value
collect2: error: ld returned 1 exit status

Signed-off-by: Anari Jalakas <anari.jalakas@gmail.com>
(cherry picked from commit 246b97b607e316d6acae66a23fcdf6d12c02a786)

12 months agolibsepol: opt-out of lto usage
Anari Jalakas [Sat, 7 Oct 2023 13:13:21 +0000 (16:13 +0300)]
libsepol: opt-out of lto usage

This fixes building with USE_LTO enabled.

<artificial>:(.text+0x4194): relocation R_MIPS16_26 against `cil_printf.lto_priv.0' cannot be used when making a shared object; recompile with -fPIC
./openwrt/staging_dir/toolchain-mips_24kc_gcc-12.3.0_musl/lib/gcc/mips-openwrt-linux-musl/12.3.0/../../../../mips-openwrt-linux-musl/bin/ld.bfd: non-dynamic relocations refer to dynamic symbol memcmp
./openwrt/staging_dir/toolchain-mips_24kc_gcc-12.3.0_musl/lib/gcc/mips-openwrt-linux-musl/12.3.0/../../../../mips-openwrt-linux-musl/bin/ld.bfd: failed to set dynamic section sizes: bad value
collect2: error: ld returned 1 exit status

Signed-off-by: Anari Jalakas <anari.jalakas@gmail.com>
(cherry picked from commit 1925a183a3f25d2db1f10addc85ed894df14c210)

12 months agolibselinux: opt-out of lto usage
Anari Jalakas [Sat, 7 Oct 2023 13:43:09 +0000 (16:43 +0300)]
libselinux: opt-out of lto usage

This fixes building with USE_LTO enabled:

<artificial>:(.text.exit+0x6e): relocation R_MIPS16_26 against `pthread_key_delete' cannot be used when making a shared object; recompile with -fPIC
./openwrt/staging_dir/toolchain-mips_24kc_gcc-12.3.0_musl/lib/gcc/mips-openwrt-linux-musl/12.3.0/../../../../mips-openwrt-linux-musl/bin/ld.bfd: non-dynamic relocations refer to dynamic symbol stpcpy
./openwrt/staging_dir/toolchain-mips_24kc_gcc-12.3.0_musl/lib/gcc/mips-openwrt-linux-musl/12.3.0/../../../../mips-openwrt-linux-musl/bin/ld.bfd: failed to set dynamic section sizes: bad value
collect2: error: ld returned 1 exit status

Signed-off-by: Anari Jalakas <anari.jalakas@gmail.com>
(cherry picked from commit 2a33d26d2110a9332e343a1deb32c9eee486c0db)

12 months agoiwinfo: opt-out of lto usage
Anari Jalakas [Sat, 7 Oct 2023 12:10:50 +0000 (15:10 +0300)]
iwinfo: opt-out of lto usage

This fixes building with USE_LTO enabled.

<artificial>:(.text+0x400c): relocation R_MIPS16_26 against `iwinfo_close' cannot be used when making a shared object; recompile with -fPIC
./openwrt/staging_dir/toolchain-mips_24kc_gcc-12.3.0_musl/lib/gcc/mips-openwrt-linux-musl/12.3.0/../../../../mips-openwrt-linux-musl/bin/ld.bfd: non-dynamic relocations refer to dynamic symbol strcpy
./openwrt/staging_dir/toolchain-mips_24kc_gcc-12.3.0_musl/lib/gcc/mips-openwrt-linux-musl/12.3.0/../../../../mips-openwrt-linux-musl/bin/ld.bfd: failed to set dynamic section sizes: bad value
collect2: error: ld returned 1 exit status

Signed-off-by: Anari Jalakas <anari.jalakas@gmail.com>
(cherry picked from commit fbacc5ae52ec8fbe89b3a47850b4d6f62d4c4bf5)

12 months agobuild: hide kmod-zram config unless enabled
Rani Hod [Sun, 8 Oct 2023 15:18:13 +0000 (18:18 +0300)]
build: hide kmod-zram config unless enabled

Currently the zram default compressor choice is displayed whether or not
zram is activated. Since the default choice is lzo-rle, this adds a
false dependency on kmod-lib-lzo.
With this patch, the choice options appear only when activating zram.

Signed-off-by: Rani Hod <rani.hod@gmail.com>
(cherry picked from commit 62ada26de28e6c43a957b8f186ead1f45e6a5623)

12 months agoqualcommax: only build initramfs if CONFIG_TARGET_ROOTFS_INITRAMFS is set
Florian Maurer [Thu, 26 Oct 2023 06:40:59 +0000 (08:40 +0200)]
qualcommax: only build initramfs if CONFIG_TARGET_ROOTFS_INITRAMFS is set

This makes it possible to build the ipq807x netgear-wax218 without initramfs - which is required for downstream projects (gluon)

Signed-off-by: Florian Maurer <f.maurer@outlook.de>
(cherry picked from commit b3d2008f92f15ff776ad6c4f6d113b0cda1bd2d0)

12 months agouboot-mediatek: Sync phy-mode for Xiaomi Redmi Router AX6000
Furong Xu [Fri, 27 Oct 2023 15:22:49 +0000 (23:22 +0800)]
uboot-mediatek: Sync phy-mode for Xiaomi Redmi Router AX6000

Commit 572ea6807053 ("uboot-mediatek: add patches for MT7988 and
builds for RFB") renamed HSGMII to 2500basex, but forgot to update
the dts of Redmi Router AX6000, makes the network unusable.
This patch makes the network usable again.

Fixes: #13724
Fixes: 572ea6807053 ("uboot-mediatek: add patches for MT7988 and builds for RFB")
Signed-off-by: Furong Xu <xfr@outlook.com>
(cherry picked from commit 03987d2d11c4954e3e8afa3d44ba6213e774c742)

12 months agosunxi: fixes led for nanopi boards
Chukun Pan [Sun, 15 Oct 2023 15:18:27 +0000 (23:18 +0800)]
sunxi: fixes led for nanopi boards

Kernel 5.15 already supports the NanoPi R1 and NanoPi R1S H5,
and they use new LED bindings that do not match the existing
settings in 01_leds. Update led settings to fixes that.

List the led node on NanoPi R1S H5:
root@OpenWrt:~# ls /sys/class/leds/
green:lan   green:wan   red:status

Signed-off-by: Chukun Pan <amadeus@jmu.edu.cn>
(cherry picked from commit b25c7548e07ad8775f8511ba8276bf3ecb4409ba)

12 months agokernel: bump 5.15 to 5.15.137
John Audia [Wed, 25 Oct 2023 19:26:53 +0000 (15:26 -0400)]
kernel: bump 5.15 to 5.15.137

Changelog: https://cdn.kernel.org/pub/linux/kernel/v5.x/ChangeLog-5.15.137

All patches automatically rebased.

Build system: x86_64
Build-tested: ramips/tplink_archer-a6-v3
Run-tested: ramips/tplink_archer-a6-v3

Signed-off-by: John Audia <therealgraysky@proton.me>
[Refreshed on top of OpenWrt 23.05]
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit 75aeb7ed627ba5ea6f10f365b232bed21e40b502)

12 months agokernel: bump 5.15 to 5.15.136
John Audia [Fri, 20 Oct 2023 14:27:12 +0000 (10:27 -0400)]
kernel: bump 5.15 to 5.15.136

Changelog: https://cdn.kernel.org/pub/linux/kernel/v5.x/ChangeLog-5.15.136

Removed bcm53xx patch backported from 5.15.136:
target/linux/bcm53xx/patches-5.15/081-xhci-Keep-interrupt-disabled-in-initialization-until.patch [1]

All other patches automatically rebased.

Build system: x86_64
Build-tested: ramips/tplink_archer-a6-v3
Run-tested: ramips/tplink_archer-a6-v3

1. https://github.com/openwrt/openwrt/pull/13751#issuecomment-1781206937

Signed-off-by: John Audia <therealgraysky@proton.me>
[rmilecki: updated commit description & tested on Luxul XWR-3150]
Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
[Refreshed on top of OpenWrt 23.05]
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit 5a6368e85deb1d751238447ea8b289576e701cb0)

12 months agobcm53xx: backport XHCI patch modifying xhci_run_finished()
Rafał Miłecki [Thu, 26 Oct 2023 13:53:14 +0000 (15:53 +0200)]
bcm53xx: backport XHCI patch modifying xhci_run_finished()

This will help switching to newer 5.15 kernels. This backport required
rebasing Northstar's USB host patch.

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
(cherry picked from commit c25c1e28b778e185da9253c4638db67952a84476)

12 months agokernel: bump 5.15 to 5.15.135
John Audia [Wed, 11 Oct 2023 19:53:45 +0000 (15:53 -0400)]
kernel: bump 5.15 to 5.15.135

Changelog: https://cdn.kernel.org/pub/linux/kernel/v5.x/ChangeLog-5.15.135

All patches automatically rebased.

Build system: x86_64
Build-tested: ramips/tplink_archer-a6-v3
Run-tested: ramips/tplink_archer-a6-v3

Signed-off-by: John Audia <therealgraysky@proton.me>
[Refreshed on top of OpenWrt 23.05]
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit 096bb8ed82cebeb8926a5b64466afec649385159)

12 months agokernel: fix jffs2 compilation with GCC_PLUGIN_RANDSTRUCT enabled
Matt Merhar [Sun, 29 Oct 2023 01:15:46 +0000 (21:15 -0400)]
kernel: fix jffs2 compilation with GCC_PLUGIN_RANDSTRUCT enabled

Designated initializers are required when using the randstruct GCC
plugin, otherwise an error like the following is seen:

./include/linux/lzma.h:60:31: error: positional initialization of field in 'struct' declared with 'designated_init' attribute [-Werror=designated-init]

This was originally applied via 55643e469c21, but was unintentionally
reverted in 483503603cb2.

Fixes: 483503603cb2 ("generic: 5.15: rework pending patch")
Signed-off-by: Matt Merhar <mattmerhar@protonmail.com>
(cherry picked from commit b2068f4aac43754a681b675ff3814d9ca87ac986)
[ drop change for unavailable kernel 6.1 ]
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
12 months agoumdns: update to the latest version
Felix Fietkau [Thu, 19 Oct 2023 17:15:11 +0000 (19:15 +0200)]
umdns: update to the latest version

479c7f8676d9 cache: make record/hostname lookup case-insensitive
26c97a5a50bf ubus: add a browse flag for suppressing cached ip addresses
c286c51a9bd9 Fix AVL tree traversal in cache_record_find and cache_host_is_known
4035fe42df58 interface: use a global socket instead of per-interface ones
c63d465698c7 cache: dump hostname target from srv records
b42b22152d73 use hostname from SRV record to look up IP addresses
d45c443aa1e6 ubus: add array flag support for the hosts method

Signed-off-by: Felix Fietkau <nbd@nbd.name>
(cherry picked from commit 3e1ac00ccbdaa0c396b36429ddbe83d2e3f6276f)

12 months agouqmi: update to latest HEAD
David Bauer [Fri, 20 Oct 2023 13:14:15 +0000 (15:14 +0200)]
uqmi: update to latest HEAD

c8c9f10 uim: fix help formatting
aac0776 uqmi: add APN profile commands
ffc5eea uim: support SIM card power-up/down
d6c963d uim: add application state to SIM status

Signed-off-by: David Bauer <mail@david-bauer.net>
(cherry picked from commit 0da74dbb453d739ee37bbdca75cac5e294b2cb56)

12 months agoprereq: merge common cases in SetupHostCommand
Jonas Gorski [Wed, 23 Aug 2023 07:47:57 +0000 (09:47 +0200)]
prereq: merge common cases in SetupHostCommand

Now that most cases do the same thing in SetupHostCommand, merge them
together into one. To allow moving the generic symlink check, invert the
check and let it check for relative links by matching on link targets
that do not start with a slash.

This then allows us to also drop the absolute link case, shortening the
case statement further.

This reorders the check to

* if it is not a symlink, do not change it
* if it is a symlink and it points to the found command, do not change it
* if it is a symlink with a relative path, do not change it
* else, update/replace it

Signed-off-by: Jonas Gorski <jonas.gorski@gmail.com>
(cherry picked from commit 3210aa8e0a113cc4354628b08b608c5c8f792941)

12 months agoprereq: make existing binary check work for sdk as well
Jonas Gorski [Wed, 16 Aug 2023 09:22:30 +0000 (11:22 +0200)]
prereq: make existing binary check work for sdk as well

To avoid replacing host built binaries with symlinks again, a check for
an appropriate stamp was added in 729909c07f ("prereq-build: do not
replace binaries with symlinks"). Unfortunately the stamp directory does
not exist in the SDK, so the fix was ineffective there.

This caused the packages builders to e.g. use the host tar again, which
in turn made the tarballs created different since it may lack
reproducibility fixes, or implement these differently, causing spurious
hash failures on source repository based packages.

Fix this by dropping the stamp dir check, and just check that the file
is usable.

Fixes: 729909c07f ("prereq-build: do not replace binaries with symlinks")
Signed-off-by: Jonas Gorski <jonas.gorski@gmail.com>
(cherry picked from commit c1ef10c8d873254ce7c1f3019d821c4a87227474)

12 months agobcm53xx: backport 1 more late DT patch accepted for v6.7
Rafał Miłecki [Thu, 26 Oct 2023 05:12:36 +0000 (07:12 +0200)]
bcm53xx: backport 1 more late DT patch accepted for v6.7

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
(cherry picked from commit 732ae343ffb3ad19978b75a8105d55f5e6d1d435)

12 months agobcm53xx: disable unused switch ports in downstream patch
Rafał Miłecki [Fri, 13 Oct 2023 11:25:33 +0000 (13:25 +0200)]
bcm53xx: disable unused switch ports in downstream patch

This makes Linux use correct switch ports again.

Fixes: a4792d79e899 ("bcm53xx: backport DT changes from v6.5")
Fixes: https://github.com/openwrt/openwrt/issues/13548
Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
(cherry picked from commit a912ee74d6ca08020933dcdb9ce791e74244c25b)

12 months agobcm53xx: backport DT changes queued for v6.7
Rafał Miłecki [Tue, 24 Oct 2023 05:40:37 +0000 (07:40 +0200)]
bcm53xx: backport DT changes queued for v6.7

Among other changes this commit makes Linux use correct switch ports
again.

Fixes: a4792d79e899 ("bcm53xx: backport DT changes from v6.5")
Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
(cherry picked from commit a67af19bc84e98588c307af9b08686bde9dd38d5)

12 months agobcm53xx: simplify patch adding switch ports
Rafał Miłecki [Fri, 13 Oct 2023 10:57:35 +0000 (12:57 +0200)]
bcm53xx: simplify patch adding switch ports

We now have all raw ports defined in bcm-ns.dtsi. Leave only lables in
custom device files.

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
(cherry picked from commit 08ce0c76d7d7daad5e9382d51960d69f4b8b8f3a)

12 months agobcm53xx: build a single device per profile
Rani Hod [Sat, 30 Sep 2023 19:22:13 +0000 (22:22 +0300)]
bcm53xx: build a single device per profile

So far every build of a single bcm53xx Target Profile (it means: when
NOT using CONFIG_TARGET_MULTI_PROFILE) resulted in all target devices
images being built. Now it only builds the one matching selected
profile.

Fixes: #13572
Suggested-by: Jonas Gorski <jonas.gorski@gmail.com>
Signed-off-by: Rani Hod <rani.hod@gmail.com>
[rmilecki: update commit subject + body & move PROFILES line]
Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
(cherry picked from commit 802a5f5cb4a7b42d25e82b787d7ab1323a20183f)

12 months agobcm53xx: add support for ASUS RT-AC3100
Arınç ÜNAL [Thu, 10 Aug 2023 12:23:09 +0000 (15:23 +0300)]
bcm53xx: add support for ASUS RT-AC3100

ASUS RT-AC3100 is ASUS RT-AC88U without the external switch.

OpenWrt forum users effortless and ktmakwana have confirmed that there are
revisions with either 4366b1 or 4366c0 wireless chips.

Therefore, include firmware for 4366b1 along with 4366c0. This way, all
hardware revisions of the router will be supported by having brcmfmac use
the firmware file for the wireless chip it detects.

Signed-off-by: Arınç ÜNAL <arinc.unal@arinc9.com>
(cherry picked from commit 2214bab3503981fe6168746acd13044a9d5e89e7)

12 months agobcm53xx: backport DT changes for ASUS RT-AC3100 queued for v6.6
Arınç ÜNAL [Thu, 10 Aug 2023 12:23:08 +0000 (15:23 +0300)]
bcm53xx: backport DT changes for ASUS RT-AC3100 queued for v6.6

Backport the patch that adds the DT for ASUS RT-AC3100.

Signed-off-by: Arınç ÜNAL <arinc.unal@arinc9.com>
(cherry picked from commit b7ee8c9f83ea0e3b861e6b71b08ed7a62066d149)

12 months agobcm53xx: add Wavlink Quantum DAX/WL-WN538A8 as alt name
Davide Fioravanti [Wed, 21 Jun 2023 22:33:16 +0000 (00:33 +0200)]
bcm53xx: add Wavlink Quantum DAX/WL-WN538A8 as alt name

As already documented in the wiki (https://openwrt.org/toh/wavlink/quantum_dax_wn538a8),
this router is based on the Phicomm K3. Just the flashing method is different

Signed-off-by: Davide Fioravanti <pantanastyle@gmail.com>
(cherry picked from commit f1136fe1fd3e7539c4efb035efeffe77500dd9c0)

12 months agoopenssl: update to 3.0.12
Hauke Mehrtens [Tue, 24 Oct 2023 20:42:19 +0000 (22:42 +0200)]
openssl: update to 3.0.12

Major changes between OpenSSL 3.0.11 and OpenSSL 3.0.12 [24 Oct 2023]
 * Mitigate incorrect resize handling for symmetric cipher keys and IVs. (CVE-2023-5363)

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit e4ebc7b5662d6436fcc84b8e1583204b96fb0503)

12 months agobcm53xx: Linksys EA9200 nvram and 02_network fixes
Rani Hod [Sat, 30 Sep 2023 23:05:19 +0000 (02:05 +0300)]
bcm53xx: Linksys EA9200 nvram and 02_network fixes

1) clear nvram partialboots upon successful boot
This behavior is already defined for EA9500; enabled for EA9200 too.

2) fix MAC address in board.d/02_network
Use the correct nvram variable to derive lan/wan MAC address.

Signed-off-by: Rani Hod <rani.hod@gmail.com>
(cherry picked from commit 9c42d23c5f7aa2b7f80af96921b2d5476626b8c6)

12 months agoramips: TP-link archer A6/C6 device tree updates
Rani Hod [Fri, 20 Oct 2023 13:15:38 +0000 (16:15 +0300)]
ramips: TP-link archer A6/C6 device tree updates

Set correct GPIO (10) for the WPS button. This matches GPIO settings in
vendor GPL sources. Note that GPL sources also mention a USB indicator
LED (GPIO 13) but the device has neither an external USB port nor a USB LED.

In addition, prefixes (button-, led-) are added to relevant DT entries,
as well as color and function specifications for LEDs.

Closes: #13736
Reported-by: Waldemar Czabaj <kaball@wp.pl>
Signed-off-by: Rani Hod <rani.hod@gmail.com>
(added led mitigations for wifi leds)
Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
(cherry picked from commit fe5e4987776ef66c6788f70251dcbc0ca80a1c5f)

12 months agoCI: provide new required secret for S3 endpoint and bucket name
Christian Marangi [Fri, 4 Aug 2023 23:58:29 +0000 (01:58 +0200)]
CI: provide new required secret for S3 endpoint and bucket name

Provide new required secret for S3 endpoint and bucket name to permit an
easier migration to new services.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
(cherry picked from commit 881235c713fae8692190178561af4eb2dee4ead1)

12 months agoCI: generilize S3 secret keys name and rename to proper name
Christian Marangi [Fri, 4 Aug 2023 23:55:11 +0000 (01:55 +0200)]
CI: generilize S3 secret keys name and rename to proper name

Generilize S3 secret keys and rename to make them not platform specific.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
(cherry picked from commit f98dc5aa43e9d84b8ceef9414fd4f92e05c418d7)

12 months agoCI: drop unused reusable workflow and dockerfiles
Christian Marangi [Mon, 19 Jun 2023 11:39:42 +0000 (13:39 +0200)]
CI: drop unused reusable workflow and dockerfiles

Drop unused reusable workflow and dockerfiles now that we moved them to
a dedicated repository.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
(cherry picked from commit 14293dd901e5fdb0fd242945b5916ccbb33ab328)

12 months agoCI: migrate each workflow to use reusable workflow from dedicated repo
Christian Marangi [Mon, 19 Jun 2023 11:55:32 +0000 (13:55 +0200)]
CI: migrate each workflow to use reusable workflow from dedicated repo

Migrate each workflow to use reusable workflow from dedicated repo to
skip pushing CI related commits to openwrt and better track versioning
of CI workflow.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
(cherry picked from commit 38cc09165fd11caa9599d960280bd91dbaba7a62)

12 months agoCI: build-tools: build all host tools
Christian Marangi [Thu, 3 Nov 2022 12:32:51 +0000 (13:32 +0100)]
CI: build-tools: build all host tools

Now that we build also core packages, we need more host tools. Compile
all of them to reduce compile time on other actions.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
(cherry picked from commit de9955a62f6aab6eafb2cfdffc4829ee97e69c04)

12 months agoCI: label-kernel: support compile testing kernel version and all target
Christian Marangi [Wed, 31 May 2023 15:40:11 +0000 (17:40 +0200)]
CI: label-kernel: support compile testing kernel version and all target

Add support to label-kernel for compiling testing kernel version and
check patches. To trigger this special build appent :testing to the
normal label.
Example:

- ci:kernel:ipq806x:generic:testing

Test will fail if the requested target doesn't have a defined kernel
testing version.

Also add support for testing all target and subtarget. To trigger this
some special pattern are added:
- ci:kernel:all:all
  Trigger test for all target and subtarget

- ci:kernel:all:first
  Trigger test for all target and the first subtarget in alphabetical
  order for the target.

With these special case :testing can also be used and every target and
subtarget that supports kernel testing version will be selected:
- ci:kernel:all:all:testing
  Trigger test for all target and subtarget that have a kernel testing
  version defined.

- ci:kernel:all:first:testing
  Trigger test for all target and the first subtarget in alphabetical
  order for the target that, if they have a kernel testing version
  defined.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
(cherry picked from commit 218deba503f38e2f44f5012baf96af91b3e00c6a)

12 months agoci: build: verify downloaded toolchain tarball
Petr Štetiar [Fri, 26 May 2023 09:41:18 +0000 (11:41 +0200)]
ci: build: verify downloaded toolchain tarball

CDNs are known to ship outdated or corrupted files, if it unpacks
correctly, it necessarily doesn't mean, that we're using the desired
content. So lets fix it by checking the tarball as well.

I'm adding GPG checking explicitly, its not needed, but just double
checking, that everything is working as expected on build
infrastructure.

Signed-off-by: Petr Štetiar <ynezz@true.cz>
(cherry picked from commit 95dde523297c652072ee96ac32d22912a43ef761)

12 months agoci: bump buildworker container to version v6
Petr Štetiar [Fri, 26 May 2023 09:38:24 +0000 (11:38 +0200)]
ci: bump buildworker container to version v6

Its being used by buildbot workers, adds g++-multilib to fix node
cross-compilation from a 64-bit build machine to 32-bit host.

References: https://github.com/openwrt/buildbot/pull/7
Signed-off-by: Petr Štetiar <ynezz@true.cz>
(cherry picked from commit 567784127e92ba6f9291adb1a546f567e50d9850)

12 months agoCI: kernel: test each subtarget on push events
Christian Marangi [Tue, 30 May 2023 18:43:18 +0000 (20:43 +0200)]
CI: kernel: test each subtarget on push events

Test each subtarget on push events to improve testing and to refresh
ccache of each subtarget.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
(cherry picked from commit 5bafc4352fb543c03389b6237f0e2fe327f328fa)

12 months agoCI: add support for getting ccache cache from S3
Christian Marangi [Tue, 30 May 2023 16:57:42 +0000 (18:57 +0200)]
CI: add support for getting ccache cache from S3

Add support for getting ccache cache from S3.
ccache is archieved in a tar and downloaded from S3 Cloud Storage.

For push events, ccache is then uplodaed back to S3 to refresh and have
a ccache cache always fresh.

An additional workflow is added to upload files to an S3 Cloud Storage
from artifacts uplodaed to github. The minio tool is used to upload
files to S3.

If the ccache can't be downloaded from s3, we fallback to github cache
system.

Also limit s3 upload to the openwrt repository since external fork won't
have (obviously) the required secrtes to upload data to the S3 Cloud
Storage.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
(cherry picked from commit ebbc806d30502ff003ae7a19098c6afaaf1295a5)

12 months agoCI: build: limit cache save/delete only on push events
Christian Marangi [Sun, 28 May 2023 07:11:29 +0000 (09:11 +0200)]
CI: build: limit cache save/delete only on push events

Limit ccache cache save/delete only on push events. Saving ccache
cache for pull request will result in bloat and refreshing ccache is not
possible due to security measure on enforcing read permission on
pull_request events.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
(cherry picked from commit ff66a7c1c0f012324c0d2d90f047e6976c4fba11)

12 months agoCI: coverity: disable ccache usage
Christian Marangi [Sun, 28 May 2023 01:30:12 +0000 (03:30 +0200)]
CI: coverity: disable ccache usage

Disable ccache usage for coverity workflow as it may cause side effect
in the produced bins.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
(cherry picked from commit 2129ee1879f564a9992a6761d4c9e77077c48e95)

12 months agoCI: build: fix ccache cache usage
Christian Marangi [Sun, 28 May 2023 01:15:50 +0000 (03:15 +0200)]
CI: build: fix ccache cache usage

CCache cache is currently broken due to a funny bug in ccache compiler
type detection. It seems ccache compiler type detection is very fragile
and with the use of external toolchain doesn't correctly detect the
type.
The type detected is set to other instead of gcc resulting in ccache
complaining for unsupported compiler options.

To handle this problem, force the compiler type to gcc to make ccache
correctly work and speedup compilation.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
(cherry picked from commit ae7b05328cf471780de8559fba845c4b564e059e)

12 months agoCI: build: add option to define custom ccache cache type
Christian Marangi [Sun, 28 May 2023 01:12:54 +0000 (03:12 +0200)]
CI: build: add option to define custom ccache cache type

Add new input to define custom ccache cache type. This is useful to use
a different ccache cache for some special workflow that may do more test
than simple kernel compilation.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
(cherry picked from commit 07b52a8a25f261e3cee03f4980e4bc868e9ee5cc)

12 months agoCI: build: add option to disable use of ccache
Christian Marangi [Sun, 28 May 2023 01:22:51 +0000 (03:22 +0200)]
CI: build: add option to disable use of ccache

Add option to disable use of ccache. This can be useful for some
sensible test that should not use ccache as they can cause side effects
of any sort. (example Coverity Scan)

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
(cherry picked from commit b9a41c1e84067bcc63aac633b72e7dc808bfe6fe)

12 months agoCI: build: add job to remove previous ccache cache if already exist
Christian Marangi [Sun, 28 May 2023 00:55:26 +0000 (02:55 +0200)]
CI: build: add job to remove previous ccache cache if already exist

Github Actions cache doesn't permit to overwrite cache if it does
already exist. As a trick to refresh and have fresh ccache pool,
delete the ccache cache if it does exist with the help of Github REST
API. An additional permission is needed to access this API. Add this
permittion to each user of the build workflow.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
(cherry picked from commit 203cc0a7ef0bbf3b5a19db3caa96e91963ec154c)

12 months agoCI: build: split cache ccache in separate restore and save jobs
Christian Marangi [Sat, 27 May 2023 15:25:29 +0000 (17:25 +0200)]
CI: build: split cache ccache in separate restore and save jobs

Split caching ccache in separate restore and save jobs to always refresh
the ccache across different runs. Currently if a key is restored, cache
is not saved resulting in a less useful ccache that benefits from
multiple runs.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
(cherry picked from commit 6321361c6b13a37b0cfa279a51a0cf8239a7852c)

12 months agoCI: ignore master branch for push events
Christian Marangi [Thu, 25 May 2023 11:52:03 +0000 (13:52 +0200)]
CI: ignore master branch for push events

Due to problem with migrating from master to main as the default branch
and downstream project still requiring the master branch to be present,
we currently have for push events double CI runs, one for main and one
for master. To solve this ignore any push event to the master branch for
every workflow that react on push events.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
(cherry picked from commit f5a5ce8822e9add9627ecb6ea289c8de2b8a76a9)

12 months agoCI: build: Add support to use container included external toolchain
Christian Marangi [Sat, 17 Dec 2022 14:07:28 +0000 (15:07 +0100)]
CI: build: Add support to use container included external toolchain

Add support to use container included external toolchain and skip
redownloading external sdk for each test.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
(cherry picked from commit 0fe5776f4a79a2b095912e258738e3203207e9dd)

12 months agoCI: push-containers: build and push container with external toolchain
Christian Marangi [Fri, 16 Dec 2022 23:21:31 +0000 (00:21 +0100)]
CI: push-containers: build and push container with external toolchain

Build and push container with external toolchain embedded in the
container image.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
(cherry picked from commit e1370cdd497a07612413106d707973155ad3004b)

12 months agoCI: build: add checks to test if toolchain container can be used
Christian Marangi [Tue, 23 May 2023 13:25:56 +0000 (15:25 +0200)]
CI: build: add checks to test if toolchain container can be used

Add checks to test if toolchain container can be used.
This is to handle case of new target or migration of any sort.

If the toolchain container can't be found, the tools container is used
instead.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
(cherry picked from commit 23a5c715a9296e828be5c32eadf68eacdb326a0a)