diff options
author | Inga Stotland <inga.stotland@intel.com> | 2020-05-08 17:00:21 -0700 |
---|---|---|
committer | Brian Gix <brian.gix@intel.com> | 2020-05-09 06:45:28 -0700 |
commit | 82b2d4cf5e677ba823865d698d0ace7907bb21e0 (patch) | |
tree | e4fc4595fc34a840f45ba2e42ff73a6dfcf1264e /mesh/node.c | |
parent | 9139f7b7480702b43299d6937553871815c843ed (diff) | |
download | bluez-82b2d4cf5e677ba823865d698d0ace7907bb21e0.tar.gz |
mesh: On node attach, verify element/model composition only
When attaching an existing node, verify only the "elements" part
of device composition, i.e., skip verification of CID/PID/VID, CRPL
and features.
Diffstat (limited to 'mesh/node.c')
-rw-r--r-- | mesh/node.c | 10 |
1 files changed, 4 insertions, 6 deletions
diff --git a/mesh/node.c b/mesh/node.c index acda6d472..e3f9e52e3 100644 --- a/mesh/node.c +++ b/mesh/node.c @@ -1378,7 +1378,7 @@ static bool check_req_node(struct managed_obj_request *req) { uint8_t node_comp[MAX_MSG_LEN - 2]; uint8_t attach_comp[MAX_MSG_LEN - 2]; - + uint16_t offset = 10; uint16_t node_len = node_generate_comp(req->node, node_comp, sizeof(node_comp)); @@ -1389,12 +1389,10 @@ static bool check_req_node(struct managed_obj_request *req) uint16_t attach_len = node_generate_comp(req->attach, attach_comp, sizeof(attach_comp)); - /* Ignore feature bits in Composition Compare */ - node_comp[8] = 0; - attach_comp[8] = 0; - + /* Verify only element/models composition */ if (node_len != attach_len || - memcmp(node_comp, attach_comp, node_len)) { + memcmp(&node_comp[offset], &attach_comp[offset], + node_len - offset)) { l_debug("Failed to verify app's composition data"); return false; } |