From 291cff0680095a2bd4dd35ec0ccb5c42cf9c347c Mon Sep 17 00:00:00 2001 From: Isak Westin Date: Thu, 29 Sep 2022 13:03:44 +0200 Subject: 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. --- mesh/cfgmod-server.c | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'mesh') 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]); -- cgit v1.2.1