Home | History | Annotate | Download | only in btm

Lines Matching refs:p_rec

1159     tBTM_SEC_DEV_REC *p_rec;
1171 if ((p_rec = btm_find_dev (bd_addr)) != NULL && (p_keys || key_type== BTM_LE_KEY_LID))
1173 btm_ble_init_pseudo_addr (p_rec, bd_addr);
1178 memcpy(p_rec->ble.keys.pltk, p_keys->penc_key.ltk, BT_OCTET16_LEN);
1179 memcpy(p_rec->ble.keys.rand, p_keys->penc_key.rand, BT_OCTET8_LEN);
1180 p_rec->ble.keys.sec_level = p_keys->penc_key.sec_level;
1181 p_rec->ble.keys.ediv = p_keys->penc_key.ediv;
1182 p_rec->ble.keys.key_size = p_keys->penc_key.key_size;
1183 p_rec->ble.key_type |= BTM_LE_KEY_PENC;
1184 p_rec->sec_flags |= BTM_SEC_LE_LINK_KEY_KNOWN;
1186 p_rec->sec_flags |= BTM_SEC_LE_LINK_KEY_AUTHED;
1188 p_rec->sec_flags &= ~BTM_SEC_LE_LINK_KEY_AUTHED;
1190 p_rec->ble.key_type,
1191 p_rec->sec_flags,
1192 p_rec->ble.keys.sec_level);
1198 p_rec->ble.keys.irk[i] = p_keys->pid_key.irk[i];
1201 //memcpy( p_rec->ble.keys.irk, p_keys->pid_key, BT_OCTET16_LEN); todo will crash the system
1202 memcpy(p_rec->ble.static_addr, p_keys->pid_key.static_addr, BD_ADDR_LEN);
1203 p_rec->ble.static_addr_type = p_keys->pid_key.addr_type;
1204 p_rec->ble.key_type |= BTM_LE_KEY_PID;
1205 BTM_TRACE_DEBUG("BTM_LE_KEY_PID key_type=0x%x save peer IRK", p_rec->ble.key_type);
1207 memcpy(p_rec->bd_addr, p_keys->pid_key.static_addr, BD_ADDR_LEN);
1209 btm_consolidate_dev(p_rec);
1213 memcpy(p_rec->ble.keys.pcsrk, p_keys->pcsrk_key.csrk, BT_OCTET16_LEN);
1214 p_rec->ble.keys.srk_sec_level = p_keys->pcsrk_key.sec_level;
1215 p_rec->ble.keys.counter = p_keys->pcsrk_key.counter;
1216 p_rec->ble.key_type |= BTM_LE_KEY_PCSRK;
1217 p_rec->sec_flags |= BTM_SEC_LE_LINK_KEY_KNOWN;
1219 p_rec->sec_flags |= BTM_SEC_LE_LINK_KEY_AUTHED;
1221 p_rec->sec_flags &= ~BTM_SEC_LE_LINK_KEY_AUTHED;
1224 p_rec->ble.key_type,
1225 p_rec->sec_flags,
1226 p_rec->ble.keys.srk_sec_level,
1227 p_rec->ble.keys.counter );
1231 memcpy(p_rec->ble.keys.lltk, p_keys->lenc_key.ltk, BT_OCTET16_LEN);
1232 p_rec->ble.keys.div = p_keys->lenc_key.div; /* update DIV */
1233 p_rec->ble.keys.sec_level = p_keys->lenc_key.sec_level;
1234 p_rec->ble.keys.key_size = p_keys->lenc_key.key_size;
1235 p_rec->ble.key_type |= BTM_LE_KEY_LENC;
1238 p_rec->ble.key_type,
1239 p_rec->ble.keys.div,
1240 p_rec->ble.keys.key_size,
1241 p_rec->ble.keys.sec_level );
1245 memcpy (p_rec->ble.keys.lcsrk, p_keys->lcsrk_key.csrk, BT_OCTET16_LEN);
1246 p_rec->ble.keys.div = p_keys->lcsrk_key.div; /* update DIV */
1247 p_rec->ble.keys.local_csrk_sec_level = p_keys->lcsrk_key.sec_level;
1248 p_rec->ble.keys.local_counter = p_keys->lcsrk_key.counter;
1249 p_rec->ble.key_type |= BTM_LE_KEY_LCSRK;
1251 p_rec->ble.key_type,
1252 p_rec->ble.keys.div,
1253 p_rec->ble.keys.local_csrk_sec_level,
1254 p_rec->ble.keys.local_counter );
1258 p_rec->ble.key_type |= BTM_LE_KEY_LID;
1285 if (p_rec)
1287 BTM_TRACE_DEBUG ("sec_flags=0x%x", p_rec->sec_flags);
1302 tBTM_SEC_DEV_REC *p_rec;
1306 if ((p_rec = btm_find_dev (bd_addr)) != NULL )
1308 p_rec->enc_key_size = enc_key_size;
1323 tBTM_SEC_DEV_REC *p_rec;
1325 if ((p_rec = btm_find_dev (bd_addr)) != NULL )
1327 return p_rec->enc_key_size;
1422 tBTM_SEC_DEV_REC *p_rec = btm_find_dev (bd_addr);
1426 if (p_rec == NULL)
1432 BTM_TRACE_DEBUG ("btm_ble_set_encryption sec_act=0x%x role_master=%d", sec_act, p_rec->role_master);
1436 p_rec->security_required |= BTM_SEC_IN_MITM;
1474 p_rec->sec_state = BTM_SEC_STATE_AUTHENTICATING;
1529 tBTM_SEC_DEV_REC *p_rec = btm_find_dev (bda);
1535 if (!p_rec )
1541 if (p_rec->sec_state == BTM_SEC_STATE_ENCRYPTING)
1547 p_cb->enc_handle = p_rec->ble_hci_handle;
1551 if (btsnd_hcic_ble_start_enc(p_rec->ble_hci_handle, dummy_rand, 0, stk))
1554 else if (p_rec->ble.key_type & BTM_LE_KEY_PENC)
1556 if (btsnd_hcic_ble_start_enc(p_rec->ble_hci_handle, p_rec->ble.keys.rand,
1557 p_rec->ble.keys.ediv, p_rec->ble.keys.pltk))
1566 if (p_rec->sec_state == BTM_SEC_STATE_IDLE)
1567 p_rec->sec_state = BTM_SEC_STATE_ENCRYPTING;
1629 tBTM_SEC_DEV_REC *p_rec = btm_find_dev (bda);
1632 if (p_rec == NULL)
1639 p_cb->enc_handle = p_rec->ble_hci_handle;
1640 p_cb->key_size = p_rec->ble.keys.key_size;
1642 BTM_TRACE_ERROR("key size = %d", p_rec->ble.keys.key_size);
1649 if (p_rec->ble.key_type & BTM_LE_KEY_LENC)
1650 btsnd_hcic_ble_ltk_req_reply(btm_cb.enc_handle, p_rec->ble.keys.lltk);
1773 static void btm_ble_resolve_random_addr_on_conn_cmpl(void * p_rec, void *p_data)
1776 tBTM_SEC_DEV_REC *match_rec = (tBTM_SEC_DEV_REC *) p_rec;
2155 tBTM_SEC_DEV_REC *p_rec = btm_find_dev (bd_addr);
2159 if (p_rec == NULL)
2177 UINT32_TO_STREAM(pp, p_rec->ble.keys.local_counter);
2178 UINT32_TO_STREAM(p_mac, p_rec->ble.keys.local_counter);
2180 if ((ret = aes_cipher_msg_auth_code(p_rec->ble.keys.lcsrk, p_buf, (UINT16)(len + 4),
2215 tBTM_SEC_DEV_REC *p_rec = btm_find_dev (bd_addr);
2218 if (p_rec == NULL || (p_rec && !(p_rec->ble.key_type & BTM_LE_KEY_PCSRK)))
2222 else if (counter < p_rec->ble.keys.counter)
2233 p_rec->ble.keys.counter);
2235 if (aes_cipher_msg_auth_code(p_rec->ble.keys.pcsrk, p_orig, len, BTM_CMAC_TLEN_SIZE, p_mac))