[PATCH v2] ufpd: import unetmsg.client conditionally
John Crispin
john at phrozen.org
Wed Dec 3 21:52:02 PST 2025
can't you just drop a dummy stubbed out version into
/usr/share/uconfig/unetmsg/client.uc on 23.05 builds ?
John
On 03.12.25 15:38, Christian Korber wrote:
> unetmsg depends on ucode functions (acl) that are not in openwrt-23.05.
> To make it possible to use ufp in that branch, this commit tests
> if unetmsg is installed on the target.
>
> Changes in v2:
> Patch missed '--' at the and and was corrupt.
>
> Signed-off-by: Christian Korber <ck at dev.tdt.de>
> ---
> ufpd | 46 +++++++++++++++++++++++++++++-----------------
> 1 file changed, 29 insertions(+), 17 deletions(-)
>
> diff --git a/ufpd b/ufpd
> index c41ab8c..2068f66 100755
> --- a/ufpd
> +++ b/ufpd
> @@ -2,14 +2,22 @@
> 'use strict';
> import * as uloop from "uloop";
> import * as libubus from "ubus";
> -import * as unetmsg from "unetmsg.client";
> -import { readfile, glob, basename } from "fs";
> +import { readfile, glob, basename, stat } from "fs";
> let uht = require("uht");
> +let unetmsg, unet;
> push(REQUIRE_SEARCH_PATH, "/usr/share/ufp/*.uc");
>
> +let unetmsg_installed = stat("/usr/share/ucode/unetmsg");
> +
> +if (unetmsg_installed)
> + unetmsg = require("unetmsg.client");
> +
> uloop.init();
> let ubus = libubus.connect();
> -let unet = unetmsg.open(ubus);
> +
> +if (unetmsg_installed)
> + unet = unetmsg.open(ubus);
> +
> let fingerprints = {};
> let fingerprint_ht = [];
> let devices = {};
> @@ -49,17 +57,19 @@ function match_fingerprint(key)
> return fp;
> }
>
> -unet.publish("ufp", (req) => {
> - let data = req.args;
> - switch (data.type) {
> - case "get_data":
> - let mac = data.macaddr;
> - if (mac)
> - return { data: devices[mac] };
> - return { data: devices };
> - }
> -});
> -unet.subscribe("ufp");
> +if (unetmsg_installed) {
> + unet.publish("ufp", (req) => {
> + let data = req.args;
> + switch (data.type) {
> + case "get_data":
> + let mac = data.macaddr;
> + if (mac)
> + return { data: devices[mac] };
> + return { data: devices };
> + }
> + });
> + unet.subscribe("ufp");
> +}
>
> function dev_timestamp_cmp(a, b)
> {
> @@ -74,9 +84,11 @@ function network_devices(local) {
> devices
> ];
>
> - unet.request("ufp", "get_data", {}, (msg) => {
> - push(device_lists, msg.data);
> - });
> + if (unetmsg_installed) {
> + unet.request("ufp", "get_data", {}, (msg) => {
> + push(device_lists, msg.data);
> + });
> + }
>
> let cur_devices = [];
> for (let list in device_lists)
More information about the openwrt-devel
mailing list