2022-09-21 08:51:49

by Isak Westin

[permalink] [raw]
Subject: [PATCH BlueZ 2/3] mesh: Do not accept publication for unbound appkey

If a user tries to configure publication of a model with an appkey that
is not bound to that model, an error should be returned.
---
mesh/model.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/mesh/model.c b/mesh/model.c
index 82078ed85..46ead30ac 100644
--- a/mesh/model.c
+++ b/mesh/model.c
@@ -1063,7 +1063,8 @@ int mesh_model_pub_set(struct mesh_node *node, uint16_t addr, uint32_t id,
if (!mod->pub_enabled || (mod->cbs && !(mod->cbs->pub)))
return MESH_STATUS_INVALID_PUB_PARAM;

- if (!appkey_have_key(node_get_net(node), idx))
+ if (!appkey_have_key(node_get_net(node), idx) ||
+ !has_binding(mod->bindings, idx))
return MESH_STATUS_INVALID_APPKEY;

/*
--
2.20.1