summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFelix Fietkau2025-08-09 14:01:33 +0000
committerFelix Fietkau2025-08-09 14:01:48 +0000
commitb2116dbce4976ee9596d90964a4f145440b1c51e (patch)
tree64a4394ccb1b5e7921c5f60670bd23ba4565cb88
parent155eea44e7695c5cd017a240469cac57c19af64b (diff)
downloadopenwrt-b2116dbce4976ee9596d90964a4f145440b1c51e.tar.gz
rpcd: backport ucode fix
ucode: adjust for new ext resource type ucv_resource_dataptr always returns null for resources with embedded data. Fixes: https://github.com/openwrt/rpcd/issues/17 Fixes: https://github.com/openwrt/luci/issues/7878 Fixes: https://github.com/openwrt/openwrt/issues/19726 Signed-off-by: Felix Fietkau <nbd@nbd.name>
-rw-r--r--package/system/rpcd/patches/100-ucode-adjust-for-new-ext-resource-type.patch20
1 files changed, 20 insertions, 0 deletions
diff --git a/package/system/rpcd/patches/100-ucode-adjust-for-new-ext-resource-type.patch b/package/system/rpcd/patches/100-ucode-adjust-for-new-ext-resource-type.patch
new file mode 100644
index 0000000000..0b0acd4458
--- /dev/null
+++ b/package/system/rpcd/patches/100-ucode-adjust-for-new-ext-resource-type.patch
@@ -0,0 +1,20 @@
+From: Felix Fietkau <nbd@nbd.name>
+Date: Sat, 9 Aug 2025 15:55:11 +0200
+Subject: [PATCH] ucode: adjust for new ext resource type
+
+ucv_resource_dataptr always returns null for resources with embedded data.
+
+Signed-off-by: Felix Fietkau <nbd@nbd.name>
+---
+
+--- a/ucode.c
++++ b/ucode.c
+@@ -449,7 +449,7 @@ rpc_ucode_script_call(struct ubus_contex
+ res = uc_vm_stack_pop(&script->vm);
+
+ /* The handler function invoked a nested aync ubus request and returned it */
+- if (ucv_resource_dataptr(res, "ubus.deferred")) {
++ if (ucv_resource_data(res, "ubus.deferred")) {
+ /* Install guard timer in case the reply callback is never called */
+ callctx->timeout.cb = rpc_ucode_request_timeout;
+ uloop_timeout_set(&callctx->timeout, request_timeout);