You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@mynewt.apache.org by GitBox <gi...@apache.org> on 2018/05/04 09:57:41 UTC
[GitHub] sjanc closed pull request #75: nimble/ll: Fix creating connections
with all-zero IRK
sjanc closed pull request #75: nimble/ll: Fix creating connections with all-zero IRK
URL: https://github.com/apache/mynewt-nimble/pull/75
This is a PR merged from a forked repository.
As GitHub hides the original diff on merge, it is displayed below for
the sake of provenance:
As this is a foreign pull request (from a fork), the diff is supplied
below (as it won't show otherwise due to GitHub magic):
diff --git a/nimble/controller/src/ble_ll_conn.c b/nimble/controller/src/ble_ll_conn.c
index 1fb5a010..08c0ae5c 100644
--- a/nimble/controller/src/ble_ll_conn.c
+++ b/nimble/controller/src/ble_ll_conn.c
@@ -2770,10 +2770,17 @@ ble_ll_conn_is_peer_adv(uint8_t addr_type, uint8_t *adva, int index)
case BLE_HCI_CONN_PEER_ADDR_RANDOM:
if (addr_type == connsm->peer_addr_type) {
#if (MYNEWT_VAL(BLE_LL_CFG_FEAT_LL_PRIVACY) == 1)
- /* Peer uses its identity address. Let's verify privacy mode*/
+ /* Peer uses its identity address. Let's verify privacy mode.
+ *
+ * Note: Core Spec 5.0 Vol 6, Part B
+ * If the Host has added the peer device to the resolving list
+ * with an all-zero peer IRK, the Controller shall only accept
+ * the peer's identity address.
+ */
if (ble_ll_resolv_enabled()) {
rl = ble_ll_resolv_list_find(adva, addr_type);
- if (rl && (rl->rl_priv_mode == BLE_HCI_PRIVACY_NETWORK)) {
+ if (rl && (rl->rl_priv_mode == BLE_HCI_PRIVACY_NETWORK) &&
+ ble_ll_resolv_irk_nonzero(rl->rl_peer_irk)) {
return 0;
}
}
----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
With regards,
Apache Git Services