Commit graph

2234 commits

Author SHA1 Message Date
John Crispin
b44d4290fe hostapd: add raw beacon report data to ubus notification
Add the complete base64-encoded beacon report structure to the
"beacon-report" ubus notification event.

Signed-off-by: John Crispin <john@phrozen.org>
2026-01-26 17:46:16 +00:00
John Crispin
79cd45ddee hostapd: add association frame to taxonomy data
Extend the taxonomy subsystem to capture the complete association frame
in addition to the existing probe and association IE data.

This adds a new assoc_frame_taxonomy field to struct sta_info and exposes
it via the get_sta_ies ubus method as a base64-encoded "assoc_frame" field.

Signed-off-by: John Crispin <john@phrozen.org>
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2026-01-26 17:46:16 +00:00
John Crispin
c1492838f7 hostapd: add reporting detail support to RRM beacon request
Extend the hostapd_rrm_beacon_req ubus method to support the optional
reporting_detail parameter as defined in IEEE 802.11-2016 section 9.4.2.21.7.

Also fix missing assignment operators (=) in the beacon_req_policy array
initialisation.

Signed-off-by: John Crispin <john@phrozen.org>
2026-01-26 17:46:16 +00:00
Felix Fietkau
6fb3e95baa hostapd: fix beacon_req_policy syntax issues
Use the correct syntax for array element assignment

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2026-01-26 17:46:16 +00:00
Paweł Owoc
7a5aa24706 odhcpd: update to Git HEAD (2026-01-19)
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
5a13d875ac71 dhcpv6: set static defines for DHCPv6 option header size
9857adb8ac99 dhcpv6-ia: switch case refactor in dhcpv6_handle_ias()
3cbbea830ddd netlink: clean up sockets, close files
13ef483716a5 dhcpv4: de-escalate error logging to debug

3fda5f8b12...13ef483716

Signed-off-by: Paweł Owoc <frut3k7@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/21636
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
2026-01-25 19:29:20 +01:00
gongzi miao
3af12632ef dnsmasq: bump release to 2.92
Some checks are pending
Build all core packages / Build all core packages for selected target (push) Waiting to run
bump dnsmasq to latest 2.92

updated 200-ubus_dns.patch
no changes to 100-remove-old-runtime-kernel-support.patch
all remaining patches not required

Changelog for version 2.92 https://thekelleys.org.uk/dnsmasq/CHANGELOG

Signed-off-by: gongzi miao <miaogongzi0227@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/21598
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2026-01-22 20:55:32 +01:00
Thomas Perale
dd519f6c05 ppp: update deprecated cpe
The CPE 'samba:ppp' added in OpenWrt commit [1], has been deprecated in
favour of 'point-to-point_protocol_project:point-to-point_protocol'
(see [2]).

[1] c61a239514 add PKG_CPE_ID ids to package and tools
[2] https://nvd.nist.gov/products/cpe/detail/1224B76D-6BB3-4088-9F42-23AC04A764F2

Signed-off-by: Thomas Perale <thomas.perale@mind.be>
Link: https://github.com/openwrt/openwrt/pull/21441
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2026-01-11 00:16:11 +01:00
Felix Fietkau
bdc3c1a820 unetmsg: remove redundant socket close
channel.disconnect() already closes the fd via ubus_shutdown(),
so calling socket.close() afterwards is redundant and causes EBADF.

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2026-01-05 12:43:40 +01:00
Felix Fietkau
8a304d051f unetmsg: add timeout for outgoing auth requests
Add a 10-second timeout for outgoing auth requests to prevent
connections from getting stuck when the remote peer goes silent
after the hello handshake but before responding to auth.

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2026-01-05 12:43:40 +01:00
Felix Fietkau
f631d1576d unetmsg: add null check in TX disconnect callback
The network may be deleted before the disconnect callback fires.
Check for null to avoid crash when accessing net.tx_channels.

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2026-01-05 12:43:40 +01:00
Eric Fahlgren
ded99c2984 treewide: add explicit default variant part 2
Some checks are pending
Build all core packages / Build all core packages for selected target (push) Waiting to run
Add 'DEFAULT_VARIANT' to two packages, 'iw' and 'eapol-test',
that were missed in the first pass.  Refactor 'iw' and 'ethtool'
package definitions to be consistent with the pattern used in most
other packages.

Fixes: https://github.com/openwrt/openwrt/commit/f4fdb996
Fixes: https://github.com/openwrt/openwrt/commit/7a78dc4a
Signed-off-by: Eric Fahlgren <ericfahlgren@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/21380
Signed-off-by: Robert Marko <robimarko@gmail.com>
2026-01-04 11:25:12 +01:00
Felix Fietkau
e782341848 unetmsg: fix variable shadowing bug in network_rx_cleanup_state()
Some checks are pending
Build all core packages / Build all core packages for selected target (push) Waiting to run
The for-in loop variable 'name' was shadowing the function parameter,
causing remote subscription cleanup to fail when hosts disconnect.

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2026-01-02 20:20:16 +01:00
Yanase Yuki
f92ee7a8e5 treewide: switch to HTTPS URL
Avoids insecure plain HTTP.

Signed-off-by: Yanase Yuki <dev@zpc.st>
Link: https://github.com/openwrt/openwrt/pull/21279
Signed-off-by: Robert Marko <robimarko@gmail.com>
2026-01-02 18:07:02 +01:00
Eric Fahlgren
f4fdb9964a treewide: add explicit default variant
Some checks are pending
Build all core packages / Build all core packages for selected target (push) Waiting to run
Some packages with variants did not specify the default among the
alternatives, so were left without any apk 'provider_priority'
for that package.  This caused the apk solver to select the wrong
variant, silently changing the requested package list.

Notable among these were busybox, procd and the hostapd/wpad suite.
This behavior presented in the imagebuilders when creating the
image as follows, silently replacing packages even when explicitly
requested:

    $ make image PACKAGES=busybox
    ...
    ( 14/148) Installing busybox-selinux (1.37.0-r6)
    ...

We add 'DEFAULT_VARIANT:=1' to the packages that were missing one,
providing apk with sufficient information to choose the correct
package.

See link below for further examples and discussion.

Link: https://github.com/openwrt/openwrt/pull/21288#issuecomment-3704101422
Signed-off-by: Eric Fahlgren <ericfahlgren@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/21358
Signed-off-by: Robert Marko <robimarko@gmail.com>
2026-01-02 14:46:30 +01:00
Álvaro Fernández Rojas
caef0a839a odhcpd: update to Git HEAD (2025-12-18)
Some checks failed
Build all core packages / Build all core packages for selected target (push) Has been cancelled
3fda5f8b121b dhcpv6-ia: reconfigure message length bug fix
6152cf5dab49 all: remove dead code

1450e1e2b7...3fda5f8b12

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
2025-12-18 21:24:09 +01:00
Álvaro Fernández Rojas
3b58539817 odhcpd: update to Git HEAD (2025-12-14)
1450e1e2b7ff odhcpd: remove fallback DNS search domain
5b0e5c412f6c router: remove some log spam in send_router_advert()
eddd0f8f0d00 router: improve send_router_advert()
35f0e05a16a0 config: add default value for dhcpv6_pd_min_len
62113d007a6a config: allow minimum PD len up to 64
03c1468355c0 Revert "router: optimize duplicated PIO comparison"
6b88c314a59e statefiles: don't consider no hostname as broken

cf51aeb932...1450e1e2b7

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
2025-12-17 23:34:42 +01:00
Petr Štetiar
70a4da1ceb
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>
2025-12-17 03:57:50 +00:00
Álvaro Fernández Rojas
ff4546093e odhcpd: update to Git HEAD (2025-12-13)
Some checks failed
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
Build host tools / Build host tools for linux and macos based systems (push) Has been cancelled
cf51aeb93220 odhcpd: fix captive_portal_uri reset
e8b7fdea8d5e dhcpv4: fix DNS server option
b84553e496a3 router: Modify relayed RA PIO P flag according to interface policy
da3e2a9829cc router: Modify relayed RA PIO A flags according to interface policy
bad7138b70f0 README.md: update dhcp ubus events

ca00527e5f...cf51aeb932

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

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
2025-12-13 13:01:45 +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
Á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
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
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
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
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
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
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
Felix Fietkau
e81936f5bc hostapd: fix phy parameter in iface_update_supplicant_macaddr
The function was using phydev.name (e.g., "phy0.0") instead of
phydev.phy (e.g., "phy0") when calling wpa_supplicant.phy_set_macaddr_list.
This is inconsistent with all other wpa_supplicant ubus calls in the same
file which correctly use phydev.phy.

Reported-by: Michael-cy Lee (李峻宇) <Michael-cy.Lee@mediatek.com>
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2025-11-13 12:02:55 +00:00
Felix Fietkau
2fb3cbda58 wpa_supplicant: fix MAC address assignment for MLD interfaces
Assign the address at wdev create time, similar to legacy interfaces.

Reported-by: Michael-cy Lee (李峻宇) <Michael-cy.Lee@mediatek.com>
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2025-11-13 11:56:39 +00:00
David Härdeman
a88a19982d odhcpd: update Makefile description
Some checks are pending
Build all core packages / Build all core packages for selected target (push) Waiting to run
Make it a little bit more consistant, and a bit more idiomatic.

Signed-off-by: David Härdeman <david@hardeman.nu>
Link: https://github.com/openwrt/openwrt/pull/20673
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
2025-11-10 12:58:15 +01:00
David Härdeman
002e22b069 odhcpd: update Makefile, remove homenet
The support has been removed from odhcpd, so remove the Makefile options
related to homenet.

Signed-off-by: David Härdeman <david@hardeman.nu>
Link: https://github.com/openwrt/openwrt/pull/20673
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
2025-11-10 12:53:25 +01:00
David Härdeman
781b04a84f odhcpd: reload on change to service/network cfg
"system" is used to get the current time zone, "network" is used to get
the global DUID.

Signed-off-by: David Härdeman <david@hardeman.nu>
Link: https://github.com/openwrt/openwrt/pull/20673
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
2025-11-10 12:53:11 +01:00
David Härdeman
9be4970581 odhcpd: remove legacy option
Support for this option has been removed from odhcpd, so remove it in
the defaults as well.

Signed-off-by: David Härdeman <david@hardeman.nu>
Link: https://github.com/openwrt/openwrt/pull/20673
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
2025-11-10 12:52:39 +01:00
Andy Chiang
7079e456ad ppp: add reqprefix norelease ac_mac
Some checks are pending
Build all core packages / Build all core packages for selected target (push) Waiting to run
Use ppp and enable autoipv6, odhcp6c supports reqprefix and norelease to minimize the chance of IPv6 PD changes.[1]
PPPoE supports connecting to a specific AC/BRAS by using the pppoe-mac parameter.[2]

1. https://github.com/openwrt/openwrt/blob/master/package/network/ipv6/odhcp6c/files/dhcpv6.sh#L67
   https://github.com/openwrt/openwrt/blob/master/package/network/ipv6/odhcp6c/files/dhcpv6.sh#L77
2. https://github.com/ppp-project/ppp/blob/master/pppd/plugins/pppoe/plugin.c#L93

Signed-off-by: Andy Chiang <AndyChiang_git@outlook.com>
Link: https://github.com/openwrt/openwrt/pull/19978
Signed-off-by: Robert Marko <robimarko@gmail.com>
2025-11-09 16:17:01 +01:00
Marko Zajc
38753dea64 dnsmasq: prevent upstream resolution of addresses
Some checks are pending
Build all core packages / Build all core packages for selected target (push) Waiting to run
`list address` entries in /etc/config/dhcp are sometimes (I'm not sure
about the exact conditions) passed to upstream resolver, bypassing local
resolution. Adding them (minus the IP) to --local prevents this. In the
configuration, this means that

    # /etc/config/dhcp
    list address '/hello.com/world.com/1.2.3.4'
    list address '/foo.com/bar.com/4.3.2.1'

which previously translated into

    # /var/etc/dnsmasq.conf.*
    address=/hello.com/world.com/1.2.3.4
    address=/foo.com/bar.com/4.3.2.1

now becomes

    # /var/etc/dnsmasq.conf.*
    address=/hello.com/world.com/1.2.3.4
    local=/hello.com/world.com/
    address=/foo.com/bar.com/4.3.2.1
    local=/foo.com/bar.com/

This behaviour is controlled by the `address_as_local` boolean option, which
defaults to false (old behaviour). openwrt/luci#7957 adds support for this flag
to LuCI.

A workaround for a small list of domains is to add them to `option local`,
but this is very tedious to do for every `list address` entry and dnsmasq
limits this option to 1024 characters.

Signed-off-by: Marko Zajc <marko@zajc.tel>
Link: https://github.com/openwrt/openwrt/pull/18610
Signed-off-by: Robert Marko <robimarko@gmail.com>
2025-11-07 15:23:25 +01:00
Felix Fietkau
6bb30afe2f wpa_supplicant: pass control events on the per-interface ubus object
Events are passed in the same format as they would be sent on the control
socket.

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2025-11-06 11:23:03 +00:00
Álvaro Fernández Rojas
dbbfe52568 odhcpd: update to Git HEAD (2025-11-04)
Some checks are pending
Build all core packages / Build all core packages for selected target (push) Waiting to run
d44af6dd8f4e dhcpv6: create struct dhcpv6_lease
4df45c8c3722 dhcpv4: create struct dhcpv4_lease
a6dccae41b60 odhcpd: struct lease -> struct lease_cfg
fc0abb66f122 dhcpv4: use leasetime from a->lease
74eeff193848 router: always use link-local src address for RAs
b9a071b8341f router: Rewrite the ingress MTU to one configured for the interface
1ef9e0e610d5 router: utilize interface ra_mtu for RA
1480c09ee0aa config: clamp ra_mtu to interface MTU, and default ra_mtu to interface MTU
ee4f0df6bd68 netlink: Store interface MTU at link change
d174e25e85a1 github: fix CI apt dependencies
8f393d55a76e odhcpd: more fixes for IID calculations

fc27940fe9...d44af6dd8f

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
2025-11-04 12:38:03 +01:00
Felix Fietkau
e373a32a7c wpa_supplicant: use a timer to defer starting interfaces
Some checks failed
Build all core packages / Build all core packages for selected target (push) Has been cancelled
This allows wpa_supplicant to process pending netlink socket messages
first. Without this change, there is a race condition where the newly
created interface processes netlink events from the removal of the
previous interface.

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2025-10-31 21:22:35 +01:00
Felix Fietkau
3ab2f32006 wpa_supplicant: add support for issuing control socket commands via ubus
This makes it possible to have more flexible control over the supplicant
without having to install wpa_cli.

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2025-10-31 21:22:35 +01:00
Felix Fietkau
0d189171e1 wpa_supplicant: move per-interface ubus object to ucode
Remove previous implementation

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2025-10-31 21:22:35 +01:00
Christian Marangi
afb83c8197
unetmsg: drop usage of AUTORELEASE
AUTORELEASE has been deprecated from a long time. Drop it and hardcode
the release following the current one present in the downloads
repository.

Link: https://github.com/openwrt/openwrt/pull/20586
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2025-10-29 21:09:56 +01:00
Álvaro Fernández Rojas
3696241d3a odhcpd: update to Git HEAD (2025-10-26)
Some checks are pending
Build all core packages / Build all core packages for selected target (push) Waiting to run
fc27940fe993 dhcpv6: support a configurable DUID
ae16476bcad2 dhcpv6-ia: split reconf_msg struct into partial structs
a3bf57a39958 dhcpv6: split clientid to a separate struct
14da3727ac0c dhcpv6-ia: simplify/fix IID calculations
f49574e42e78 odhcpd: change "-c" cmd line arg to take a dir
0900202c2754 dhcpv4: dhcpv4_lease() - clarify which variables are requests
2c1e6e7c3ebf dhcpv4: dhcpv4_lease() - simplification
48487aedead8 dhcpv4: dhcpv4_lease() - convert to switch statement
3ad54baa4adc dhcpv4: dhcpv4_assign() - explain address assignment
fab8f67818e6 dhcpv6: send timezone only when client requests

0d0fac3007...fc27940fe9

Fixes: 28bb40caaf ("odhcpd: update to Git HEAD (2025-10-22)")
Link: https://github.com/openwrt/openwrt/pull/20559
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
2025-10-27 08:04:53 +01:00
Paul Donald
5a949cb5f9 odhcpd: set procd expected variable for odhcpd update script
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
Otherwise odhcpd logs:

```
odhcpd[14970]: Sent 113 bytes to xxx%lan@br-lan
BusyBox v1.37.0 (2025-10-10 09:07:48 UTC) multi-call binary.

Usage: basename FILE [SUFFIX] | -a FILE... | -s SUFFIX FILE...

Strip directory path and SUFFIX from FILE

        -a              All arguments are FILEs
        -s SUFFIX       Remove SUFFIX (implies -a)
odhcpd[14970]: Netlink newneigh xxx on lan
```

Apparently procd scripts expect initscript set.

h/t @Alphix for finding this.

Signed-off-by: Paul Donald <newtwen+github@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/20485
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
2025-10-23 16:35:44 +02:00
Álvaro Fernández Rojas
28bb40caaf odhcpd: update to Git HEAD (2025-10-22)
Some checks are pending
Build all core packages / Build all core packages for selected target (push) Waiting to run
0d0fac30075f dhcpv4: bump problem scenario up to warn
bf6137092346 config: properly set log level from uci
7956f4271b4e dhcpv6: RFC4833 timezones
7000557cd8f6 dhcpv6-ia: respect prefix assigned to interface (>= /64)
e1e60601ffeb odhcpd: improve odhcpd_urandom()
c2eb4b59f107 config: fix erroneous clamp message if clamp value == max
54b9e729b00d dhcpv4: bail earlier on release/decline
417f4b11d352 dhcpv4: don't hardcode options array length
d63fa3c3612c dhcpv4: shrink struct dhcpv4_message
9653b43617e3 dhcpv4: use iovec for forcereconf messages, fix hash
bf41f4edfbe3 dhcpv4: fix padding of iovec message in dhcpv4_handle_msg()
be68f423c528 dhcpv4: some minor cleanups post-iovec
e24a371ef714 dhcpv4: use iovec for forcerenew opts
bd353e891ae6 dhcpv4: use iovec for router and DNS server
b81cfaa7859e dhcpv4: use iovec for DNS search and MTU
578a9289440b dhcpv4: use iovec for netmask/hostname/broadcast
5bafc17b79d8 dhcpv4: use iovec for leasetime/renew/rebind
b63448ffe447 dhcpv4: introduce a reply_opts array
0533eaea0a94 dhcpv4: use iovec for DNR
6329e37d595d dhcpv4: use iovec for NTP
87fee619205d dhcpv4: use iovec for message and serverid
2f97bf0b56de dhcpv4: reorder some more variables in dhcpv4_handle_msg()
18c1b02bdc20 dhcpv4: remove one more variable from dhcpv4_handle_msg()
6fd691ff29cd dhcpv4: move dest handling from dhcpv4_handle_msg()
1f803caf9a1f dhcpv4: don't copy reqopts around
b1be3984ebf8 dhcpv4: more refactoring of dhcpv4_handle_msg()
85717bedf8ce dhcpv4: clarify variable names in dhcpv4_handle_msg()
be864ccf9919 dhcpv4: some more cleanups to dhcpv4_handle_msg()
f87464520564 dhcpv4: preparations for iovec usage
f48e1c205af3 odhcdp: use a more suitable clock
7e78caac4eae dhcpv6: change dhcpv6 message type check in relay
288abd9c4046 dhcpv6: move dhcpv6 message type check for early exit
d504458ef515 odhcpd: add a simple build script
4ee309a54011 github: improve CI
ff3a241ccc98 odhcpd: shrink binary size by creating a logging function
e2ecf7ba6d72 odhcpd: support stderr logging
5de3b0d5b509 odhcpd: add log helpers
398d03a1a236 config: cap dhcpv6_pd_min_len to max instead of only logging error
4f54738d3ae7 config: clamp dhcpv6_hostid_len instead of only logging an error
465f19c9c2e3 config: clamp ra_mtu into 1280-65535 range
434b06133997 config: cap ra_retranstime and warn instead of only logging an error
e5f58a90a147 config: cap ra_hoplimit to maximum and warn instead of logging an error
208eb10307c1 config: cap ra_reachabletime to RFC maximum instead of logging error
93449f1513b4 config: drop double size lease times; they are all UINT32_MAX;
439c0ceab131 router: redefine ra_mininterval and ra_maxinterval as uint32_t
84b4dfe81363 config: clamp ra_mininterval, ra_maxinterval, ra_lifetime at load time
aa4f26232e05 router: refactor calc_ra_lifetime; redefine ra_lifetime as uint32_t
6ece28ffd475 config: do MaxRtrAdvInterval init at (ra_maxinterval) init time
dc03e02d973e router: Apply updated values from RFC9096 (updates RFC4861) to RA/ND
cc7766c12abe router: Apply updated values from RFC8319 (updates RFC4861) to RA/ND
964da13e758c config: refactor parse_leasetime() - branch amount remains same
9646c749467b github: fix CMAKE_SYSTEM_PROCESSOR copy&paste
288206c9a2ed github: add CI build
30780debd691 odhcpd: fix a compilation error
e0b2c3cf9476 odhcpd: allow assignments to be reassigned
01e5e311b0db odhcpd: support multiple per-client DUIDs
aebc647a6b7b odhcpd: support assignments on the basis of IAID
cc3ec9c20c61 odhcpd: support IAIDs for static DHCPv6 leases
e42c62725942 odhcpd: break up complex matching logic
e1123906a4bc odhcpd: document the ubus interface
c69200195263 dhcpv4: generate dbus events on lease expiry
dd7a2d474d0d dhcpv4: fix ubus events
22481d848e0d odhcpd: remove mac_len argument to ubus_bcast_dhcp_event()
d31d64efd56c odhcpd: fix ubus support flag in help msg
9bc1b4e26e10 odhcpd: reduce use of WITH_UBUS defines in code
d402cdae4316 ndp: fix macOS IPv6 compatibility by using link-local source addresses

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
2025-10-23 08:03:37 +02:00
Felix Fietkau
7e7977afb5 bridger: fix mirror download hash
Some checks are pending
Build all core packages / Build all core packages for selected target (push) Waiting to run
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2025-10-22 13:42:58 +02:00
Felix Fietkau
daf811064b bridger: update to Git HEAD (2025-10-21)
Some checks are pending
Build all core packages / Build all core packages for selected target (push) Waiting to run
2d74a362c9c3 nl: always return NL_SKIP in bridge_nl_error_cb
c3ed437a72cf Revert "nl: add missing dump flag for RTM_GETTFILTER"
f67fc970b4e3 bridger: add VLAN state verification
e5b44387e0c5 bridger: add port state verification
f994af459375 bridger: reject tagged packets on non-member VLANs
e8d350f6ebe8 bridger: clear PVID when rebuilding VLAN list
50f43ce637a1 flow: add VLAN 0 fallback for local FDB entries
76fb17f2c6c7 device: verify PVID membership for untagged packets
d862c053fef1 flow: add egress VLAN membership verification
4dc5182c95a2 flow: reject flows on VLANs with tunnel information
a3b08aa510e1 flow: only refresh the input fdb entry of active flows
bf2c9636b51f nl: increase netlink socket buffer size
95125f0b0be5 flow: reject pending flows with mismatched fdb device

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2025-10-22 10:20:53 +02:00
Felix Fietkau
d924a0cff8 hostapd: fix a use-after-free bug when interfaces are removed during a scan
Some checks are pending
Build all core packages / Build all core packages for selected target (push) Waiting to run
Whenever the first bss is removed, any pending scan still keeps a reference
to it. Cancel it in order to prevent use-after-free bugs.

Reported-by: Chad Monroe <chad.monroe@adtran.com>
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2025-10-21 10:24:16 +02:00