Lines Matching refs:p_rec
1112 tBTM_SEC_DEV_REC* p_rec; in btm_sec_save_le_key() local
1121 if ((p_rec = btm_find_dev(bd_addr)) != NULL && in btm_sec_save_le_key()
1123 btm_ble_init_pseudo_addr(p_rec, bd_addr); in btm_sec_save_le_key()
1127 p_rec->ble.keys.pltk = p_keys->penc_key.ltk; in btm_sec_save_le_key()
1128 memcpy(p_rec->ble.keys.rand, p_keys->penc_key.rand, BT_OCTET8_LEN); in btm_sec_save_le_key()
1129 p_rec->ble.keys.sec_level = p_keys->penc_key.sec_level; in btm_sec_save_le_key()
1130 p_rec->ble.keys.ediv = p_keys->penc_key.ediv; in btm_sec_save_le_key()
1131 p_rec->ble.keys.key_size = p_keys->penc_key.key_size; in btm_sec_save_le_key()
1132 p_rec->ble.key_type |= BTM_LE_KEY_PENC; in btm_sec_save_le_key()
1133 p_rec->sec_flags |= BTM_SEC_LE_LINK_KEY_KNOWN; in btm_sec_save_le_key()
1135 p_rec->sec_flags |= BTM_SEC_LE_LINK_KEY_AUTHED; in btm_sec_save_le_key()
1137 p_rec->sec_flags &= ~BTM_SEC_LE_LINK_KEY_AUTHED; in btm_sec_save_le_key()
1140 p_rec->ble.key_type, p_rec->sec_flags, p_rec->ble.keys.sec_level); in btm_sec_save_le_key()
1144 p_rec->ble.keys.irk = p_keys->pid_key.irk; in btm_sec_save_le_key()
1145 p_rec->ble.identity_address_with_type.bda = in btm_sec_save_le_key()
1147 p_rec->ble.identity_address_with_type.type = in btm_sec_save_le_key()
1149 p_rec->ble.key_type |= BTM_LE_KEY_PID; in btm_sec_save_le_key()
1153 __func__, p_rec->ble.key_type, p_rec->bd_addr.ToString().c_str(), in btm_sec_save_le_key()
1157 p_rec->bd_addr = p_keys->pid_key.identity_addr; in btm_sec_save_le_key()
1159 btm_consolidate_dev(p_rec); in btm_sec_save_le_key()
1163 p_rec->ble.keys.pcsrk = p_keys->pcsrk_key.csrk; in btm_sec_save_le_key()
1164 p_rec->ble.keys.srk_sec_level = p_keys->pcsrk_key.sec_level; in btm_sec_save_le_key()
1165 p_rec->ble.keys.counter = p_keys->pcsrk_key.counter; in btm_sec_save_le_key()
1166 p_rec->ble.key_type |= BTM_LE_KEY_PCSRK; in btm_sec_save_le_key()
1167 p_rec->sec_flags |= BTM_SEC_LE_LINK_KEY_KNOWN; in btm_sec_save_le_key()
1169 p_rec->sec_flags |= BTM_SEC_LE_LINK_KEY_AUTHED; in btm_sec_save_le_key()
1171 p_rec->sec_flags &= ~BTM_SEC_LE_LINK_KEY_AUTHED; in btm_sec_save_le_key()
1176 p_rec->ble.key_type, p_rec->sec_flags, in btm_sec_save_le_key()
1177 p_rec->ble.keys.srk_sec_level, p_rec->ble.keys.counter); in btm_sec_save_le_key()
1181 p_rec->ble.keys.lltk = p_keys->lenc_key.ltk; in btm_sec_save_le_key()
1182 p_rec->ble.keys.div = p_keys->lenc_key.div; /* update DIV */ in btm_sec_save_le_key()
1183 p_rec->ble.keys.sec_level = p_keys->lenc_key.sec_level; in btm_sec_save_le_key()
1184 p_rec->ble.keys.key_size = p_keys->lenc_key.key_size; in btm_sec_save_le_key()
1185 p_rec->ble.key_type |= BTM_LE_KEY_LENC; in btm_sec_save_le_key()
1190 p_rec->ble.key_type, p_rec->ble.keys.div, p_rec->ble.keys.key_size, in btm_sec_save_le_key()
1191 p_rec->ble.keys.sec_level); in btm_sec_save_le_key()
1195 p_rec->ble.keys.lcsrk = p_keys->lcsrk_key.csrk; in btm_sec_save_le_key()
1196 p_rec->ble.keys.div = p_keys->lcsrk_key.div; /* update DIV */ in btm_sec_save_le_key()
1197 p_rec->ble.keys.local_csrk_sec_level = p_keys->lcsrk_key.sec_level; in btm_sec_save_le_key()
1198 p_rec->ble.keys.local_counter = p_keys->lcsrk_key.counter; in btm_sec_save_le_key()
1199 p_rec->ble.key_type |= BTM_LE_KEY_LCSRK; in btm_sec_save_le_key()
1203 p_rec->ble.key_type, p_rec->ble.keys.div, in btm_sec_save_le_key()
1204 p_rec->ble.keys.local_csrk_sec_level, in btm_sec_save_le_key()
1205 p_rec->ble.keys.local_counter); in btm_sec_save_le_key()
1209 p_rec->ble.key_type |= BTM_LE_KEY_LID; in btm_sec_save_le_key()
1235 if (p_rec) { in btm_sec_save_le_key()
1236 BTM_TRACE_DEBUG("sec_flags=0x%x", p_rec->sec_flags); in btm_sec_save_le_key()
1251 tBTM_SEC_DEV_REC* p_rec; in btm_ble_update_sec_key_size() local
1256 p_rec = btm_find_dev(bd_addr); in btm_ble_update_sec_key_size()
1257 if (p_rec != NULL) { in btm_ble_update_sec_key_size()
1258 p_rec->enc_key_size = enc_key_size; in btm_ble_update_sec_key_size()
1272 tBTM_SEC_DEV_REC* p_rec; in btm_ble_read_sec_key_size() local
1274 p_rec = btm_find_dev(bd_addr); in btm_ble_read_sec_key_size()
1275 if (p_rec != NULL) { in btm_ble_read_sec_key_size()
1276 return p_rec->enc_key_size; in btm_ble_read_sec_key_size()
1362 tBTM_SEC_DEV_REC* p_rec = btm_find_dev(bd_addr); in btm_ble_set_encryption() local
1366 if (p_rec == NULL) { in btm_ble_set_encryption()
1373 sec_act, p_rec->role_central); in btm_ble_set_encryption()
1376 p_rec->security_required |= BTM_SEC_IN_MITM; in btm_ble_set_encryption()
1410 p_rec->sec_state = BTM_SEC_STATE_AUTHENTICATING; in btm_ble_set_encryption()
1455 tBTM_SEC_DEV_REC* p_rec = btm_find_dev(bda); in btm_ble_start_encrypt() local
1460 if (!p_rec) { in btm_ble_start_encrypt()
1465 if (p_rec->sec_state == BTM_SEC_STATE_ENCRYPTING) { in btm_ble_start_encrypt()
1470 p_cb->enc_handle = p_rec->ble_hci_handle; in btm_ble_start_encrypt()
1473 btsnd_hcic_ble_start_enc(p_rec->ble_hci_handle, dummy_rand, 0, *p_stk); in btm_ble_start_encrypt()
1474 } else if (p_rec->ble.key_type & BTM_LE_KEY_PENC) { in btm_ble_start_encrypt()
1475 btsnd_hcic_ble_start_enc(p_rec->ble_hci_handle, p_rec->ble.keys.rand, in btm_ble_start_encrypt()
1476 p_rec->ble.keys.ediv, p_rec->ble.keys.pltk); in btm_ble_start_encrypt()
1482 if (p_rec->sec_state == BTM_SEC_STATE_IDLE) in btm_ble_start_encrypt()
1483 p_rec->sec_state = BTM_SEC_STATE_ENCRYPTING; in btm_ble_start_encrypt()
1546 tBTM_SEC_DEV_REC* p_rec = btm_find_dev(bda); in btm_ble_ltk_request_reply() local
1549 if (p_rec == NULL) { in btm_ble_ltk_request_reply()
1555 p_cb->enc_handle = p_rec->ble_hci_handle; in btm_ble_ltk_request_reply()
1556 p_cb->key_size = p_rec->ble.keys.key_size; in btm_ble_ltk_request_reply()
1558 BTM_TRACE_ERROR("key size = %d", p_rec->ble.keys.key_size); in btm_ble_ltk_request_reply()
1563 if (p_rec->ble.key_type & BTM_LE_KEY_LENC) in btm_ble_ltk_request_reply()
1564 btsnd_hcic_ble_ltk_req_reply(btm_cb.enc_handle, p_rec->ble.keys.lltk); in btm_ble_ltk_request_reply()
1885 tBTM_SEC_DEV_REC* p_rec = btm_find_dev(bd_addr); in BTM_BleDataSignature() local
1888 if (p_rec == NULL) { in BTM_BleDataSignature()
1906 UINT32_TO_STREAM(pp, p_rec->ble.keys.local_counter); in BTM_BleDataSignature()
1907 UINT32_TO_STREAM(p_mac, p_rec->ble.keys.local_counter); in BTM_BleDataSignature()
1909 crypto_toolbox::aes_cmac(p_rec->ble.keys.lcsrk, p_buf, (uint16_t)(len + 4), in BTM_BleDataSignature()
1948 tBTM_SEC_DEV_REC* p_rec = btm_find_dev(bd_addr); in BTM_BleVerifySignature() local
1951 if (p_rec == NULL || (p_rec && !(p_rec->ble.key_type & BTM_LE_KEY_PCSRK))) { in BTM_BleVerifySignature()
1953 } else if (counter < p_rec->ble.keys.counter) { in BTM_BleVerifySignature()
1959 p_rec->ble.keys.counter); in BTM_BleVerifySignature()
1961 crypto_toolbox::aes_cmac(p_rec->ble.keys.pcsrk, p_orig, len, in BTM_BleVerifySignature()