bluetooth: mesh: Do not skip PDU forwarding on ADV
Fixes a bug where goto statement results into network layer skipping the forwarding of unicast message on the ADV bearer, if the message gets succesfully sent on the GATT bearer. This is undesirable. Node has no knowledge of which external entity has which unicast address. It may be possible that Proxy node can deliberately add unicast addresses of other nodes to the whitelist to receive some traffic for sniffing. Signed-off-by: Omkar Kulkarni <omkar.kulkarni@nordicsemi.no>
This commit is contained in:
parent
57784df5f0
commit
a5057e96d1
1 changed files with 2 additions and 6 deletions
|
@ -579,12 +579,8 @@ int bt_mesh_net_send(struct bt_mesh_net_tx *tx, struct net_buf *buf,
|
||||||
BT_MESH_ADV(buf)->cb_data = cb_data;
|
BT_MESH_ADV(buf)->cb_data = cb_data;
|
||||||
|
|
||||||
/* Deliver to GATT Proxy Clients if necessary. */
|
/* Deliver to GATT Proxy Clients if necessary. */
|
||||||
if (IS_ENABLED(CONFIG_BT_MESH_GATT_PROXY) &&
|
if (IS_ENABLED(CONFIG_BT_MESH_GATT_PROXY)) {
|
||||||
bt_mesh_proxy_relay(buf, tx->ctx->addr) &&
|
(void)bt_mesh_proxy_relay(buf, tx->ctx->addr);
|
||||||
BT_MESH_ADDR_IS_UNICAST(tx->ctx->addr)) {
|
|
||||||
|
|
||||||
err = 0;
|
|
||||||
goto done;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Deliver to GATT Proxy Servers if necessary. */
|
/* Deliver to GATT Proxy Servers if necessary. */
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue