Commit Graph

4886 Commits

Author SHA1 Message Date
dastarothx
54cced5b2f
wifi-scripts: ucode: fix null dereference for 6GHz-only radios
he_phy_cap and he_mac_cap in phy_capabilities are only populated inside
the iftype_data loop. On 6GHz-only radios (e.g. QCN9074/ath11k_pci),
when capability bytes are unavailable they remain null, causing null
dereferences in device_htmode_append():

  Reference error: left-hand side expression is null
  if (!(he_phy_cap[3] & 0x80))

Initialise both to [] before the loop and guard the consumer side with
?? [] so bitwise checks conservatively disable beamformer/beamformee/twt
features rather than crashing.

Link: https://github.com/openwrt/openwrt/issues/23488
Signed-off-by: dastarothx <darkastalier@gmail.com>
(cherry picked from commit feca0b4507b9175b95a59701462d550eb0b855c0)
Link: https://github.com/openwrt/openwrt/pull/23503
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2026-05-24 13:12:19 +02:00
Hannu Nyman
99211b26fb dnsmasq: apply six CVE-fix upstream patches to 2.91
Apply upstream patches for the recently published CVEs in dnsmasq.

Source: https://thekelleys.org.uk/dnsmasq/CVE/
Reference: https://lists.thekelleys.org.uk/pipermail/dnsmasq-discuss/2026q2/018471.html

Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
Link: https://github.com/openwrt/openwrt/pull/23328
(cherry picked from commit dc04999b1f)
[added this to main branch first, 002-CVE-2026-4890.dnsmasq-2.91.patch modified]
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2026-05-13 01:54:08 +02:00
Florian Maurer
530366cdfd wifi-scripts: fix basic_rate mapping in supplicant ucode
The ucode migration wrote "basic_rate" into the wpa_supplicant network
block, but that is not a valid wpa_supplicant network field, causing:

  Line 15: unknown network field 'basic_rate'.
  failed to parse network block.

Map UCI basic_rate to the correct wpa_supplicant fields, matching the
behavior of the legacy shell script (hostapd.sh):

  - mesh mode:  mesh_basic_rates (space-separated, 100 kb/s units)
  - sta/adhoc:  rates            (comma-separated Mbps)

Link: a854d833ea

Signed-off-by: Florian Maurer <f.maurer@outlook.de>
[fix commit message link]
Signed-off-by: David Bauer <mail@david-bauer.net>
(cherry picked from commit 8810ecd5ed)
2026-05-07 21:15:44 +02:00
Rany Hany
e840fbfdf9 wifi-scripts: ucode: add missing fields for station/vlan schema
This adds the missing 'iface' field for both station and VLAN.
On VLAN, we add all network_config_attr to the schema as well
per wireless.uc.

Fixes: https://github.com/openwrt/openwrt/issues/22165
Signed-off-by: Rany Hany <rany_hany@riseup.net>
Link: https://github.com/openwrt/openwrt/pull/22617
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit 5968b584ba)
2026-04-30 01:48:36 +02:00
Rany Hany
8bb268a116 wifi-scripts: ucode: add bridge_isolate and network_vlan to schema
These were missing from schema. Add them.

Fixes: https://github.com/openwrt/openwrt/issues/22620
Signed-off-by: Rany Hany <rany_hany@riseup.net>
Link: https://github.com/openwrt/openwrt/pull/22617
[Reordered attributes]
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit 7255109cad)
2026-04-30 01:48:36 +02:00
Nick Hainke
37326a2aa3 xdp-tools: fix musl build issues
Add patches to fix build failures on musl-based toolchains:

0002-xdpsock-fix-struct-ethhdr-redefinition-on-musl.patch:
xdpsock.c included <net/ethernet.h> and <netinet/ether.h> alongside
<linux/if_ether.h>, triggering a struct ethhdr redefinition on musl.
Replace BSD-style ether_header/ether_addr with struct ethhdr and drop
the conflicting includes.

0003-build-use-gnu2x-to-avoid-stdbool.h-dependency.patch:
Switch CFLAGS and BPF_CFLAGS from -std=gnu11 to -std=gnu2x. In C23,
bool is a native keyword, fixing "stdbool.h: No such file or directory"
errors with a clang lacking its resource directory (e.g. llvm-bpf built
with LLVM_INSTALL_TOOLCHAIN_ONLY=ON on musl targets).

Link: https://github.com/openwrt/openwrt/pull/22983
(cherry picked from commit d16758d2d3)
Link: https://github.com/openwrt/openwrt/pull/23015
Signed-off-by: Nick Hainke <vincent@systemli.org>
2026-04-20 16:43:23 +02:00
Nick Hainke
282309648b xdp-tools: update to 1.6.3
Add patch "0001-params-avoid-linux-if_ether.h-in-header-to-fix-musl-.patch".

Release Notes:
- https://github.com/xdp-project/xdp-tools/releases/tag/v1.6.0
- https://github.com/xdp-project/xdp-tools/releases/tag/v1.6.1
- https://github.com/xdp-project/xdp-tools/releases/tag/v1.6.2
- https://github.com/xdp-project/xdp-tools/releases/tag/v1.6.3

Link: https://github.com/openwrt/openwrt/pull/21903
(cherry picked from commit 59549b8f15)
Link: https://github.com/openwrt/openwrt/pull/23015
Signed-off-by: Nick Hainke <vincent@systemli.org>
2026-04-20 16:43:23 +02:00
Nick Hainke
8b792e77c6 xdp-tools: bump PKG_RELEASE
Increase PKG_RELEASE so buildbots pick up and rebuild the updated
package files.

Fixes: c752525511 ("xdp-tools: add patch to fix stddef.h build issue")
Link: https://github.com/openwrt/openwrt/pull/21988
(cherry picked from commit 626494fb25)
Link: https://github.com/openwrt/openwrt/pull/23015
Signed-off-by: Nick Hainke <vincent@systemli.org>
2026-04-20 16:43:22 +02:00
Nick Hainke
4c8386e6f2 xdp-tools: add patch to fix stddef.h build issue
Add a patch that avoids including <stddef.h> in BPF headers, fixing
build failures on OpenWrt toolchains where the header is unavailable:

  In file included from xdpfilt_dny_udp.c:10:
  In file included from ./xdpfilt_prog.h:24:
  ../lib/../headers/xdp/parsing_helpers.h:18:10: fatal error: 'stddef.h' file not found
    18 | #include <stddef.h>
        |          ^~~~~~~~~~
  1 error generated.
  make[5]: *** [../lib/common.mk:111: xdpfilt_dny_udp.o] Error 1
  make[4]: *** [Makefile:40: xdp-filter] Error 2

Link: https://github.com/openwrt/openwrt/pull/21972
(cherry picked from commit c752525511)
Link: https://github.com/openwrt/openwrt/pull/23015
Signed-off-by: Nick Hainke <vincent@systemli.org>
2026-04-20 16:43:22 +02:00
Nick Hainke
4393dc83de xdp-tools: update to 1.5.8
Release Notes:
- https://github.com/xdp-project/xdp-tools/releases/tag/v1.5.8
- https://github.com/xdp-project/xdp-tools/releases/tag/v1.5.7
- https://github.com/xdp-project/xdp-tools/releases/tag/v1.5.6
- https://github.com/xdp-project/xdp-tools/releases/tag/v1.5.5
- https://github.com/xdp-project/xdp-tools/releases/tag/v1.5.4
- https://github.com/xdp-project/xdp-tools/releases/tag/v1.5.3
- https://github.com/xdp-project/xdp-tools/releases/tag/v1.5.2
- https://github.com/xdp-project/xdp-tools/releases/tag/v1.5.1
- https://github.com/xdp-project/xdp-tools/releases/tag/v1.5.0
- https://github.com/xdp-project/xdp-tools/releases/tag/v1.4.3

Remove upstreamed:
- 010-configure-respect-LDFLAGS.patch
- 020-libxdp-Use-__noinline__-reserved-attribute-for-XDP-d.patch
- 024-lib-allow-overwriting-W-flags-via-BPF_CFLAGS.patch
- 025-Add-BPF_LDFLAGS-to-allow-overwriting-llc-s-march-arg.patch

Remove unnecessary patch:
- 022-xdp-dump-add-missing-perf_event-include-for-bpf-and-.patch
  (The included headers were incorrect. Some musl toolchain headers
   appeared in the BPF bytecode generation path, which should not
   happen. This issue is resolved by overriding CFLAGS and LDFLAGS.)

Remove `PKG_FLAGS:=nonshared`. With this flag enabled, the package is
compiled separately for every target. Removing it limits compilation
to each CPU architecture instead, significantly reducing unnecessary
build overhead.

Add new tools:
- xdp-bench:
  XDP-bench is a benchmarking utility for exercising the different operation modes
  of XDP. It is intended to be a simple program demonstrating the various operating
  modes; these include dropping packets, hairpin forwarding (using the XDP_TX return
  code), and redirection using the various in-kernel packet redirection facilities.
- xdp-forward:
  xdp-forward is an XDP forwarding plane, which will accelerate
  packet forwarding using XDP. To use it, simply load it on
  the set of interfaces to accelerate forwarding between.
- xdp-monitor:
  XDP-monitor is a tool that monitors various XDP related statistics and
  events using BPF tracepoints infrastructure, trying to be as low overhead
  as possible.
- xdp-trafficgen:
  XDP-trafficgen is a packet generator utilising the XDP kernel subsystem
  to generate packets transmit them through a network interface.
  Packets are dynamically generated and transmitted in the kernel,
  allowing for high performance (millions of packets per second per core).

Co-Developed-by: Til Kaiser <mail@tk154.de>
Link: https://github.com/openwrt/openwrt/pull/20903
(cherry picked from commit 8f5f66c092)
Link: https://github.com/openwrt/openwrt/pull/23015
Signed-off-by: Nick Hainke <vincent@systemli.org>
2026-04-20 16:43:22 +02:00
Richard Huynh
8fc7a3d2d0 wifi-scripts: add EHT rates to set_fixed_freq
Without this, max_oper_chwidth is set incorrectly,
thus ibss_mesh_select_80_160mhz fails to set the correct channel width

Signed-off-by: Richard Huynh <voxlympha@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/22644
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit 6abfd98c4e)
2026-04-12 20:21:57 +02:00
Joshua Klinesmith
f778841d02 wifi-scripts: fix ucode erp_domain and fils_cache_id values
The ucode path generates different erp_domain and fils_cache_id
values than the legacy shell path due to three mismatches:

1. erp_domain md5 input missing trailing newline (echo adds \n)
2. erp_domain output truncated to 4 chars instead of 8 (shell
   uses head -c 8)
3. fils_cache_id md5 input missing trailing newline
4. erp_domain missing fallback to mobility_domain

Same bug pattern as mobility_domain fixed in commit b1dc2736db.

Fixes: #21768
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Signed-off-by: Joshua Klinesmith <joshuaklinesmith@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/22677
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit b178e05d9b)
2026-04-04 19:36:13 +02:00
Chester A. Unal
8a18e84a88 uqmi: introduce devpath option
Introduce the devpath option to find the control channel device from a
hardware path for a USB or a WWAN device.

This option is useful when there are multiple modems connected to the
system. The name of the control channel device of a modem can change
depending on which modem initialises first or if it was recently plugged
in. The devpath option allows specifying the hardware path of the modem
where the control channel device will be found using that.

For the USB device hardware path, it is allowed to specify the USB port
number the modem is directly connected to.

If the device and devpath options are both set, devpath takes precedence
over device.

The USB device hardware path of a control channel device can be found by:

readlink -f /sys/class/usbmisc/cdc-wdmX/device

The WWAN device hardware path of a control channel device can be found by:

readlink -f /sys/class/wwan/wwanXqmiX/device

An example uci configuration would be:

config interface 'wwan_usb1'
	option proto 'qmi'
	option auth 'none'
	option devpath '/sys/devices/platform/1e1c0000.xhci/usb1/1-1'
	option apn 'internet'
	option pdptype 'ipv4v6'

Or:

config interface 'wwan_pcie1'
	option proto 'qmi'
	option auth 'none'
	option devpath '/sys/devices/platform/soc/11280000.pcie/pci0003:00/0003:00:00.0/0003:01:00.0'
	option apn 'internet'
	option pdptype 'ipv4v6'

Signed-off-by: Chester A. Unal <chester.a.unal@arinc9.com>
(cherry picked from commit e83da3bada)
Link: https://github.com/openwrt/openwrt/pull/22254
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2026-03-30 13:02:58 +02:00
Chester A. Unal
fcd535c0f2 umbim: introduce devpath option
Introduce the devpath option to find the control channel device from a
hardware path for a USB or a WWAN device.

This option is useful when there are multiple modems connected to the
system. The name of the control channel device of a modem can change
depending on which modem initialises first or if it was recently plugged
in. The devpath option allows specifying the hardware path of the modem
where the control channel device will be found using that.

For the USB device hardware path, it is allowed to specify the USB port
number the modem is directly connected to.

If the device and devpath options are both set, devpath takes precedence
over device.

The USB device hardware path of a control channel device can be found by:

readlink -f /sys/class/usbmisc/cdc-wdmX/device

The WWAN device hardware path of a control channel device can be found by:

readlink -f /sys/class/wwan/wwanXmbimX/device

An example uci configuration would be:

config interface 'wwan_usb1'
	option proto 'mbim'
	option auth 'none'
	option devpath '/sys/devices/platform/1e1c0000.xhci/usb1/1-1'
	option apn 'internet'
	option pdptype 'ipv4v6'

Or:

config interface 'wwan_pcie1'
	option proto 'mbim'
	option auth 'none'
	option devpath '/sys/devices/platform/soc/11280000.pcie/pci0003:00/0003:00:00.0/0003:01:00.0'
	option apn 'internet'
	option pdptype 'ipv4v6'

Signed-off-by: Chester A. Unal <chester.a.unal@arinc9.com>
(cherry picked from commit 764c503a2c)
Link: https://github.com/openwrt/openwrt/pull/22254
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2026-03-30 13:02:58 +02:00
Vladimir Palevich
9da26c078c hostapd: fix memory leak in rrm ubus interface
Add missing wpabuf_free calls to the hostapd_rrm_nr_set and
hostapd_rrm_beacon_req functions.

Signed-off-by: Vladimir Palevich <palevichva@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/22538
(cherry picked from commit fde5d2e210)
Link: https://github.com/openwrt/openwrt/pull/22553
Signed-off-by: Nick Hainke <vincent@systemli.org>
2026-03-22 15:17:05 +01:00
Andrew Sim
4d30029d40
wifi-scripts: ucode: use correct antenna count for SU beamformee
The hostapd configuration for SU-BEAMFORMEE was incorrectly using the
beamformer antenna count instead of the beamformee antenna count for the
[BF-ANTENNA-N] capability string.

Fix this by using config.beamformee_antennas instead.

Signed-off-by: Andrew Sim <andrewsimz@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/22511
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
(cherry picked from commit fc5aed2ff2)
2026-03-20 11:10:10 +01:00
Shine
f5c930539a wifi-scripts: fix hostapd config for 160MHz
After 02e2065203, it can happen that both,
[VHT160-80PLUS80] and [VHT160] are added to the vht_capab option in
an AP's hostapd.conf, which would cause a failure to start the AP.

Fix the logic in order to prevent such misconfiguration.

Fixes: #22481
Signed-off-by: Shine <4c.fce2@proton.me>
Link: https://github.com/openwrt/openwrt/pull/22482
Signed-off-by: Robert Marko <robimarko@gmail.com>
(cherry picked from commit c949d0e6c6)
2026-03-19 10:45:29 +01:00
Álvaro Fernández Rojas
b21cfa8f8c odhcpd: update to 25.12 Git HEAD (2026-03-16)
edf2e523b7ae odhcpd: ensure zero padding on DNSSL
61673cb67350 odhcpd: ignore NULL in dhcpv4_free_lease() stub
6a4fc65e911a ubus: fix truncated field in DHCPv6 lease query
2f4652a5c1ec dhcpv4: fix avl_delete on leases not in avl tree
b27273d99bdb dhcpv4: fix segfault when disabling interface
140d98b39752 dhcpv6-ia: dhcpv6_log_ia_addr(): parse return of snprintf

2e5068b972...edf2e523b7

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/22455
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2026-03-17 02:31:57 +01:00
Eric Fahlgren
9e27b6927f iptables: prefer nft variants over zz-legacy
Set the default variant on "iptables-nft" and "ip6tables-nft" to
make them the preferred package when "iptables" is installed as
a dependency.

Link: https://github.com/openwrt/packages/issues/28815
Signed-off-by: Eric Fahlgren <ericfahlgren@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/22448
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit b37cbcf50a)
2026-03-17 02:20:24 +01:00
Miika Sundström
eb68434835 wifi-scripts: fix [VHT160]/[VHT160-80PLUS80] usage
Don't set vht_capab [VHT160] or [VHT160-80PLUS80] when the AP is not
configured to operate in 160 MHz. Fixes an issue degrading station
upload speed.

Fixes: https://github.com/openwrt/openwrt/issues/22435
Signed-off-by: Miika Sundström <mitasun@utu.fi>
Link: https://github.com/openwrt/openwrt/pull/22436
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit 02e2065203)
2026-03-17 02:16:03 +01:00
Hauke Mehrtens
412f0349e2 Revert "package: bump odhcpd to latest HEAD 2026-03-12"
This reverts commit cf1c8c1f3a.

This accidentally bumped odhcp to the version from main branch instead
of using the 25.12 branch.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2026-03-16 12:10:18 +01:00
Paul Spooren
cf1c8c1f3a package: bump odhcpd to latest HEAD 2026-03-12
* 13cec01 dhcpv6-ia: dhcpv6_log_ia_addr(): parse return of snprintf

Signed-off-by: Paul Spooren <mail@aparcar.org>
(cherry picked from commit 681eb446cf)
2026-03-14 19:08:02 +01:00
Jonas Gorski
4ae4b2d49d umdns: update to Git HEAD (2026-02-06)
a52cdb354d13 dns: validate IPv4 record addresses
b798c24205b5 dns: validate IPv6 record addresses
a3dcb4adc635 dns: validate reverse dns query name lengths

Signed-off-by: Jonas Gorski <jonas.gorski@gmail.com>
(cherry picked from commit 8a7eb57ab8)
2026-03-12 20:34:08 +01:00
Hauke Mehrtens
5103e0d2c2 wifi-scripts: fix handling spaces in wifi client config
Escape identity anonymous_identity password ca_cert and ca_cert2 in a wifi
client configuration. This fixes the handling of configuration options
containing spaces and other strings which need escaping.

Fixes: https://github.com/openwrt/openwrt/issues/22212
Link: https://github.com/openwrt/openwrt/pull/22237
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit a919299993)
2026-03-10 22:56:20 +01:00
Eric Fahlgren
a93e087e79 firewall4: prefer over firewall as dependency
When the virtual package "uci-firewall" is installed, the choice
between "firewall" and "firewall4" is arbitrary, sometimes resulting
in one, sometimes the other.

Set the default variant on "firewall4" to make it the preferred
package when installed as a dependency.

Link: https://forum.openwrt.org/t/owut-openwrt-upgrade-tool/200035/1126
Signed-off-by: Eric Fahlgren <ericfahlgren@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/22328
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit 5d71d9a4be)
2026-03-10 22:53:29 +01:00
Paul Donald
3c1460a5a2 ppp: add memmove fortify and remove MRU patch
memcpy() with overlapping src and dest buffers is an undefined behavior
in C. In the current code, a ConfRej response is generated by copying
input data in-place, where the dest address is lower than the src.
This happens to work in practice because memcpy() forward-copies data,
matching the behavior of memmove() in this case.

However, if FORTIFY_SOURCE or Address Sanitizer is enabled, memcpy()
will detect the overlap at run time and abort the program.

Replace the memcpy() with memmove() to ensure a well-defined behavior.

Reported-by: Filippo Carletti <filippo.carletti@gmail.com>

MRU patch https://github.com/ppp-project/ppp/pull/573

Signed-off-by: Paul Donald <newtwen+github@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/22286
(cherry picked from commit 1e9da9798a)
Link: https://github.com/openwrt/openwrt/pull/22318
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2026-03-08 15:48:35 +01:00
Álvaro Fernández Rojas
65041d9860 omcproxy: update to Git HEAD (2026-03-07)
3abb601ab77f mrib: receive_mrt: workaround for RTL8373 queries
e25491f27af3 Revert "mrib: receive_mrt: workaround for RTL8373 queries"
cd20f3a4b4f1 mrib: receive_mrt: workaround for RTL8373 queries
cad82dc5cb65 formal: fix workflow permissions
997a981ae375 github: ci: add MIPS64, PowerPC64 and RISCV64
e646f462daeb github: ci: add powerpc arch
b3d1e2e48cf4 github: ci: add cmake build and source directories
de4353546064 github: ci: disable json-c tests
2be7e63d9b68 scripts: devel-build: disable json-c tests
36adc79c7b76 github: fix CI apt dependencies
11e45f6cfe10 README: update build instructions
78eea9b83a93 omcproxy: use syslog mask for logging level
9f0a1454de10 github: add CI build
49df5f5b8704 omcproxy: add a simple build script
757c1c704c9d libubox: remove submodule
8957f6c2557b omcproxy: update cmake file
848d696419eb proxy: fix indentation warning

(cherry picked from commit 56bf67d474)
Link: https://github.com/openwrt/openwrt/pull/22317
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
2026-03-08 08:26:48 +01:00
Hauke Mehrtens
aeebbead6f wifi-scripts: fix handling of 64 character WPA key
The key variable is not defined in the scope when setting wpa_psk. Use
config.key instead.
This fixes configuration the 64 characters wpa_psk directly.

Reported-by: donjoe in OpenWrt Forum
Link: https://github.com/openwrt/openwrt/pull/22182
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit 69daeebc9a)
2026-02-26 20:23:55 +01:00
Felix Fietkau
2e40f4cf73 netifd: update to Git openwrt-25.12 (2026-02-26)
51fa9ed6d4d6 interface-ip: fix fortify build error
cbb83a185740 bridge: skip present toggle in bridge_free_member() when device is active

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2026-02-26 12:10:02 +00:00
Jonas Lochmann
b0ea1b6cdf iproute2: include upstream patch for musl libc
Due to a missing include, the constant UINT_MAX is undefined. This
fixes issues when building v25.12.0-rc5. Including a newer version of
iproute2 would include the patch, but causes other building issues.

Signed-off-by: Jonas Lochmann <openwrt@jonaslochmann.de>
Link: https://github.com/openwrt/openwrt/pull/22128
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit 5f063d18bd)
2026-02-24 20:25:40 +01:00
Felix Fietkau
e2089a5d3e hostapd: fix dealing with required interface restart in AP+STA mode
Ensure that the BSS start_disabled option is always cleared, so that
interfaces come up properly.

Signed-off-by: Felix Fietkau <nbd@nbd.name>
(cherry picked from commit b7cd16dba3)
2026-02-19 15:14:47 +00:00
Yaroslav Isakov
ad24a28363 hostapd: fix EAP-PWD in experimental hostapd-radius server
Without initializing pwd_group, it's set to 0, which is reserved value.
When EAP-PWD is used in wpa_supplicant/eapol_test, next error is seen:
EAP-PWD: Server EAP-pwd-ID proposal: group=0 random=1 prf=1 prep=0
EAP-pwd: Unsupported or disabled proposal

Signed-off-by: Yaroslav Isakov <yaroslav.isakov@gmail.com>
(cherry picked from commit 9d78b2f53c)
2026-02-19 15:14:16 +00:00
Chad Monroe
ae2fbe48d2 hostapd: initialize first BSS radio_mask during driver init
Secondary BSSes inherit the alloc value which bypasses
NL80211_ATTR_VIF_RADIO_MASK in nl80211_create_iface() and causes the
kernel to default new interfaces to all radios.

The ucode bss_create fallback fails to correct this because
the interface is already UP.. the kernel rejects SET_INTERFACE with
-EBUSY.

Signed-off-by: Chad Monroe <chad@monroe.io>
(cherry picked from commit 50d3d287e4)
2026-02-19 15:14:16 +00:00
Hauke Mehrtens
9cd17a1064 ebtables: add CPPFLAGS
Add the OpenWrt CPPFLAGS to the CFLAGS. ebtables does not
support CPPFLAGS. This fixes fortify sources support.

Link: https://github.com/openwrt/openwrt/pull/22056
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit 77d896725f)
2026-02-17 22:30:35 +01:00
Hauke Mehrtens
5884c75aad arptables: add CPPFLAGS
Add the OpenWrt CPPFLAGS to the CFLAGS. arptables does not
support CPPFLAGS. This fixes fortify sources support.

Link: https://github.com/openwrt/openwrt/pull/22056
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit 33b2c6f955)
2026-02-17 22:30:34 +01:00
Hauke Mehrtens
5f724fc319 iwinfo: add CPPFLAGS
Add the OpenWrt CPPFLAGS to the FLAGS. iwinfo does not support CPPFLAGS.
This fixes fortify sources support.

Link: https://github.com/openwrt/openwrt/pull/22056
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit 379d5b8bc4)
2026-02-17 22:30:33 +01:00
Hauke Mehrtens
9bb7755066 wireless-tools: add CPPFLAGS
Add the OpenWrt CPPFLAGS to the CFLAGS. wireless-tools does not
support CPPFLAGS. This fixes fortify sources support.

Link: https://github.com/openwrt/openwrt/pull/22056
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit d69b283068)
2026-02-17 22:30:28 +01:00
Hauke Mehrtens
551beecf59 resolveip: add CPPFLAGS
Forward the OpenWrt CPPFLAGS to the compile process. This fixes fortify
sources support.

Link: https://github.com/openwrt/openwrt/pull/22056
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit 0f1c1c581f)
2026-02-17 22:30:27 +01:00
Hauke Mehrtens
0cd63fda4c iwcap: add CPPFLAGS
Forward the OpenWrt CPPFLAGS to the compile process. This fixes fortify
sources support.

Link: https://github.com/openwrt/openwrt/pull/22056
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit bfd57eab3d)
2026-02-17 22:30:26 +01:00
Hauke Mehrtens
da0b16367c 6rd: add CPPFLAGS
Forward the OpenWrt CPPFLAGS to the compile process. This fixes fortify
sources support.

Link: https://github.com/openwrt/openwrt/pull/22056
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit b497c3f68f)
2026-02-17 22:30:21 +01:00
Hauke Mehrtens
790aaa5b07 464xlat: add CPPFLAGS
Forward the OpenWrt CPPFLAGS to the compile process. This fixes fortify
sources support.

Link: https://github.com/openwrt/openwrt/pull/22056
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit 2ca7c2b846)
2026-02-17 22:30:20 +01:00
Harin Lee
16dcfc613a wifi-scripts: fix macaddr check in mac80211.uc
This fixes a simple logic error in the macaddr existence check in mac80211.uc.

Signed-off-by: Harin Lee <me@harin.net>
Link: https://github.com/openwrt/openwrt/pull/21277
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit 2ebcda1ea6)
2026-02-16 08:20:29 +00:00
Felix Fietkau
4ab2e3d0dd wifi-scripts: wireless.uc: add MLO support for procd service data
This allows services to dynamically configure MLO interfaces without
using UCI.

Signed-off-by: Felix Fietkau <nbd@nbd.name>
(cherry picked from commit 0a8bccf85d)
2026-02-16 08:20:29 +00:00
Felix Fietkau
4305911499 wifi-scripts: move the "disabled" option to the wifi-iface section
This helps for setups where the wifi interfaces are added dynamically
via procd data by avoiding automatically bringing up interfaces with
the default config. Internally, they are treated pretty much the same
by netifd.

Signed-off-by: Felix Fietkau <nbd@nbd.name>
(cherry picked from commit 79a0aebd81)
2026-02-16 08:20:29 +00:00
Felix Fietkau
f867497e35 wifi-scripts: netifd: fix null dereference in config_init for missing devices
Add optional chaining when accessing device config in the wifi-iface
loop to handle cases where a referenced device doesn't exist.

Signed-off-by: Felix Fietkau <nbd@nbd.name>
(cherry picked from commit 8b994ed397)
2026-02-16 08:20:22 +00:00
Felix Fietkau
3e3f325063 wifi-scripts: fix nested config accumulation in wdev_set_data
When storing device-level data, wdev_set_data() spread the entire wdev
object into handler_data. Since handler_config.data is set from the
previous handler_data[wdev.name] before each setup, this created
exponentially growing nesting with each reload, eventually causing
"nesting too deep" JSON parse errors.

Fix by initializing cur to a simple object containing only the device
name instead of the entire wdev object.

Signed-off-by: Felix Fietkau <nbd@nbd.name>
(cherry picked from commit 68c2ab8f5f)
2026-02-16 08:14:41 +00:00
Felix Fietkau
53f88bd15b wifi-scripts: iwinfo.uc: cache survey data in iface object
Extract survey fetching into get_survey() and store results in iface.survey,
allowing access to full survey info (not just noise) for later use.

Signed-off-by: Felix Fietkau <nbd@nbd.name>
(cherry picked from commit e855f32bdd)
2026-02-16 08:13:24 +00:00
John Crispin
8725a4713e wifi-scripts: refactor iwinfo.uc to support dynamic data updates
Moved interface discovery and data population into an exported update()
function that can be called on-demand to refresh wireless interface
information. This allows using iwinfo.uc as a library inside daemons.

Signed-off-by: John Crispin <john@phrozen.org>
(cherry picked from commit 26eab84f81)
2026-02-16 08:13:24 +00:00
John Crispin
3091dbcb45 unetmsg: notify subscribers when remote peer connection drops
When a remote peer's connection drops (device powered off, unetmsgd
crash, network failure), network_rx_cleanup_state silently removed
the remote publish/subscribe handles without notifying local
subscribers. This meant local clients had no way to detect that a
remote peer had disappeared.

Call handle_publish for each channel where a remote publish handle
is removed during connection cleanup, so local subscribers receive
the publisher change notification and can react accordingly.

Signed-off-by: John Crispin <john@phrozen.org>
(cherry picked from commit 7fd71f2c74)
2026-02-16 08:09:16 +00:00
Felix Fietkau
40a7b55d70 unetmsg: only send publish notifications for remote publisher changes
handle_publish() notifies local subscribers about publisher state
changes. The publish/subscribe handler in network_socket_handle_request()
was calling it for both remote publish and subscribe changes, but
subscriber changes are not relevant to local subscribers.

Guard the handle_publish() calls with a msgtype == "publish" check,
matching the local client paths in unetmsgd-client.uc which already
have this guard.

Signed-off-by: Felix Fietkau <nbd@nbd.name>
(cherry picked from commit e0722d0ac4)
2026-02-16 08:09:16 +00:00