summaryrefslogtreecommitdiff
path: root/mesh/crypto.c
diff options
context:
space:
mode:
authorBrian Gix <brian.gix@intel.com>2019-01-18 09:39:44 -0800
committerBrian Gix <brian.gix@intel.com>2019-01-22 12:39:51 -0800
commitcca48f305b6053300790dcf93f842a543c71fdbc (patch)
tree603c62ae19d0751f2c7376d2c84da65a1acc5560 /mesh/crypto.c
parentc7c30ac0f588629cc6ca4f437f01e4207c08befe (diff)
downloadbluez-cca48f305b6053300790dcf93f842a543c71fdbc.tar.gz
mesh: Fix Relaying for multiple nodes
Relay is now a cooperation between all the nodes on the daemon. If any one or more nodes have relay enabled and a received packet is addressed to a Group, or a non-present Unicast address, then the packet's TTL is decremented and it is resent.
Diffstat (limited to 'mesh/crypto.c')
-rw-r--r--mesh/crypto.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/mesh/crypto.c b/mesh/crypto.c
index e68cc2d5f..451e2da71 100644
--- a/mesh/crypto.c
+++ b/mesh/crypto.c
@@ -1169,13 +1169,13 @@ bool mesh_crypto_packet_parse(const uint8_t *packet, uint8_t packet_len,
*payload = packet + 9;
if (payload_len)
- *payload_len = packet_len - 9 - 8;
+ *payload_len = packet_len - 9;
} else {
if (payload)
*payload = packet + 10;
if (payload_len)
- *payload_len = packet_len - 10 - 8;
+ *payload_len = packet_len - 10;
}
} else {
if (cookie)
@@ -1202,13 +1202,13 @@ bool mesh_crypto_packet_parse(const uint8_t *packet, uint8_t packet_len,
*payload = packet + 13;
if (payload_len)
- *payload_len = packet_len - 13 - 4;
+ *payload_len = packet_len - 13;
} else {
if (payload)
*payload = packet + 10;
if (payload_len)
- *payload_len = packet_len - 10 - 4;
+ *payload_len = packet_len - 10;
}
}