diff options
author | Isak Westin <isak.westin@loytec.com> | 2022-09-29 13:03:44 +0200 |
---|---|---|
committer | Brian Gix <brian.gix@intel.com> | 2022-10-03 14:19:19 -0700 |
commit | 291cff0680095a2bd4dd35ec0ccb5c42cf9c347c (patch) | |
tree | cf1b4c2c35c717ca5e4e94e0da185045684069d3 /mesh | |
parent | 9d22d54244307c31b300fd5c321e6c2dea0cc48d (diff) | |
download | bluez-291cff0680095a2bd4dd35ec0ccb5c42cf9c347c.tar.gz |
mesh: Allow Key Refresh Phase 0 to 3 transition
Transition to Phase 3 from Phase 0 does not cause any state change, but
is a valid transition. See MshPRFv1.0.1 section 4.2.14.
Diffstat (limited to 'mesh')
-rw-r--r-- | mesh/cfgmod-server.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/mesh/cfgmod-server.c b/mesh/cfgmod-server.c index 7044b670d..be90ef8c5 100644 --- a/mesh/cfgmod-server.c +++ b/mesh/cfgmod-server.c @@ -436,6 +436,10 @@ static uint16_t cfg_key_refresh_phase(struct mesh_node *node, return 0; } + if (pkt[2] == KEY_REFRESH_TRANS_THREE && + phase == KEY_REFRESH_PHASE_NONE) + goto done; + status = mesh_net_key_refresh_phase_set(net, idx, pkt[2]); l_debug("Set KR Phase: net=%3.3x transition=%d", idx, pkt[2]); |