Просмотр исходного кода

Merge branch 'bugfix/IDFGH-9552' into 'master'

NimBLE : Added configurable option for resolving peer address in bleprph example.

Closes IDFGH-9552

See merge request espressif/esp-idf!22834
Isha Pardikar 2 лет назад
Родитель
Сommit
720af16ff6

+ 7 - 0
examples/bluetooth/nimble/bleprph/main/Kconfig.projbuild

@@ -68,4 +68,11 @@ menu "Example Configuration"
         prompt "Enable Link Encryption"
         prompt "Enable Link Encryption"
         help
         help
             This adds Encrypted Read and Write permissions in the custom GATT server.
             This adds Encrypted Read and Write permissions in the custom GATT server.
+
+    config EXAMPLE_RESOLVE_PEER_ADDR
+        bool
+        prompt "Enable resolving peer address"
+        help
+            Use this option to enable resolving peer's address.
+
 endmenu
 endmenu

+ 9 - 7
examples/bluetooth/nimble/bleprph/main/main.c

@@ -539,6 +539,11 @@ app_main(void)
     ble_hs_cfg.sm_io_cap = CONFIG_EXAMPLE_IO_TYPE;
     ble_hs_cfg.sm_io_cap = CONFIG_EXAMPLE_IO_TYPE;
 #ifdef CONFIG_EXAMPLE_BONDING
 #ifdef CONFIG_EXAMPLE_BONDING
     ble_hs_cfg.sm_bonding = 1;
     ble_hs_cfg.sm_bonding = 1;
+    /* Enable the appropriate bit masks to make sure the keys
+     * that are needed are exchanged
+     */
+    ble_hs_cfg.sm_our_key_dist |= BLE_SM_PAIR_KEY_DIST_ENC;
+    ble_hs_cfg.sm_their_key_dist |= BLE_SM_PAIR_KEY_DIST_ENC;
 #endif
 #endif
 #ifdef CONFIG_EXAMPLE_MITM
 #ifdef CONFIG_EXAMPLE_MITM
     ble_hs_cfg.sm_mitm = 1;
     ble_hs_cfg.sm_mitm = 1;
@@ -548,15 +553,12 @@ app_main(void)
 #else
 #else
     ble_hs_cfg.sm_sc = 0;
     ble_hs_cfg.sm_sc = 0;
 #endif
 #endif
-#ifdef CONFIG_EXAMPLE_BONDING
-    /* Enable the appropriate bit masks to make sure the keys
-     * that are needed are exchanged
-     */
-    ble_hs_cfg.sm_our_key_dist = BLE_SM_PAIR_KEY_DIST_ENC;
-    ble_hs_cfg.sm_their_key_dist = BLE_SM_PAIR_KEY_DIST_ENC;
+#ifdef CONFIG_EXAMPLE_RESOLVE_PEER_ADDR
+    /* Stores the IRK */
+    ble_hs_cfg.sm_our_key_dist |= BLE_SM_PAIR_KEY_DIST_ID;
+    ble_hs_cfg.sm_their_key_dist |= BLE_SM_PAIR_KEY_DIST_ID;
 #endif
 #endif
 
 
-
     rc = gatt_svr_init();
     rc = gatt_svr_init();
     assert(rc == 0);
     assert(rc == 0);