mesh: Initialize msg_ctx when re-encrypting friend msg
Set app_idx and net_idx in the msg_ctx before calling
bt_mesh_keys_resolve when re-encrypting friend messages, as they'll be
referenced inside the function.
this is port of
@@ -345,7 +345,12 @@ static int unseg_app_sdu_unpack(struct bt_mesh_friend *frnd,
struct unseg_app_sdu_meta *meta)
{
uint16_t app_idx = FRIEND_ADV(buf)->app_idx;
- struct bt_mesh_net_rx net;
+ struct bt_mesh_net_rx net = {
+ .ctx = {
+ .app_idx = app_idx,
+ .net_idx = frnd->subnet->net_idx,
+ },
+ };
int err;
meta->subnet = frnd->subnet;
@@ -437,6 +442,8 @@ static int unseg_app_sdu_prepare(struct bt_mesh_friend *frnd,
return 0;
}
+ BT_DBG("Re-encrypting friend pdu");
+
err = unseg_app_sdu_decrypt(frnd, buf, &meta);
if (err) {
BT_WARN("Decryption failed! %d", err);
