From eac83cd603991bcaf0ca8c892938ed94bba6399d Mon Sep 17 00:00:00 2001 From: Astha Verma Date: Wed, 16 Sep 2026 11:37:18 +0530 Subject: [PATCH] fix(nimble): Support optional scan time RPA resolution for host based privacy --- nimble/host/src/ble_hs_hci_evt.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/nimble/host/src/ble_hs_hci_evt.c b/nimble/host/src/ble_hs_hci_evt.c index 3d31fcaaa..7ff8605ed 100644 --- a/nimble/host/src/ble_hs_hci_evt.c +++ b/nimble/host/src/ble_hs_hci_evt.c @@ -443,7 +443,8 @@ ble_hs_hci_evt_dispatch_find(uint16_t event_code) static const uint8_t ble_hs_conn_null_addr[6]; -#if MYNEWT_VAL(BLE_HOST_BASED_PRIVACY) +#if MYNEWT_VAL(BLE_HOST_BASED_PRIVACY) && \ + MYNEWT_VAL(BLE_HOST_BASED_PRIVACY_RESOLVE_ON_SCAN) static inline void ble_hs_hci_evt_resolve_rpa(ble_addr_t *addr) { @@ -1218,7 +1219,9 @@ ble_hs_hci_evt_le_adv_rpt(uint8_t subevent, const void *data, unsigned int len) */ desc.ota_addr = desc.addr; +#if MYNEWT_VAL(BLE_HOST_BASED_PRIVACY_RESOLVE_ON_SCAN) ble_hs_hci_evt_resolve_rpa(&desc.addr); +#endif #endif desc.length_data = rpt->data_len; @@ -1257,7 +1260,9 @@ ble_hs_hci_evt_le_dir_adv_rpt(uint8_t subevent, const void *data, unsigned int l #if MYNEWT_VAL(BLE_HOST_BASED_PRIVACY) desc.ota_addr = desc.addr; +#if MYNEWT_VAL(BLE_HOST_BASED_PRIVACY_RESOLVE_ON_SCAN) ble_hs_hci_evt_resolve_rpa(&desc.addr); +#endif #endif ble_gap_rx_adv_report(&desc); } @@ -1662,7 +1667,9 @@ ble_hs_hci_evt_le_ext_adv_rpt(uint8_t subevent, const void *data, #if MYNEWT_VAL(BLE_HOST_BASED_PRIVACY) desc.ota_addr = desc.addr; +#if MYNEWT_VAL(BLE_HOST_BASED_PRIVACY_RESOLVE_ON_SCAN) ble_hs_hci_evt_resolve_rpa(&desc.addr); +#endif #endif ble_gap_rx_ext_adv_report(&desc);