From d8842b996826a6e8e5136e052bc7d9709e217ee9 Mon Sep 17 00:00:00 2001
From: Amin Ben Romdhane <amin.benromdhane@iopsys.eu>
Date: Tue, 18 Mar 2025 12:53:17 +0100
Subject: [PATCH] Fix the protocol value for objects that have restrictions on
 the service protocol

---
 bbfdmd/ubus/service.c | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/bbfdmd/ubus/service.c b/bbfdmd/ubus/service.c
index 2d21714da..3e4bdbeb6 100644
--- a/bbfdmd/ubus/service.c
+++ b/bbfdmd/ubus/service.c
@@ -209,7 +209,13 @@ void list_registered_services(struct blob_buf *bb)
 			void *obj_table = blobmsg_open_table(bb, NULL);
 			blobmsg_add_string(bb, "parent_dm", service->objects[i].parent_path);
 			blobmsg_add_string(bb, "object", service->objects[i].object_name);
-			blobmsg_add_string(bb, "proto", service->objects[i].protocol == BBFDMD_USP ? "usp" : service->objects[i].protocol == BBFDMD_CWMP ? "cwmp" : "both");
+			if (service->protocol == BBFDMD_USP) {
+				blobmsg_add_string(bb, "proto", "usp");
+			} else if (service->protocol == BBFDMD_CWMP) {
+				blobmsg_add_string(bb, "proto", "cwmp");
+			} else {
+				blobmsg_add_string(bb, "proto", service->objects[i].protocol == BBFDMD_USP ? "usp" : service->objects[i].protocol == BBFDMD_CWMP ? "cwmp" : "both");
+			}
 			blobmsg_close_table(bb, obj_table);
 		}
 		blobmsg_close_array(bb, objects_array);
-- 
GitLab