You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@mynewt.apache.org by ry...@apache.org on 2019/01/31 11:51:08 UTC

[mynewt-nimble] branch master updated: nimble/ll: Fix handling directed advertising with privacy

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

rymek 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 fe01942  nimble/ll: Fix handling directed advertising with privacy
fe01942 is described below

commit fe01942e9eadd3ce9b034d5ef8f9dfd853b64298
Author: Ɓukasz Rymanowski <lu...@codecoup.pl>
AuthorDate: Wed Jan 30 11:08:57 2019 +0100

    nimble/ll: Fix handling directed advertising with privacy
    
    Fix incorrect address comparision. advsm->peer_addr is the address
    provided via HCI, in the advertising packets we use advsm->initiator_addr
    which is either advsm->peer_addr or RPA.
    
    Without this patch it is not possible to connect to Nimble when it
    is using RPA in the directed advertising
---
 nimble/controller/src/ble_ll_adv.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/nimble/controller/src/ble_ll_adv.c b/nimble/controller/src/ble_ll_adv.c
index 980ef14..df62af6 100644
--- a/nimble/controller/src/ble_ll_adv.c
+++ b/nimble/controller/src/ble_ll_adv.c
@@ -2878,7 +2878,7 @@ ble_ll_adv_rx_req(uint8_t pdu_type, struct os_mbuf *rxpdu)
          * are doing directed advertising
          */
         if (advsm->props & BLE_HCI_LE_SET_EXT_ADV_PROP_DIRECTED) {
-            if (memcmp(advsm->peer_addr, peer, BLE_DEV_ADDR_LEN)) {
+            if (memcmp(advsm->initiator_addr, peer, BLE_DEV_ADDR_LEN)) {
                 return -1;
             }
         }