Commit graph

4783 commits

Author SHA1 Message Date
Álvaro Fernández Rojas
9e9b05130c odhcpd: update to 25.12 Git HEAD (2025-12-18)
Some checks failed
Build all core packages / Build all core packages for selected target (push) Has been cancelled
0779ee287db5 dhcpv6-ia: reconfigure message length bug fix
d69896b0ac7c all: remove dead code
3f6b3b4b9f8a odhcpd: remove fallback DNS search domain
ff3f72fdd01d router: remove some log spam in send_router_advert()
c1cc541e1065 router: improve send_router_advert()
901851b883da router: Modify relayed RA PIO P flag according to interface policy
179429ba477d router: Modify relayed RA PIO A flags according to interface policy

cb1b8770b7...0779ee287d

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
2025-12-18 21:25:49 +01:00
Álvaro Fernández Rojas
988902fa9a odhcp6c: update to 25.12 Git HEAD (2025-12-18)
Some checks are pending
Build all core packages / Build all core packages for selected target (push) Waiting to run
5ab3203875ad dhcpv6: use stable IAID for IA_NA
29922b7fb497 odhcp6c: avoid clearing CLIENT_ID

2582843959...5ab3203875

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
2025-12-18 18:58:45 +01:00
Álvaro Fernández Rojas
f1984e2e5a odhcpd: update to 25.12 Git HEAD (2025-12-14)
Some checks are pending
Build all core packages / Build all core packages for selected target (push) Waiting to run
cb1b8770b782 config: add default value for dhcpv6_pd_min_len
20eb94d02dfe config: allow minimum PD len up to 64
7ebd96083971 Revert "router: optimize duplicated PIO comparison"
90ae6fc6e478 statefiles: don't consider no hostname as broken

1ff1328a4f...cb1b8770b7

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
2025-12-17 23:40:38 +01:00
Álvaro Fernández Rojas
68e2095a8b odhcp6c: update to 25.12 Git HEAD (2025-12-17)
2582843959a7 dhcpv6: fix NA/PD=try when NA/PD aren't provided
db6bec98ead1 odhcp6c: fix "-S" usage
b9ab6b6abc64 odhcp6c: reset res variable on INIT state

5212a1019d...2582843959

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
2025-12-17 23:37:32 +01:00
Petr Štetiar
fe635c56ac
dropbear: bump to 2025.89 (CVE-2025-14282, CVE-2019-6111)
Some checks are pending
Build all core packages / Build all core packages for selected target (push) Waiting to run
- Security: Avoid privilege escalation via unix stream forwarding in Dropbear
  server. Other programs on a system may authenticate unix sockets via
  SO_PEERCRED, which would be root user for Dropbear forwarded connections,
  allowing root privilege escalation.
  Reported by Turistu, and thanks for advice on the fix.
  This is tracked as CVE-2025-14282, and affects 2024.84 to 2025.88.

  It is fixed by dropping privileges of the dropbear process after
  authentication. Unix stream sockets are now disallowed when a
  forced command is used, either with authorized_key restrictions or
  "dropbear -c command".

  In previous affected releases running with "dropbear -j" (will also disable
  TCP fowarding) or building with localoptions.h/distrooptions.h
  "#define DROPBEAR_SVR_LOCALSTREAMFWD 0" is a mitigation.

- Security: Include scp fix for CVE-2019-6111. This allowed
  a malicious server to overwrite arbitrary local files.
  The missing fix was reported by Ashish Kunwar.

- Server dropping privileges post-auth is enabled by default. This requires
  setresgid() support, so some platforms such as netbsd or macos will have to
  disable DROPBEAR_SVR_DROP_PRIVS in localoptions.h. Unix stream forwarding is
  not available if DROPBEAR_SVR_DROP_PRIVS is disabled.

  Remote server TCP socket forwarding will now use OS privileged port
  restrictions rather than having a fixed "allow >=1024 for non-root" rule.

  A future release may implement privilege dropping for netbsd/macos.

- Fix a regression in 2025.87 when RSA and DSS are not built. This would lead
  to a crash at startup with bad_bufptr().
  Reported by Dani Schmitt and Sebastian Priebe.

- Don't limit channel window to 500MB. That is could cause stuck connections
  if peers advise a large window and don't send an increment within 500MB.
  Affects SSH.NET https://github.com/sshnet/SSH.NET/issues/1671
  Reported by Rob Hague.

- Ignore -g -s when passwords arent enabled. Patch from Norbert Lange.
  Ignore -m (disable MOTD), -j/-k (tcp forwarding) when not enabled.

- Report SIGBUS and SIGTRAP signals. Patch from Loïc Mangeonjean.

- Fix incorrect server auth delay. Was meant to be 250-350ms, it was actually
  150-350ms or possibly negative (zero). Reported by pickaxprograms.

- Fix building without public key options. Thanks to Konstantin Demin

- Fix building with proxycmd but without netcat. Thanks to Konstantin Demin

- Fix incorrect path documentation for distrooptions, thanks to Todd Zullinger

- Fix SO_REUSEADDR for TCP tests, reported by vt-alt.

Dropped:

 * 050-dropbear-multihop-fix.patch as its included in the release 5cc0127000db5f
 * 051-fix-pubkey-options.patch as its included in the release 1d4c4a542cd5df
 * 052-fix-missing-depends-for-sntrup761x25519-sha512.patch as its included
   in the release 1a2c1e649a1824
 * 053-Don-t-limit-channel-window-to-500MB.patch as its included in the release a8610f7b98ad

Manually rebased:

 * 110-change_user.patch

Fixes: CVE-2025-14282, CVE-2019-6111
Reviewed-by: Hauke Mehrtens <hauke@hauke-m.de>
Reviewed-by: Konstantin Demin <rockdrilla@gmail.com>
Tested-by: Konstantin Demin <rockdrilla@gmail.com> [mediatek/filogic (GL.iNet GL-MT6000)]
Link: https://github.com/openwrt/openwrt/pull/21186
Signed-off-by: Petr Štetiar <ynezz@true.cz>
(cherry picked from commit 70a4da1ceb)
2025-12-17 03:59:24 +00:00
Rany Hany
c432647d18 wifi-scripts: update phys after rename_phy_by_name call
Some checks are pending
Build all core packages / Build all core packages for selected target (push) Waiting to run
This fixes a failed bring up of the radio on bootup
if the model defines a rename of phy in its /etc/board.json.
This specifically impacts Redmi AX6S and any router that does so
in its /etc/board.json. The fix fortunately is simple, just update
phy name in phys after rename.

The entry that specifically causes this issue is the following:

{
	<omitted>
	"wlan": {
		"wl0": {
			"path": "platform/18000000.wmac",
			"info": {
				"antenna_rx": 15,
				"antenna_tx": 15,
				"bands": {
					"2G": {
						"ht": true,
						"max_width": 40,
						"modes": [
							"NOHT",
							"HT20",
							"HT40"
						],
						"default_channel": 1
					}
				},
				"radios": [
				]
			}
		},
	...
}

The issue is that after rename, referenced phy in config is going to be
wl0 but in phys array it is still phy0; and so it fails to find phy
and does not bring up radio.

Fixes: https://github.com/openwrt/openwrt/issues/20250
Fixes: https://github.com/openwrt/openwrt/issues/20339
Signed-off-by: Rany Hany <rany_hany@riseup.net>
Link: https://github.com/openwrt/openwrt/pull/21175
Signed-off-by: Robert Marko <robimarko@gmail.com>
(cherry picked from commit e4d5e76af0)
2025-12-16 20:23:29 +01:00
Rany Hany
7c4da36cf2 wifi-scripts: ucode: improve formatting of expected throughput
Some checks are pending
Build all core packages / Build all core packages for selected target (push) Waiting to run
Convert to MBit/s like all other fields and specify the unit.
Most users probably aren't aware that this is in kilobits/s.

Signed-off-by: Rany Hany <rany_hany@riseup.net>
Link: https://github.com/openwrt/openwrt/pull/20567
Signed-off-by: Robert Marko <robimarko@gmail.com>
(cherry picked from commit 36da03a6c1)
2025-12-15 12:39:57 +01:00
Rany Hany
c743099fe1 wifi-scripts: add support for using list for iface in wifi-station/vlan
Some checks are pending
Build all core packages / Build all core packages for selected target (push) Waiting to run
This is a trivial change to allow users to use 'list' on iface.
Old wifi-scripts already implements this, so this just ensures
that shell-based and ucode wifi-scripts are on-par with each other.

Signed-off-by: Rany Hany <rany_hany@riseup.net>
Link: https://github.com/openwrt/openwrt/pull/20977
Signed-off-by: Robert Marko <robimarko@gmail.com>
(cherry picked from commit 1ead4e6e16)
2025-12-15 12:31:14 +01:00
Rany Hany
b13c6a732a wifi-scripts: fix broken match all case for wifi-vlan
When iface is omitted, wifi-vlan will apply to all interfaces.
However, netifd.set_vlan call is not successful as it assumes
that every wifi-vlan section corresponds to one VIF.

For this reason in the wifi-vlan case (cur_type == "vlan")
we create a composite key in the form `${vif.name}/${vlan.name}`
allowing the same vlan section to correspond to multiple VAPs.
`/` was decided as a delimiter as it is an invalid character
for a network interface name and UCI identifier; so it is
impossible for it to cause conflicts.

It was verified that the `ubus call network.wireless status`
works as expected with this change. Moreover, wifi-station
is not susceptible to this problem.

This also means that it is now possible for wifi-vlan
to support `list` iface similar to old shell-based wifi-scripts.
This will be done in a follow-up commit.

Fixes: 98435a37a7 ("wifi-scripts: iface should be optional in wifi-vlan definition")
Signed-off-by: Rany Hany <rany_hany@riseup.net>
Link: https://github.com/openwrt/openwrt/pull/20977
Signed-off-by: Robert Marko <robimarko@gmail.com>
(cherry picked from commit 211b11a56e)
2025-12-15 12:31:14 +01:00
Álvaro Fernández Rojas
5db1b65d3e odhcpd: update to 25.12 Git HEAD (2025-12-13)
1ff1328a4fc1 odhcpd: fix captive_portal_uri reset
74f00bf43eab dhcpv4: fix DNS server option
0d0fc5ffe993 README.md: update dhcp ubus events

ca00527e5f...1ff1328a4f

Also remove duplicated /usr/share/libubox/jshn.sh include.

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
2025-12-13 13:02:35 +01:00
Hauke Mehrtens
afdbdbae3b bridger: update to Git HEAD (2025-10-23)
856921fb2062 nl: improve polling
a40cb7994e92 nl: handle netlink socket buffer overflow
9fc2bc3e3d4d bpf: skip all multicast packets

Changes: 95125f0b0b...9fc2bc3e3d

Link: https://github.com/openwrt/openwrt/pull/21104
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-12-10 23:29:24 +01:00
Hauke Mehrtens
367d8b2115 nftables: update to version 1.1.6
Announcement: https://lwn.net/Articles/1049470/
Changes: https://git.netfilter.org/nftables/diff/?id=v1.1.6&id2=v1.1.5&dt=2

The apk size did not increase much:
Old size for armsr/armv8:
318457 nftables-json-1.1.5-r1.apk

new size for armsr/armv8:
327941 nftables-json-1.1.6-r1.apk

Link: https://github.com/openwrt/openwrt/pull/21096
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-12-10 23:26:39 +01:00
Hauke Mehrtens
5cbafcbb67 iproute2: update to version 6.18
The removed patch 001-lib-bridge-avoid-redefinition-of-in6_addr.patch
was integrated upstream.

Changes: https://github.com/iproute2/iproute2/compare/v6.17.0...v6.18.0

The apk size did not increase much:
Old size for armsr/armv8:
 43778 ip-bridge-6.17.0-r1.apk
164653 ip-tiny-6.17.0-r1.apk
208236 tc-bpf-6.17.0-r1.apk
210209 tc-full-6.17.0-r1.apk
172483 tc-tiny-6.17.0-r1.apk

new size for armsr/armv8:
 43781 ip-bridge-6.18.0-r1.apk
164956 ip-tiny-6.18.0-r1.apk
208578 tc-bpf-6.18.0-r1.apk
210482 tc-full-6.18.0-r1.apk
172664 tc-tiny-6.18.0-r1.apk

Link: https://github.com/openwrt/openwrt/pull/21101
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-12-10 23:18:58 +01:00
Álvaro Fernández Rojas
4e4986aaf6 odhcpd: update to Git HEAD (2025-12-10)
ca00527e5fc3 statefiles: don't write empty hosts files
24b70c5c2ff0 Revert "statefiles: fix escape sequence for broken hostname output"
5203ad13954c statefiles: fix stale pio handling for !ubus
a64760b30f67 odhcpd: rename piofolder to piodir
6779344a8c8a statefiles: use tmpfile functions for pio files
9f8abcc662d0 statefiles: rename prefix information functions
cb65b83e524e config: move pio json handling to statefiles.c
5b01849cc42c statefiles: add a dirfd helper function
eadde3d7dd74 statefiles: add tmp helper functions
c29aa7091498 statefiles: fix escape sequence for broken hostname output
00f2d7a4dbe5 dhcpv4: don't send zero IPv6-only preferred option
c86d29bb83d6 Revert "dhcpv6-ia: add some noise to the T1 and T2 periods"
b062769ab85f Revert "do not delegate ULA prefixes"
fd4714bb2dfe do not delegate ULA prefixes
81ea5bfef775 dhcpv6-ia: add some noise to the T1 and T2 periods

79252ed0c0...ca00527e5f

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
2025-12-10 09:54:21 +01:00
Álvaro Fernández Rojas
46532c9bcb odhcp6c: update to Git HEAD (2025-12-09)
Some checks failed
Build all core packages / Build all core packages for selected target (push) Has been cancelled
5212a1019d75 odhcp6c: clear the socket buffer after initialising it

1d6c4e794c...5212a1019d

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
2025-12-09 22:41:05 +01:00
Petr Štetiar
83f6177dbf
dropbear: enable configurable port forwarding options
Some checks are pending
Build Kernel / Build all affected Kernels (push) Waiting to run
Build all core packages / Build all core packages for selected target (push) Waiting to run
Currently its only possible to disable port forwarding only for specific
keys, via the OpenSSH-style restriction in `authorized_keys` file.

In some use cases it might be feasible to disable such features globally
on service level, so lets add new LocalPortForward and RemotePortForward
config knobs.

Signed-off-by: Petr Štetiar <ynezz@true.cz>
Link: https://github.com/openwrt/openwrt/pull/21071
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2025-12-08 18:53:34 +01:00
Rany Hany
7f05a9af9a hostapd: allow ubus ban client address to be a broadcast address
This will allow del_client with ban_time on a broadcast address
to also ban all clients temporarily.

Signed-off-by: Rany Hany <rany_hany@riseup.net>
Link: https://github.com/openwrt/openwrt/pull/18670
Signed-off-by: Robert Marko <robimarko@gmail.com>
2025-12-08 17:26:07 +01:00
Rany Hany
5d7107ef63 hostapd: add ubus support to disasoc/deauth all wireless STAs
Similar to the hostapd control interface, treat ff:ff:ff:ff:ff:ff
as a stand in for "all clients".

Signed-off-by: Rany Hany <rany_hany@riseup.net>
Link: https://github.com/openwrt/openwrt/pull/18670
Signed-off-by: Robert Marko <robimarko@gmail.com>
2025-12-08 17:26:07 +01:00
Álvaro Fernández Rojas
35dbdd644c odhcp6c: update to Git HEAD (2025-12-06)
Some checks are pending
Build all core packages / Build all core packages for selected target (push) Waiting to run
1d6c4e794cdb src: convert allow_slaac_only to boolean
8cfe71daaad7 src: stop overriding allow_slaac_only values
aac34157167b odhcp6c: drop script_sync_delay override
05aa750fbe44 config: fix default value for allow_slaac_only

f19dd37fb4...1d6c4e794c

Also add myself as maintainer.

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
2025-12-07 11:50:44 +01:00
Goetz Goerisch
6c0ef7d4c8 odhcpd: update to Git HEAD (2025-12-04)
Some checks are pending
Build all core packages / Build all core packages for selected target (push) Waiting to run
63f040e88b12 formal: fix workflow permissions
d970ae0ca4a3 router: improve RA PIO search logic
8fde62a82bdd router: rename router_clear_ra_pio
8b26b0124aed router: remove duplicated PIOs
d354ebb66cdc router: optimize duplicated PIO comparison
79252ed0c0c2 router: skip if branch in PIO clear functions

6fbd70c083...79252ed0c0

Signed-off-by: Goetz Goerisch <ggoerisch@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/21055
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
2025-12-06 17:06:22 +01:00
Álvaro Fernández Rojas
1842735a06 odhcp6c: update to Git HEAD (2025-12-04)
Some checks are pending
Build all core packages / Build all core packages for selected target (push) Waiting to run
f19dd37fb467 odhcp6c: accept EUI64 and random for interface ID
e955729c781f formal: fix workflow permissions
9557d3e245aa vscode: set tabs to 8 whitespaces by default
98dfd156f399 src: fix shadowed local variables

f98b6ec823...f19dd37fb4

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
2025-12-05 19:47:18 +01:00
Goetz Goerisch
316a85ed91 odhcpd: update to Git HEAD (2025-12-01)
Some checks are pending
Build all core packages / Build all core packages for selected target (push) Waiting to run
338ca8abb950 dhcpv4: support IPv6-only preferred (RFC8925)
7336992e6866 dhcpv6-ia: fix a crash when static lease isn't configured
a170d63874f2 src: fix shadowed local variables
90f503fc7ca6 ubus: fix shadow local variable
ef8de928da7f build: enable DHCPV4_SUPPORT and UBUS
def8adea9e6c statefiles: remove hosts entries from statefile
e568bde96e9f odhcpd: remove OAF_BROKEN_HOSTNAME
1fe60e14e468 odhcpd: remove OAF_STATIC
9ae348c07ce0 dhcpv6: remove OAF_TENTATIVE
d0e6bc4d1cc2 odhcpd: remove OAF_BOUND
7fddd3916664 statefiles: change ipv4 MAC statefile syntax
bb2da6dcb58d build: fix BUILD_ARGS
94ef124f726e dhcpv6-ia: fix crash in dhcpv6_free_lease()
6fbd70c08342 build: disable static libraries

d21e504b38...6fbd70c083

Signed-off-by: Goetz Goerisch <ggoerisch@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/21009
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
2025-12-04 08:45:17 +01:00
Rany Hany
0e7a7e62fb wifi-scripts: add beacon_prot and spp_amsdu support
Some checks are pending
Build Kernel / Build all affected Kernels (push) Waiting to run
Build all core packages / Build all core packages for selected target (push) Waiting to run
This adds support for beacon_prot and spp_amsdu in hostapd and
beacon_prot in wpa_supplicant (spp_amsdu is not relevant there).
Both options are disabled by default unless set in the config.

Signed-off-by: Rany Hany <rany_hany@riseup.net>
Link: https://github.com/openwrt/openwrt/pull/20793
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-12-01 00:51:31 +01:00
Rany Hany
c16d83184b wifi-scripts: change wifi-station's mac option into list
In the past PR[1] to add SAE wifi-station support, a commenter[2] requested
that the mac option be changed into a list. After trying to migrate my old
RADIUS setup I found myself wanting this change as well as it would simplify
my config. This patch does precisely that. Old configs that specify
`option mac ....` still work without any issues.

This change was done for both PSK and SAE. The schema was updated as well.

[1]: https://github.com/openwrt/openwrt/pull/17145
[2]: https://github.com/openwrt/openwrt/pull/17145#issuecomment-2523507953

Signed-off-by: Rany Hany <rany_hany@riseup.net>
Link: https://github.com/openwrt/openwrt/pull/17650
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-12-01 00:44:12 +01:00
Rany Hany
cfb976d1d7 wifi-scripts: make ft_iface configurable
This is useful as there are cases where no network is configured
or the configured network is isolated (APs are blocked from
communicating with each other over it). In both cases, it would make
sense to set ft_iface to another interface dedicated to FT over DS
traffic.

Signed-off-by: Rany Hany <rany_hany@riseup.net>
Link: https://github.com/openwrt/openwrt/pull/20797
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-12-01 00:25:16 +01:00
Til Kaiser
7ff854a197 uqmi: skip registration state check if not supported
The Quectel RG255C modem used in the Teltonika RUT976 does not support
the 'Get Serving System' QMI command, returning "Invalid QMI command".
Without this change, the script would fail even though the connection
could be established successfully.

This patch skips the registration state check if the command is not
supported and relies on subsequent checks instead.

Signed-off-by: Til Kaiser <mail@tk154.de>
Link: https://github.com/openwrt/openwrt/pull/20933
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-11-30 23:49:57 +01:00
Álvaro Fernández Rojas
2b3efc300a odhcp6c: update to Git HEAD (2025-11-24)
f98b6ec82362 all: implement RFC8910 §3 URI equality check
3484787e9a5b all: implement RFC8910 captive portal (CP) option
25a0c40580f9 dhcpv6: refactor variable names
165bcc68ef2b dhcpv6: refactor variable names
8f60e7b1833c dhcpv6: refactor variable names
319305fceeef dhcpv6: refactor variable names
dcb53c496513 dhcpv6: assign a new field for prefix exclusion length
080b64d70e73 dhcpv6: refactor variable names
66dd9b26b73a dhcpv6: refactor variable names
f038a50604ae odhcp6c: set environment script to its current location
5f63e7e47dfc github: ci: add MIPS64, PowerPC64 and RISCV64
038407eca8a4 dhcpv6: restart DHCPv6 on receipt of RA containing a new prefix
af9968c0293f dhcpv6: fix processing PIO exclusion loop variable collision
5492f09ec075 odhcp6c: apply draft-ietf-6man-slaac-renum-11 lifetime rules
38a31eb29a48 src: add fallthrough attribute
b46d79c8792c odhcp6c: properly guard attributes

cbc8ff0e62...f98b6ec823

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
2025-11-30 16:46:57 +01:00
Goetz Goerisch
9274e9a733 odhcpd: update to Git HEAD (2025-11-27)
Some checks are pending
Build all core packages / Build all core packages for selected target (push) Waiting to run
4246bbda56d6 dhcpv4: improve pool var naming
407789e5f307 odhcpd: rename union if_addr -> in46_addr
66e7739f7c86 odhcpd: rename prefix -> prefix_len
75dfe0e71050 odhcpd: rename iface->addr4 -> iface->oaddrs4
d619b5ae28a4 dhcpv4: fix no_dynamic_dhcp
e8022eebc8a7 netlink: variable naming cleanup
fca3fee38ea4 netlink: add netmask for IPv4
1c2e8b60809a dhcpv4: simplify pool determination
558fb499c8c2 dhcpv4: rename iface->dhcpv4_local -> iface->dhcpv4_own_ip
ab8b1572247d dhcpv4: remove iface->dhcpv4_mask
af0c94063e66 dhcpv4: remove iface->dhcpv4_bcast
83055f636091 odhcpd: consistent dns naming
0a54ce0d2b57 odhcpd: rename iface->search -> iface->dns_search
a05cc991716c dhcpv4: iface->dhcpv4_router -> iface->dhcpv4_routers
b4ab371c541a config: fix (S)NTP realloc handling
adb2b8a1afff config: fix realloc() handling for the "upstream" option
38b0920e376b config: fix realloc() error handling for "dhcpv6_raw" option
2e1042c6c07f config: handle realloc failure in piofolder parsing
b9db4d7061a0 dhcpv6: handle realloc failure
ae9e22ab3fad netlink: make it clearer that we're handling realloc correctly
d21e504b38ab dhcpv6-ia: fix realloc bug

650a5df88e...d21e504b38

Signed-off-by: Goetz Goerisch <ggoerisch@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/20958
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
2025-11-28 07:55:31 +01:00
Christian Marangi
15f2a8c4f2
ethtool: drop dependency on kernel 6.6
Some checks are pending
Build Kernel / Build all affected Kernels (push) Waiting to run
Build all core packages / Build all core packages for selected target (push) Waiting to run
Since now we default to 6.12 and we dropped any support for kernel 6.6,
drop any dependency on it.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2025-11-27 12:47:43 +01:00
Goetz Goerisch
2418ff90d9 odhcpd: update to Git HEAD (2025-11-23)
Some checks are pending
Build all core packages / Build all core packages for selected target (push) Waiting to run
8a8bb3c1a673 src: consolidate and improve fallthrough
8ffe79e3f086 src: improve attributes
0a4d4e11c91c odhcpd: simplify signal handling
6af938921628 odhcpd: make ubus optional at runtime
7313ba262b76 odhcpd: update devel-build.sh
038a7bbfc30d dhcpv4: simplify random address selection
8c574bd2fe62 dhcpv6: prevent network loop scenario
76b2d00ee5f0 router: Modify relayed RA PIO L and RA M/O flags according to interface policy
d236b2e0c53e github: ci: add MIPS64, PowerPC64 and RISCV64
d1500bb5d64d all: implement RFC8910 captive portal (CP) option
9830e5e2bf37 all: implement RFC8910 captive portal (CP) option for DHCPv4
9b9ea96ca90e statefiles: fix off-by-one-bug
c10784ece29c dhcpv4: replace ToS precedence
24f013500691 dhcvp4: use tmp fd in dhcpv4_setup_interface()
3c32b27d8bab dhcpv4: simplify error handling in dhcpv4_setup_interface()
5b7cfef774fb dhcpv4: define val where it is used in dhcpv4_setup_interface()
b0739f23c310 dhcpv4: add BPF to dhcpv4_setup_interface()
650a5df88eba ndp: correctness fix for BPF filter

Signed-off-by: Goetz Goerisch <ggoerisch@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/20919
[add myself as maintainer]
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
2025-11-26 18:56:19 +01:00
Nick Hainke
09360ef26a wpan-tools: update to 0.10
Release Notes:
https://github.com/linux-wpan/wpan-tools/releases/tag/wpan-tools-0.10

Link: https://github.com/openwrt/openwrt/pull/20920
Signed-off-by: Nick Hainke <vincent@systemli.org>
2025-11-25 14:08:07 +01:00
Rany Hany
c15b85ee04 wifi-scripts: add missing na_mcast_to_ucast default when proxy_arp is disabled
Some checks are pending
Build all core packages / Build all core packages for selected target (push) Waiting to run
Adds missing default value for na_mcast_to_ucast when proxy_arp is not enabled
in order to silence the following msg:

   daemon.notice: netifd: radio1 (xxxx): sh: out of range

Fixes: bcdb29f78f ("wifi-scripts: add na_mcast_to_ucast option")
Reported-by: Antony Kolitsos <zeusomighty@hotmail.com>
Signed-off-by: Rany Hany <rany_hany@riseup.net>
Link: https://github.com/openwrt/openwrt/pull/20806
Signed-off-by: Robert Marko <robimarko@gmail.com>
2025-11-25 11:46:55 +01:00
Rany Hany
2d7a6017f1 wifi-scripts: ucode: fix bug moving to empty wifi-station config
When transitioning from a config with one or more wifi-stations, to a configuration
that has no wifi-station; the file would not be empty/reset and the old wifi-station
entries would remain.

This is because iface_wpa_stations and iface_sae_stations return early if there
are no wifi-stations present, which is an incorrect behavior as it causes the
file to actually have old entries.

'sae_password_file' and 'wpa_psk_file' are also set by default inside
of iface_auth_type to same path as the one used by wifi-station, so it
is indeed going to be set in the config and would contain the old
entries.

This happens with reload and wifi restart. So the only solution
would be to manually remove the file.

Signed-off-by: Rany Hany <rany_hany@riseup.net>
Link: https://github.com/openwrt/openwrt/pull/20700
Signed-off-by: Robert Marko <robimarko@gmail.com>
2025-11-25 11:46:12 +01:00
Rany Hany
e740139302 wifi-scripts: iface should be optional in wifi-station definition
Similar to "wifi-scripts: iface should be optional in wifi-vlan definition"
(98435a3), wifi-station iface should also be optional. By default, it is
supposed to match all interfaces if omitted.

Fixes: https://github.com/openwrt/openwrt/issues/20705
Signed-off-by: Rany Hany <rany_hany@riseup.net>
Link: https://github.com/openwrt/openwrt/pull/20694
Signed-off-by: Robert Marko <robimarko@gmail.com>
2025-11-25 11:45:24 +01:00
Rany Hany
63c146a464 wifi-scripts: ucode: fix wifi-vlan "network" option not working
The call to netifd.set_vlan(...) had an incorrect argument
order. It should be (interface, ifname, vlan) not
(interface, vlan, ifname). This prevented wifi-vlan's
"network" option from working as netifd was not able
to find the wifi-vlan section.

Fixes: https://github.com/openwrt/openwrt/issues/20705
Fixes: https://github.com/openwrt/openwrt/issues/20911
Signed-off-by: Rany Hany <rany_hany@riseup.net>
Link: https://github.com/openwrt/openwrt/pull/20918
Signed-off-by: Robert Marko <robimarko@gmail.com>
2025-11-25 11:44:29 +01:00
Rany Hany
7ea659503a wifi-scripts: ucode: add missing config.auth_type assignment for psk2
This ends up breaking wifi-station and wifi-vlan as it depends on
config.auth_type being either psk or psk-sae. When set to psk2,
this would be unset causing that feature to not work.

See discussion in https://github.com/openwrt/openwrt/issues/20705#issuecomment-3568446006

Signed-off-by: Rany Hany <rany_hany@riseup.net>
Link: https://github.com/openwrt/openwrt/pull/20914
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-11-25 00:37:46 +01:00
Nick Hainke
9c025e510a bpftool: update to 7.6.0
Release Notes:
- https://github.com/libbpf/bpftool/releases/tag/v7.6.0

Link: https://github.com/openwrt/openwrt/pull/20846
Signed-off-by: Nick Hainke <vincent@systemli.org>
2025-11-22 23:11:28 +01:00
Rany Hany
a7790ce410 wifi-scripts: bump reassociation_deadline default to 20000
Some checks are pending
Build all core packages / Build all core packages for selected target (push) Waiting to run
Most users on forums face a broken 802.11r setup when having
a very simple 802.11r config (i.e., just ieee80211r enabled).

In most cases, simply bumping reassociation_deadline to
20000 fixes their problems and allows 802.11r to just work.

Reassociation Deadline is already set to 20 seconds on Cisco
equipment by default[1] which is why this value has been
chosen.

It is also mentioned on the OpenWRT Wiki as a value that should
be changed in order for 802.11r to work on Apple devices. I think
it would be better to change the defaults instead so users don't
have to do much work for a working setup.

[1]: https://www.cisco.com/c/en/us/td/docs/wireless/controller/technotes/80211r-ft/b-80211r-dg.html

Fixes: https://github.com/openwrt/openwrt/issues/7907
Signed-off-by: Rany Hany <rany_hany@riseup.net>
Link: https://github.com/openwrt/openwrt/pull/20799
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-11-19 18:54:27 +01:00
Rany Hany
b947064db4 wifi-scripts: allow rssi_reject_assoc_timeout to be configured
Some checks are pending
Build all core packages / Build all core packages for selected target (push) Waiting to run
Build host tools / Build host tools for linux and macos based systems (push) Waiting to run
This is useful to alter the default ban time after an STA
association is rejected for being below RSSI threshold.

Signed-off-by: Rany Hany <rany_hany@riseup.net>
Link: https://github.com/openwrt/openwrt/pull/20811
Signed-off-by: Robert Marko <robimarko@gmail.com>
2025-11-19 13:57:30 +01:00
Hauke Mehrtens
18cad16f5b wireless-tools: Forward LDFLAGS
Forward the TARGET_LDFLAGS to the linking process.

Link: https://github.com/openwrt/openwrt/pull/20813
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-11-18 23:13:46 +01:00
Hauke Mehrtens
2fc6a143a7 resolveip: Forward LDFLAGS
Forward the TARGET_LDFLAGS to the linking process.

Link: https://github.com/openwrt/openwrt/pull/20813
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-11-18 23:13:45 +01:00
Hauke Mehrtens
f95fd36a2e comgt: Forward LDFLAGS
Forward the TARGET_LDFLAGS to the linking process.

Link: https://github.com/openwrt/openwrt/pull/20813
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-11-18 23:13:45 +01:00
Hauke Mehrtens
f5fade5fbf ead: Forward LDFLAGS
Forward the TARGET_LDFLAGS to the linking process.

Link: https://github.com/openwrt/openwrt/pull/20813
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-11-18 23:13:45 +01:00
Álvaro Fernández Rojas
acdf8a6291 odhcpd: update to Git HEAD (2025-11-14)
Some checks failed
Build all core packages / Build all core packages for selected target (push) Has been cancelled
d3dc577d7e84 dhcpv6-ia: add missing limits header
be7ca7c0792b config: fix memleak during odhcpd reload
366bd81804a6 dhcpv4: update ubus DHCPv4 events/methods
942df078b670 odhcpd: rename dhcpv6_lease->clid[_data|_len]
f872ae543e6d odhcpd: rename [lease_cfg|dhcpv4_lease]->ipaddr to ipv4
aa6870be6be4 dhcpv4: use an AVL to store leases
f2d3f907e9e0 github: ci: add powerpc arch
62b94b9abac3 github: ci: add cmake build and source directories
e523232ba223 github: ci: disable json-c tests
764fda0d05a8 scripts: devel-build: disable json-c tests
f13d2cecaebf netlink: fix typo in debug msg
fa6e63bb8200 src: fix whitespace issues
2c6a9d6e12d4 vscode: enable indentation detection
b6ade2ebc514 odhcpd: add support for "ignore"
77f9a0dad517 statefiles: support per-interface hosts files
9ba4e3e0f5c5 statefiles: don't make hostsfile dependent on statefile
be9c9f895ab4 statefiles: don't write expired leases
f6f2ef2de045 statefiles: simplify statefiles_write_state6()
940ecbb39161 statefiles: write straight to file in statefiles_write_state4()
ebe0b83db6a9 statefiles: correct some comments/variable names
67a6626dd2f5 statefiles: unify host4 writing
bf9889dfcd47 statefiles: unify host6 writing
593b6b72927c statefiles: group functions
8b2a62250485 statefiles: add function to write IPv4 hosts
06904ee1d4fb statefiles: simplify state/host file writing
bb39f088f3ef statefiles: move dhcpv6_ia_enum_addrs() to odhcpd.c
cc614a451f9b statefiles: add dhcpv6_lease to dhcpv6_log_ia_addr() args
8500654e39d5 statefiles: create helper functions to write leases
98276afcff82 statefiles: introduce statefiles_write()
310846535d06 statefiles: use dirfd in dhcpv6_ia_write_statefile()
50c35c3195f2 statefiles: bail early in dhcpv6_ia_write_statefile()
134ec453dd58 statefiles: simplify dhcpv6_ia_write_hostsfile()
7136fbe390a5 dhcpv6-ia: split statefile handling to separate file
2b26df1293c1 src: replace #pragma once with defines
43baf47948c6 src: remove whitespaces at EOL
df1824aec66c vscode: add tab settings
a89b57fa1786 odhcpd: Implement RFC9762 DHCPv6 PD Preferred flag for PIOs
e63ec4001f83 dhcpv4: add support for RFC4361-style clientid
29357349b33a odhcpd: remove the "legacy" option
f6ba8004d699 odhcpd: document the "upstream" option
56c06a162a4f odhcpd: document the "ra_advrouter" option
e3aaf3312cd5 odhcpd: remove the "ra_management" option
5238defd2c1d odhcpd: remove the "pd_manager" and "pd_cer" options
4f20351c3713 odhcpd: remove the "filter_class" option
869e2231bbc9 config: drop iface_attr_info
af446679d112 README.md: add missing options
7d1b081dcb1b dhcpv4: lazy store statefiles

d44af6dd8f...d3dc577d7e

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/20789
2025-11-17 08:14:26 +01:00
Matthias Van Parys
59ecc11ccf hostapd: pass global linker options to CLI tools
The CLI tools hostapd_cli and wpa_cli are compiled with
`TARGET_LDFLAGS_C` rather than the standard `TARGET_LDFLAGS`.
This variable is empty, leading to global linker options not being
applied.

Set this variable equal to `TARGET_LDFLAGS` right after the package.mk
include to make sure global linker options are applied, but local options
such as linking to crypto libraries are not.

Signed-off-by: Matthias Van Parys <matthias.vanparys@softathome.com>
Link: https://github.com/openwrt/openwrt/pull/20345
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-11-16 21:44:49 +01:00
Zhi-Jun You
7ea377ed71 wifi-scripts: ucode: fix init value of config.ht_capab under 20MHz
Currently the path for setting 20MHz doesn't set ht_capab to '' at the
beginning which results in null in ht_capab in hostapd.conf.

Fix this by setting config.ht_capab to '' for 20MHz htmode.

Fixes: #20762

Signed-off-by: Zhi-Jun You <hujy652@protonmail.com>
Link: https://github.com/openwrt/openwrt/pull/20768
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-11-15 19:45:37 +01:00
Álvaro Fernández Rojas
4b1c2fb270 odhcp6c: update to Git HEAD (2025-11-14)
Some checks are pending
Build Kernel / Build all affected Kernels (push) Waiting to run
Build all core packages / Build all core packages for selected target (push) Waiting to run
cbc8ff0e6226 github: ci: add powerpc arch
8eba02233133 github: ci: add cmake build and source directories
5f3104ea17ae github: ci: disable json-c tests
27ff42cd40f9 scripts: devel-build: disable json-c tests
e0a9d02b52d1 dhcpv6: DHCPV6_OPT_INFO_REFRESH contains a 4 byte option
5a02da9c1200 dhcpv6: use compile time resolved sizeof(struct in6_addr) for IPv6 values
cf203ceb3fc8 dhcpv6: set a static define for DUID max length
3627e85d1540 dhcpv6: set static defines for DHCPv6 option header size
ecb9a0243e77 odhcp6c: RFC comments
c284c587d37d all: spell fixes
1259a32d7e4d dhcpv6: dhcpv6_handle_reply switch case handling
227280a37853 dhcpv6: dhcpv6_handle_advert; migrate if blocks to switch case
b253f8907e72 dhcpv6: migrate to switch case for dhcpv6_handle_reply
61a54db802cb dhcpv6: migrate to switch case for dhcpv6_handle_reply
49c64bbe00ba all: drop CER_ID
16ce83075b2e dhcpv6: refactor u8 and u16 to u32 to avoid boolean coercion

e5690c1f13...cbc8ff0e62

Options related to homenet (EXT_CER_ID) have been removed, so drop them from
the package.

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/20791
2025-11-15 16:41:29 +01:00
Rany Hany
6df060ba4a wifi-scripts: ucode: create wpa_psk_file and sae_password_file when needed
This handles the case when 'wpad' or 'wpad-mini' package is used which is
missing WPA3 support. This makes it impossible to use ucode wifi-scripts
on such APs as it will raise an error:

   daemon.err hostapd: Line 87: unknown configuration item 'sae_password_file'

This also achieves parity with what is currently happening with old wifi-scripts.
The behavior now matches.

Fixes: https://github.com/openwrt/openwrt/issues/20781
Signed-off-by: Rany Hany <rany_hany@riseup.net>
Link: https://github.com/openwrt/openwrt/pull/20784
Signed-off-by: Robert Marko <robimarko@gmail.com>
2025-11-15 11:13:36 +01:00
Felix Fietkau
92445cc982 wifi-scripts: respect rsn_override=0 in mixed modes
Only set rsn_override_key_mgmt when rsn_override is enabled.

Reported-by: Michael-cy Lee (李峻宇) <Michael-cy.Lee@mediatek.com>
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2025-11-13 12:41:42 +00:00
Felix Fietkau
ff44aa490a wifi-scripts: only enable RSN override when parameters differ
When encryption is set to 'sae' without explicit pairwise cipher in
non-HE/EHT mode, both the main RSNE and override RSNE would advertise
identical parameters (SAE+CCMP+MFP=2), adding unnecessary overhead.

Check that the pairwise ciphers differ before enabling override. This
preserves the intended behavior for HE/EHT modes (GCMP-256+CCMP vs CCMP)
while avoiding pointless override IEs.

Reported-by: Michael-cy Lee (李峻宇) <Michael-cy.Lee@mediatek.com>
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2025-11-13 12:26:59 +00:00