From 7b3f2159fd7e1aa70a7b54547828efd87eb70c4e Mon Sep 17 00:00:00 2001
From: Jakob Olsson <jakob.olsson@iopsys.eu>
Date: Fri, 9 Jun 2023 17:12:26 +0200
Subject: [PATCH] allow passing cntlr caps to tlv builder

---
 src/cntlr_cmdu.c | 2 +-
 src/cntlr_tlv.c  | 5 ++---
 src/cntlr_tlv.h  | 2 +-
 3 files changed, 4 insertions(+), 5 deletions(-)

diff --git a/src/cntlr_cmdu.c b/src/cntlr_cmdu.c
index bfb4bf03..69a0c882 100644
--- a/src/cntlr_cmdu.c
+++ b/src/cntlr_cmdu.c
@@ -558,7 +558,7 @@ struct cmdu_buff *cntlr_gen_ap_autoconfig_response(struct controller *c,
 		if (ret)
 			goto out;
 #endif
-		ret = cntlr_gen_cntlr_capability(c, resp);
+		ret = cntlr_gen_cntlr_capability(c, resp, 0x00);
 		if (ret)
 			goto out;
 	}
diff --git a/src/cntlr_tlv.c b/src/cntlr_tlv.c
index 6f2122ac..99d75343 100644
--- a/src/cntlr_tlv.c
+++ b/src/cntlr_tlv.c
@@ -1848,7 +1848,7 @@ int cntlr_gen_dpp_bootstrapping_uri_notif(struct controller *c,
 	return 0;
 }
 
-int cntlr_gen_cntlr_capability(struct controller *c, struct cmdu_buff *frm)
+int cntlr_gen_cntlr_capability(struct controller *c, struct cmdu_buff *frm, uint8_t caps)
 {
 	struct tlv *t;
 	struct tlv_controller_cap *data;
@@ -1860,8 +1860,7 @@ int cntlr_gen_cntlr_capability(struct controller *c, struct cmdu_buff *frm)
 	t->type = MAP_TLV_CONTROLLER_CAPS;
 	data = (struct tlv_controller_cap *)t->data;
 
-	/* TODO: fill proper values */
-	data->flag = 0x00;
+	data->flag = caps;
 
 	t->len = sizeof(*data);
 	if (cmdu_put_tlv(frm, t))
diff --git a/src/cntlr_tlv.h b/src/cntlr_tlv.h
index a04286ef..6848abbe 100644
--- a/src/cntlr_tlv.h
+++ b/src/cntlr_tlv.h
@@ -131,7 +131,7 @@ int cntlr_gen_device_1905_layer_security_cap(struct controller *c,
 int cntlr_gen_dpp_bootstrapping_uri_notif(struct controller *c,
 		struct cmdu_buff *frm, uint8_t *radio, uint8_t *bssid,
 		uint8_t *bsta, int uri_len, char *dpp_uri);
-int cntlr_gen_cntlr_capability(struct controller *c, struct cmdu_buff *frm);
+int cntlr_gen_cntlr_capability(struct controller *c, struct cmdu_buff *frm, uint8_t caps);
 int cntlr_gen_agent_list_tlv(struct controller *c, struct cmdu_buff *frm);
 #endif /* EASYMESH_VERSION > 2 */
 
-- 
GitLab