mirror of
https://github.com/espressif/esp-nimble.git
synced 2026-10-07 15:17:22 +00:00
mesh: Fix friend node cache message
Friend node cache segment message for lpn, message with sequence number can't change, since could cause lpn replay attack. This is port of 325288d531678bfecca68869332e06ed59856efb
This commit is contained in:
committed by
Łukasz Rymanowski
parent
f92996b025
commit
ce8c300ac4
@@ -723,7 +723,7 @@ static int sdu_recv(struct bt_mesh_net_rx *rx, uint8_t hdr, uint8_t aszmic,
|
||||
.aszmic = aszmic,
|
||||
.src = rx->ctx.addr,
|
||||
.dst = rx->ctx.recv_dst,
|
||||
.seq_num = rx->seq,
|
||||
.seq_num = seg ? (seg->seq_auth & 0xffffff) : rx->seq,
|
||||
.iv_index = BT_MESH_NET_IVI_RX(rx),
|
||||
},
|
||||
.buf = buf,
|
||||
@@ -1447,9 +1447,6 @@ found_rx:
|
||||
send_ack(net_rx->sub, net_rx->ctx.recv_dst, net_rx->ctx.addr,
|
||||
net_rx->ctx.send_ttl, seq_auth, rx->block, rx->obo);
|
||||
|
||||
/* Decrypt with seqAuth */
|
||||
net_rx->seq = (rx->seq_auth & 0xffffff);
|
||||
|
||||
if (net_rx->ctl) {
|
||||
struct os_mbuf *sdu = NET_BUF_SIMPLE(BT_MESH_RX_CTL_MAX);
|
||||
seg_rx_assemble(rx, sdu, 0U);
|
||||
|
||||
Reference in New Issue
Block a user