summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJo-Philipp Wich <jo@mein.io>2018-07-26 08:02:01 +0200
committerJo-Philipp Wich <jo@mein.io>2018-07-26 08:42:36 +0200
commitaa8846bb101054392b81f09bade120c021695892 (patch)
treeca69340b81c39d56546dc45f2ddcdf4c406e3a4c
parentd2bbeb7d42b45e4d97411e5c124845905975fd46 (diff)
downloadfirewall3-aa8846bb101054392b81f09bade120c021695892.tar.gz
ubus: avoid dumping interface state with NULL message
Invoking ubus methods with NULL message is not supported anymore, so make sure that network.interface/dump is called with an empty blob buffer argument. Signed-off-by: Jo-Philipp Wich <jo@mein.io>
-rw-r--r--ubus.c9
1 files changed, 6 insertions, 3 deletions
diff --git a/ubus.c b/ubus.c
index 7029d63..bea9166 100644
--- a/ubus.c
+++ b/ubus.c
@@ -45,13 +45,15 @@ fw3_ubus_connect(void)
struct ubus_context *ctx = ubus_connect(NULL);
struct blob_buf b = { };
+ blob_buf_init(&b, 0);
+
if (!ctx)
goto out;
if (ubus_lookup_id(ctx, "network.interface", &id))
goto out;
- if (ubus_invoke(ctx, id, "dump", NULL, dump_cb, NULL, 2000))
+ if (ubus_invoke(ctx, id, "dump", b.head, dump_cb, NULL, 2000))
goto out;
status = true;
@@ -59,14 +61,15 @@ fw3_ubus_connect(void)
if (ubus_lookup_id(ctx, "service", &id))
goto out;
- blob_buf_init(&b, 0);
blobmsg_add_string(&b, "type", "firewall");
ubus_invoke(ctx, id, "get_data", b.head, procd_data_cb, NULL, 2000);
- blob_buf_free(&b);
out:
+ blob_buf_free(&b);
+
if (ctx)
ubus_free(ctx);
+
return status;
}