You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@mynewt.apache.org by ja...@apache.org on 2020/11/10 14:17:01 UTC

[mynewt-nimble] branch master updated: nimble/ll: Fix network privacy when initiating

This is an automated email from the ASF dual-hosted git repository.

janc pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/mynewt-nimble.git


The following commit(s) were added to refs/heads/master by this push:
     new ca5ff43  nimble/ll: Fix network privacy when initiating
ca5ff43 is described below

commit ca5ff43e53c89d7c051f8e53a8ee20776e35d2e6
Author: Szymon Janc <sz...@codecoup.pl>
AuthorDate: Fri Nov 6 15:23:09 2020 +0100

    nimble/ll: Fix network privacy when initiating
    
    If remote is using ID address and IRK for that peer is on resolving
    list and network privacy is enabled we should not be connecting to
    that peer.
    
    This was affecting LL/CON/INI/BV-24-C qualification test case.
---
 nimble/controller/src/ble_ll_conn.c | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/nimble/controller/src/ble_ll_conn.c b/nimble/controller/src/ble_ll_conn.c
index 371ca42..3724267 100644
--- a/nimble/controller/src/ble_ll_conn.c
+++ b/nimble/controller/src/ble_ll_conn.c
@@ -3409,6 +3409,12 @@ ble_ll_init_rx_isr_end(uint8_t *rxbuf, uint8_t crcok,
              */
             memcpy(init_addr, rl->rl_local_rpa, BLE_DEV_ADDR_LEN);
         }
+    } else if (!ble_ll_is_rpa(adv_addr, adv_addr_type)) {
+        /* undirected with ID address, assure privacy if on RL */
+        rl = ble_ll_resolv_list_find(adv_addr, adv_addr_type);
+        if (rl && (rl->rl_priv_mode == BLE_HCI_PRIVACY_NETWORK)) {
+            goto init_rx_isr_exit;
+        }
     }
 #endif