Commit Graph

955 Commits

Author SHA1 Message Date
Wei-Ting Yang
8ef981698e util-linux: add wdctl
Add the wdctl utility.

Signed-off-by: Wei-Ting Yang <williamatcg@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/19041
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-06-21 14:13:44 +02:00
Wei-Ting Yang
695548128f util-linux: remove redundant slashes
Remove redundant slashes.

Signed-off-by: Wei-Ting Yang <williamatcg@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/19041
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-06-21 14:04:20 +02:00
Felix Fietkau
bbd95c0523 ucode: add ubus refcounting fix
Fixes a regression in the last ucode update

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2025-06-20 22:54:32 +02:00
Felix Fietkau
e4c3c236b8 ucode-mod-bpf: switch to ucv_resource_create_ex
On map/program resource, hold references to the module in order to avoid
closing it prematurely.

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2025-06-13 10:16:06 +02:00
Felix Fietkau
64570766cb ucode: update to Git HEAD (2025-06-09)
54b00e3b1fa9 ubus: fix double registry clear on disconnect
69521b55855c ubus: fix use-after-free on deferred request reply() method
22e8c16d9deb debug: fix crash when passing tagged string to getinfo()
2c9eea5174d6 ubus: use ucv_resource_create_ex for connections/channels
0a4cf4b7e71a ubus: use ucv_resource_create_ex for for ubus.request resources
99ee75a69cd3 ubus: use ucv_resource_create_ex for ubus.deferred resources
f085a42b977f ubus: use ucv_resource_create_ex for objects
94ad17d13a0d ubus: use ucv_resource_create_ex for ubus.notify resources
a3fa47fdda3e ubus: use ucv_resource_create_ex for ubus.listener resources
9ab5fa869dec ubus: use ucv_resource_create_ex for ubus.subscriber resources
be92ebd70633 CI: debian: install cmake package
fd202fd40bd1 socket: respect port argument in sockinst.connect()
767c209b917b socket: properly handle async `connect(2)` errors in socket.connect()
37ac8f112af6 socket: improve port argument validation in sockinst.connect()

Fixes: https://github.com/jow-/ucode/issues/302
Fixes: https://github.com/jow-/ucode/issues/303
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2025-06-13 10:16:06 +02:00
David Bauer
b393689839 zyxel-bootconfig: fix indentation
Signed-off-by: David Bauer <mail@david-bauer.net>
2025-06-11 18:39:55 +02:00
John Audia
f831b9d967 f2fs-tools: fix building with GCC 15.1
Add a patch in order to fix it.

Signed-off-by: John Audia <therealgraysky@proton.me>
Link: https://github.com/openwrt/openwrt/pull/18991
Signed-off-by: Robert Marko <robimarko@gmail.com>
2025-06-08 12:41:15 +02:00
Felix Fietkau
6296c17026 cli: return the correct data type for enum attributes
Return entries from the value array instead of the provided string

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2025-05-31 16:23:47 +02:00
Felix Fietkau
71bec727c8 cli: fix dealing with enum types with object value lists
Convert to array before calling filter()

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2025-05-31 16:22:46 +02:00
Antti Seppälä
c70f842da3 adb: Switch to mbedtls
Currently adb uses libopenssl for certain authentication tasks between
the host and the target device such as certificate generation, hashing,
base64 encoding and pki signatures.

Add a patch to use functionalities available in mbedtls instead.

Also switch package makefile and dependency to libmbedtls and drop
patches and references to lib{crypto,openssl} as they are no longer
required.

This conserves considerable amount of space on the device as openwrt
ships with libmbedtls by default.

Signed-off-by: Antti Seppälä <a.seppala@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/18819
Signed-off-by: Robert Marko <robimarko@gmail.com>
2025-05-24 21:32:25 +02:00
Mieczyslaw Nalewaj
a238170e57 treewide: strip trailing whitespace
Strip trailing whitespace in all code:
find . -type f | grep "\.c$" | xargs sed -i 's/[ \t]\+$//'
find . -type f | grep "\.h$" | xargs sed -i 's/[ \t]\+$//'
find . -type f | grep "\.dts$" | xargs sed -i 's/[ \t]\+$//'
find . -type f | grep "\.dtsi$" | xargs sed -i 's/[ \t]\+$//'

Signed-off-by: Mieczyslaw Nalewaj <namiltd@yahoo.com>
Link: https://github.com/openwrt/openwrt/pull/18626
Signed-off-by: Robert Marko <robimarko@gmail.com>
2025-05-20 00:47:37 +02:00
Felix Fietkau
87bfde67f2 ucode: ubus: fix use-after-free on deferred request reply() method
Hold a reference to the defer resource as long as it is still needed

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2025-05-12 12:47:20 +02:00
Felix Fietkau
2a9316fbfb ucode: update to Git HEAD (2025-05-11)
567207a9bf16 fs: implement fileno() on directory handles
eb1d93235509 fs: support passing directory handle or fd in chdir()
38a2254337f1 build: detect whether toolchain employs default source fortification
6eddfc9dff17 resolv: fix fd leak in send_queries
3d36856b2dc5 uci: fix memory leak on cursor() error
aafde95f1ecf uci: add cursor() flags argument
d8cebc5a6bfd Revert "WIP: lib: support map() over objects"
2599cf80736b zlib: incorporate latest PR changes
830f316a7e49 socker: let sock.peercred() clear error on success
4cbac141406e types: rename u64_to_constant flag to ext_flag
d802fe5da5cd types: add support for resources with embedded data/values
71b4fdc6f60b types: add support for setting resource persistent flag
141f799eba08 uloop: use container_of instead of direct pointer casts
1396f8f2988d uloop: use uc_fn_thisval
9a121fc7440c uloop: drop object_registry
11b804d97086 socket: do not clear last_error in socket.error()
d5b3a9dc1091 socket: add strerror() method

Fixes: https://github.com/jow-/ucode/issues/285
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2025-05-11 15:26:08 +02:00
Felix Fietkau
eaab68be92 ucode: add fix for double registry clear on channel disconnect
Avoid clobbering registry items of unrelated connections.

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2025-05-09 12:05:11 +02:00
Felix Fietkau
0b4ddeed5e ucode-mod-uline: re-introduce polling loop to fix prompt after line end
Introduce a check for the resource data in order to avoid segfaulting
on exit

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2025-05-07 17:22:56 +02:00
Zoltan HERPAI
faef19c22c dns320l-mcu: fix compilation with GCC14
Bump version to fix compiling with GCC14.

This fixes the following compile problem:
```
dns320l-daemon.c: In function 'main':
dns320l-daemon.c:740:18: error: implicit declaration of function 'isprint' [-Wimplicit-function-declaration]
  740 |         else if (isprint (optopt))
      |                  ^~~~~~~
dns320l-daemon.c:50:1: note: include '<ctype.h>' or provide a declaration of 'isprint'
   49 | #include "dns320l-daemon.h"
  +++ |+#include <ctype.h>
   50 |
dns320l-daemon.c:799:5: error: implicit declaration of function 'umask' [-Wimplicit-function-declaration]
  799 |     umask(0);
      |     ^~~~~
dns320l-daemon.c:864:5: error: 'return' with no value, in function returning non-void [-Wreturn-mismatch]
  864 |     return;
      |     ^~~~~~
dns320l-daemon.c:691:5: note: declared here
  691 | int main(int argc, char *argv[])
      |     ^~~~
```

Link: https://github.com/openwrt/openwrt/pull/18688
Signed-off-by: Zoltan HERPAI <wigyori@uid0.hu>
2025-05-03 22:57:11 +02:00
Hauke Mehrtens
b77684d2c1 dns320l-mcu: Fix compilation with GCC 14
This fixes the following compile problem:
```
dns320l-daemon.c: In function 'main':
dns320l-daemon.c:740:18: error: implicit declaration of function 'isprint' [-Wimplicit-function-declaration]
  740 |         else if (isprint (optopt))
      |                  ^~~~~~~
dns320l-daemon.c:50:1: note: include '<ctype.h>' or provide a declaration of 'isprint'
   49 | #include "dns320l-daemon.h"
  +++ |+#include <ctype.h>
   50 |
dns320l-daemon.c:799:5: error: implicit declaration of function 'umask' [-Wimplicit-function-declaration]
  799 |     umask(0);
      |     ^~~~~
dns320l-daemon.c:864:5: error: 'return' with no value, in function returning non-void [-Wreturn-mismatch]
  864 |     return;
      |     ^~~~~~
dns320l-daemon.c:691:5: note: declared here
  691 | int main(int argc, char *argv[])
      |     ^~~~
```

Link: https://github.com/openwrt/openwrt/pull/18688
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-05-03 22:04:13 +02:00
Robert Marko
e5da961ac4 policycoreutils: update to 3.8.1 and fix build with GCC14
Update policycoreutils to latest 3.8.1 release and add a fix for building
with GCC14 and musl.

Fix will be sent upstream.

Link: https://github.com/openwrt/openwrt/pull/18674
Signed-off-by: Robert Marko <robimarko@gmail.com>
2025-05-02 19:15:42 +02:00
Robert Marko
ba27d15f7b secilc: update to 3.8.1
Update secilc to latest 3.8.1 release.

Link: https://github.com/openwrt/openwrt/pull/18674
Signed-off-by: Robert Marko <robimarko@gmail.com>
2025-05-02 19:15:42 +02:00
Robert Marko
cad4447a36 checkpolicy: update to 3.8.1
Update checkpolicy to latest 3.8.1 release.

Link: https://github.com/openwrt/openwrt/pull/18674
Signed-off-by: Robert Marko <robimarko@gmail.com>
2025-05-02 19:15:42 +02:00
Felix Fietkau
1735da8e4c cli: add explicit option for pretty printing command result data
No-op for now, but allows making output more machine readable

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2025-04-30 11:04:14 +02:00
Felix Fietkau
d07c48fa09 ucode-mod-uline: fix crash on cleanup
- only run a single poll in the uloop_fd cb to avoid use-after-free on close
- delete the uloop_fd on close
- when calling into ucode, fetch the vm pointer before the call in order
  to avoid accessing the stale uline context

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2025-04-30 11:04:14 +02:00
Felix Fietkau
b9685dcf3d ucode-mod-uline: fix build warnings
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2025-04-30 11:04:14 +02:00
Daniel Golle
29ec74b8c7 treewide: validate unified uImage.FIT images before flashing
Prevent flashing truncated or otherwise corrupted uImage.FIT images
by verifying checksums and hashes of all sub-images before flashing
using the newly packaged fit_check_sign tool.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2025-04-21 16:12:42 +01:00
Mieczyslaw Nalewaj
b96e790419 util-linux: add include linux/unistd.h patch
If SYS_statmount/SYS_listmount is not provided by the libc,
util-linux will fall back to __NR_statmount/__NR_listmount from the
kernel UAPI headers.
However it is not guaranteed that these symbols are actually visible in
mount-api-utils.

Include linux/unistd.h which provides syscall numbers.
While this header is specific to Linux, the code is already using
linux/mount.h.

Signed-off-by: Mieczyslaw Nalewaj <namiltd@yahoo.com>
Link: https://github.com/openwrt/openwrt/pull/18539
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-04-20 18:33:54 +02:00
Robert Marko
891c8244f2 jsonfilter: update to Git HEAD (2025-04-18)
8a86fb78235b build: set GNU17 for lemon compilation

Link: https://github.com/openwrt/openwrt/pull/18525
Signed-off-by: Robert Marko <robimarko@gmail.com>
2025-04-18 17:50:26 +02:00
Thomas Weißschuh
447cd674b9 util-linux: update to v2.41
Release Notes:
	https://www.kernel.org/pub/linux/utils/util-linux/v2.41/v2.41-ReleaseNotes

New:
	0001-meson-add-feature-for-translated-documentation.patch
	0001-meson-remove-tinfo-dependency-from-more.patch

Signed-off-by: Thomas Weißschuh <thomas@t-8ch.de>
Link: https://github.com/openwrt/openwrt/pull/18493
Signed-off-by: Robert Marko <robimarko@gmail.com>
2025-04-18 17:23:42 +02:00
Felix Fietkau
37c80e61ee cli: extend remove call to allow passing values directly
This simplifies script or API usage of this command to remove values directly
without having to calculate the index

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2025-04-11 10:41:12 +02:00
Linus Walleij
cb650214ba package: usbgadget: Fix subpackage dependencies
Currently if a target wants to use acm or ncm gadget config,
they need to select both usbgadget and the config package
such as usbgadget-acm.

It's better if the target just select usbgadget-acm and get
all dependencies satisfied.

Adding a dependency using +usbgadget fixes this.

Link: http://patchwork.ozlabs.org/project/openwrt/patch/20250403-dns313-usb-serial-v2-3-d84de8e86931@linaro.org/
Reviewed-by: Chuanhong Guo <gch981213@gmail.com>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
2025-04-10 09:37:34 +02:00
Linus Walleij
a57bce987a package: usbgadget: Define conffile
The /etc/config/usbgadget file is a conffile, so specify
it as such.

Link: http://patchwork.ozlabs.org/project/openwrt/patch/20250403-dns313-usb-serial-v2-2-d84de8e86931@linaro.org/
Reviewed-by: Chuanhong Guo <gch981213@gmail.com>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
2025-04-10 09:36:51 +02:00
Linus Walleij
f0de73f912 package: usbgadget: Require kmod-fs-configfs
The usbgadget package tries to mount and use configfs so it
needs to require the kernel module instead of implying it.

There should be a newline at the end of the file as well.

Link: http://patchwork.ozlabs.org/project/openwrt/patch/20250403-dns313-usb-serial-v2-1-d84de8e86931@linaro.org/
Reviewed-by: Chuanhong Guo <gch981213@gmail.com>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
2025-04-10 09:36:18 +02:00
Matthias Franck
84e0900867 busybox: use external libtirpc when using glibc
In recent glibc versions rpc functionality has been moved to a separate
library instead of glibc itself.
Depend on this library when rpc functionality is needed and glibc is
used.

Signed-off-by: Matthias Franck <matthias.franck@softathome.com>
Link: https://github.com/openwrt/openwrt/pull/17796
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-04-07 01:00:45 +02:00
Felix Fietkau
2ced0e59a4 ucode: update to Git HEAD (2025-03-24)
2824982da336 ubus: fix broken uc_ubus_defer()

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2025-03-25 11:07:24 +01:00
Felix Fietkau
5d40123818 provision: add script for managing device provisioning data
This is useful for keeping specific data on a device across factory reset.
It uses a separate partition (only UBI supported at the moment) to store
the data. The primary use case is storing sensitive data like cryptographic
keys for maintaining a device as part of a network.

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2025-03-17 13:17:52 +01:00
Felix Fietkau
960e1c4c24 ucode: update to Git HEAD (2025-03-17)
9d94d54ed1a3 uci: implement cursor.list_append() and cursor.list_remove()
a5a299075f37 zlib: rework code logic
ee6a6c3ca579 zlib: deduplicate code
d20f7bb87d47 zlib: add stream-oriented deflate operations
0255af462be3 zlib: add stream-oriented inflate operations
9260bd5354bf WIP: lib: support map() over objects
60f05ac60bfe docs: cover switch statement in syntax article
338aa2ebf00e docs: add article with array specific information
df5a79a04b17 uci: link save() and commit() functions in cursor class description
03fb60d0e4b3 docs: add detailed documentation article for dictionaries
8e122f16327c ubus: add support for calling system objects
21a615c84367 socket: add reuseaddr argument for socket.listen()
e04908ef57e7 uci: add support for altering the override config directory
9dbace122d7e socket: add missing documentation for socket.listen() reuseaddr
312b25482b30 ubus: add errval_return() helper macro
1af4a6bbc206 ubus: add channel defer() method
0002684b9772 ubus: support sending multiple reply messages on a request
fb1da7157d13 ubus: remove broken implied await when calling defer() outside of uloop.run()
67a4ad20f172 ubus: fix uninitialized variable warning

Fixes: https://github.com/jow-/ucode/issues/279
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2025-03-17 10:25:23 +01:00
Álvaro Fernández Rojas
6403c2890c bcm27xx-utils: update to latest version
Full changelog: 0c02957911...685afa8c0d

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
2025-03-16 08:03:28 +01:00
Felix Fietkau
a46a55b407 cli: fix showing empty lists
Display <none> as value instead of hiding the attribute name

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2025-03-13 11:23:03 +01:00
Felix Fietkau
ae31c0ddd7 cli: fix removing values when attribute has .get_object set
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2025-03-13 11:23:03 +01:00
Felix Fietkau
f6a9cce09a cli: fix spurious error when exiting the cli
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2025-03-09 10:52:07 +01:00
Felix Fietkau
7f0913d7b1 cli: improve error handling on editor select call
Use common error functions instead of explicit warn() calls

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2025-03-09 10:52:07 +01:00
Felix Fietkau
4d4e631267 ucode-mod-pkgen: fix refcounting issue
Do not call ucv_get if the reference is transferred without being used
elsewhere

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2025-03-05 08:25:43 +01:00
Felix Fietkau
12298ca7c4 ucode-mod-uline: fix refcounting errors
Do not call ucv_get if the reference is transferred without being used
elsewhere

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2025-03-05 08:25:43 +01:00
Felix Fietkau
8835ecf29b ucode-mod-uline: add support for querying window size from terminal if ioctl fails
This is useful for running the cli on a serial console

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2025-02-28 17:36:01 +01:00
Felix Fietkau
7953376400 cli: use model scope for hook calls
Make the scope consistent with other callbacks

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2025-02-28 17:36:01 +01:00
Felix Fietkau
bc078b833a cli: add support for create/destroy object editor with single type
Allows hooking create/destroy in a separate menu without having the user
specify a type argument.

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2025-02-28 17:36:01 +01:00
Felix Fietkau
895b4e7caf cli: add support for partial completion with separator character
Useful for completing long lists of possible values with common prefix

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2025-02-28 17:36:01 +01:00
Felix Fietkau
15c27ce9f0 ucode-mod-uline: fix prompt after set_hint with string bigger than the window size
Redraw the prompt after the hint instead of trying to move backwards

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2025-02-24 13:31:53 +01:00
Michał Kępień
08f5a13db1
yafut: update to a version that builds on macOS
The latest upstream version of Yafut builds on macOS and other
POSIX-compatible systems.  Drop the custom OpenWRT patch applying
non-Linux compatibility fixes to the tool's source code.

Signed-off-by: Michał Kępień <openwrt@kempniu.pl>
Link: https://github.com/openwrt/openwrt/pull/18014
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2025-02-19 09:37:46 +01:00
Felix Fietkau
248b66b44f cli: add OpenWrt CLI
This provides an easy to use modular CLI that can be used to interact with
OpenWrt services. It has full support for context sensitive tab completion
and help.
Extra modules can be provided by packages and can extend the existing node
structure in any place.

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2025-02-13 19:00:30 +01:00
Felix Fietkau
be31d44bd9 ucode-mod-uline: add package for ucode terminal line editing
It provides a ucode module with similar functionality as libreadline,
however with much smaller code and no dependencies aside from ucode and
libubox.
It also provides shell-style parsing/escaping code useful for building
a CLI.

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2025-02-13 19:00:30 +01:00