Pārlūkot izejas kodu

Merge branch 'bugfix/revert_commit_da44fc9c' into 'master'

Revert "fixed the issue iOS devices cannot initiate connection"

See merge request espressif/esp-idf!20665
Jiang Jiang Jian 3 gadi atpakaļ
vecāks
revīzija
67bb3d0932

+ 4 - 0
components/bt/host/bluedroid/stack/btm/btm_acl.c

@@ -347,6 +347,10 @@ void btm_acl_created (BD_ADDR bda, DEV_CLASS dc, UINT8 bdn[BTM_MAX_REM_BD_NAME_L
                         btm_establish_continue (p);
                         btm_establish_continue (p);
                         return;
                         return;
                     }
                     }
+                } else {
+                    /* If remote features indicated secure connection (SC) mode, check the remote feautres again*/
+                    /* this is to prevent from BIAS attack where attacker can downgrade SC mode*/
+                    btm_read_remote_features (p->hci_handle);
                 }
                 }
             }
             }
 
 

+ 1 - 3
components/bt/host/bluedroid/stack/btm/btm_sec.c

@@ -4024,9 +4024,7 @@ void btm_sec_auth_complete (UINT16 handle, UINT8 status)
         return;
         return;
     }
     }
 
 
-    if (!(p_dev_rec->sm4 & BTM_SM4_UPGRADE)) {
-        p_dev_rec->sec_flags |= BTM_SEC_AUTHENTICATED;
-    }
+    p_dev_rec->sec_flags |= BTM_SEC_AUTHENTICATED;
 
 
     if (p_dev_rec->pin_code_length >= 16 ||
     if (p_dev_rec->pin_code_length >= 16 ||
             p_dev_rec->link_key_type == BTM_LKEY_TYPE_AUTH_COMB ||
             p_dev_rec->link_key_type == BTM_LKEY_TYPE_AUTH_COMB ||

+ 1 - 2
components/bt/host/bluedroid/stack/l2cap/l2c_link.c

@@ -87,8 +87,7 @@ BOOLEAN l2c_link_hci_conn_req (BD_ADDR bd_addr)
 
 
             if (p_lcb_cur->in_use) {
             if (p_lcb_cur->in_use) {
                 no_links = FALSE;
                 no_links = FALSE;
-                // p_lcb->link_role = HCI_ROLE_MASTER;
-                p_lcb->link_role = HCI_ROLE_SLAVE;
+                p_lcb->link_role = HCI_ROLE_MASTER;
                 break;
                 break;
             }
             }
         }
         }