From 93eaad58834b0b3de5365b4672a65c839b87754f Mon Sep 17 00:00:00 2001 From: Aurelien Jarno Date: Mon, 11 Nov 2019 15:10:46 +0100 Subject: [PATCH] mesh: fix sending messages to group addresses When sending a message to a group address (either virtual or fixed), it has to be sent OTA even if successfully enqueued to an internal model. --- mesh/net.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/mesh/net.c b/mesh/net.c index f07de4d8a..33b498135 100644 --- a/mesh/net.c +++ b/mesh/net.c @@ -3339,10 +3339,10 @@ bool mesh_net_app_send(struct mesh_net *net, bool frnd_cred, uint16_t src, szmic, seq & SEQ_ZERO_MASK, msg, msg_len); - /* If successfully enqued or delivered - * to Unicast address, we are done + /* If addressed to a unicast address and successfully enqueued, + * or delivered to one of our Unicast addresses we are done */ - if (result || src == dst || + if ((result && IS_UNICAST(dst)) || src == dst || (dst >= net->src_addr && dst <= net->last_addr)) { /* Adjust our seq_num for "virtual" delivery */ net->seq_num += seg_max; -- 2.47.3