The 'relay' parameter isn't used by mesh_crypto_packet_build(). --- mesh/crypto.c | 2 +- mesh/crypto.h | 2 +- mesh/net.c | 10 +++++----- unit/test-mesh-crypto.c | 15 +++++---------- 4 files changed, 12 insertions(+), 17 deletions(-) diff --git a/mesh/crypto.c b/mesh/crypto.c index ab44baee3427..136e6953578f 100644 --- a/mesh/crypto.c +++ b/mesh/crypto.c @@ -527,7 +527,7 @@ bool mesh_crypto_packet_build(bool ctl, uint8_t ttl, uint16_t src, uint16_t dst, uint8_t opcode, bool segmented, uint8_t key_aid, - bool szmic, bool relay, uint16_t seqZero, + bool szmic, uint16_t seqZero, uint8_t segO, uint8_t segN, const uint8_t *payload, uint8_t payload_len, uint8_t *packet, uint8_t *packet_len) diff --git a/mesh/crypto.h b/mesh/crypto.h index 3d85785f174c..5e4d1d229c19 100644 --- a/mesh/crypto.h +++ b/mesh/crypto.h @@ -63,7 +63,7 @@ bool mesh_crypto_packet_build(bool ctl, uint8_t ttl, uint16_t src, uint16_t dst, uint8_t opcode, bool segmented, uint8_t key_aid, - bool szmic, bool relay, uint16_t seqZero, + bool szmic, uint16_t seqZero, uint8_t segO, uint8_t segN, const uint8_t *payload, uint8_t payload_len, uint8_t *packet, uint8_t *packet_len); diff --git a/mesh/net.c b/mesh/net.c index a49df531c933..cbdfd9d299d5 100644 --- a/mesh/net.c +++ b/mesh/net.c @@ -3168,7 +3168,7 @@ static bool send_seg(struct mesh_net *net, uint8_t cnt, uint16_t interval, /* TODO: Are we RXing on an LPN's behalf? Then set RLY bit */ if (!mesh_crypto_packet_build(false, msg->ttl, seq_num, msg->src, msg->remote, 0, msg->segmented, - msg->key_aid, msg->szmic, false, + msg->key_aid, msg->szmic, msg->seqZero, segO, segN, msg->buf + seg_off, seg_len, packet + 1, &packet_len)) { @@ -3224,7 +3224,7 @@ void mesh_net_send_seg(struct mesh_net *net, uint32_t net_key_id, l_debug("segO: %d", segO); if (!mesh_crypto_packet_build(false, ttl, seq, src, dst, 0, - segmented, key_aid, szmic, false, + segmented, key_aid, szmic, seqZero, segO, segN, seg, seg_len, packet + 1, &packet_len)) { l_error("Failed to build packet"); @@ -3379,7 +3379,7 @@ void mesh_net_ack_send(struct mesh_net *net, uint32_t net_key_id, /* Not Segmented, no Key ID associated, no segO or segN */ if (!mesh_crypto_packet_build(true, ttl, seq, src, dst, NET_OP_SEG_ACKNOWLEDGE, false, 0, false, - rly, seqZero, 0, 0, data + 1, 6, + seqZero, 0, 0, data + 1, 6, pkt + 1, &pkt_len)) return; @@ -3465,8 +3465,8 @@ void mesh_net_transport_send(struct mesh_net *net, uint32_t net_key_id, } if (!mesh_crypto_packet_build(true, ttl, seq, src, dst, msg[0], - false, 0, false, false, 0, 0, 0, msg + 1, - msg_len - 1, pkt + 1, &pkt_len)) + false, 0, false, 0, 0, 0, msg + 1, msg_len - 1, + pkt + 1, &pkt_len)) return; if (!net_key_encrypt(net_key_id, iv_index, pkt + 1, pkt_len)) { diff --git a/unit/test-mesh-crypto.c b/unit/test-mesh-crypto.c index 39632d9734f2..81f0724fe540 100644 --- a/unit/test-mesh-crypto.c +++ b/unit/test-mesh-crypto.c @@ -846,8 +846,7 @@ static void check_encrypt_segment(const struct mesh_crypto_test *keys, keys->net_src, keys->net_dst, keys->opcode, keys->segmented, key_aid, - keys->szmic, keys->relay, keys->seqZero, - seg, seg_max, + keys->szmic, keys->seqZero, seg, seg_max, enc_msg, len, packet, &packet_len); } else { @@ -856,8 +855,7 @@ static void check_encrypt_segment(const struct mesh_crypto_test *keys, keys->net_src, keys->net_dst, keys->opcode, keys->segmented, key_aid, - keys->szmic, keys->relay, keys->seqZero, - seg, seg_max, + keys->szmic, keys->seqZero, seg, seg_max, enc_msg, len, packet, &packet_len); } @@ -1163,8 +1161,7 @@ static void check_encrypt(const struct mesh_crypto_test *keys) keys->net_src, keys->net_dst, keys->opcode, keys->segmented, key_aid, - keys->szmic, keys->relay, keys->seqZero, - i, seg_max, + keys->szmic, keys->seqZero, i, seg_max, enc_msg + 1, seg_len, packet, &packet_len); } else { @@ -1174,8 +1171,7 @@ static void check_encrypt(const struct mesh_crypto_test *keys) keys->net_src, keys->net_dst, keys->opcode, keys->segmented, key_aid, - keys->szmic, keys->relay, seqZero, - i, seg_max, + keys->szmic, seqZero, i, seg_max, enc_msg + (i * 12), seg_len, packet, &packet_len); } @@ -1732,8 +1728,7 @@ static void check_decrypt(const struct mesh_crypto_test *keys) keys->net_dst, net_op, keys->segmented, keys->key_aid | (keys->akf ? KEY_ID_AKF : 0), - keys->szmic, keys->relay, seqZero, - i, seg_max, + keys->szmic, seqZero, i, seg_max, payload + hdr_len, payload_len - hdr_len, packet, &pkt_len); verify_data("TransportData", 9, keys->trans_pkt[i], packet + 9, -- 2.43.0