293 Commits

Author SHA1 Message Date
matthias.ringwald
b107f94044 extracted sm_trigger_user_response() and extend for Initiator role 2014-06-15 15:43:05 +00:00
matthias.ringwald
c915297a5f label RESPONDER states, drop _STATE from SM_STATES 2014-06-15 15:27:04 +00:00
matthias.ringwald
dd11c3c76d sort other setup vars after phases 2014-06-15 10:55:02 +00:00
matthias.ringwald
566ca003b2 sm_aes128_plaintext -> sm_c1_t3_value to document usage 2014-06-15 10:42:39 +00:00
matthias.ringwald
a674d4c1e6 don't use sm_aes128_plaintext for ltk calculation 2014-06-15 10:40:36 +00:00
matthias.ringwald
9c8b3a52e3 don't use sm_aes128_plaintext for ltk calculation 2014-06-15 10:38:00 +00:00
matthias.ringwald
0685b7b19c calculate keys in Initiator role, too 2014-06-15 10:35:03 +00:00
matthias.ringwald
937643c571 calculate local CSRK for key distribution 2014-06-15 10:26:41 +00:00
matthias.ringwald
eb1157bb12 sort setup fields by phases, use addr type of device to find in central db 2014-06-14 21:11:34 +00:00
matthias.ringwald
afb65a03fb use sm_peer_address/addr_type for receiving keys and use local addrress/addr_type directly from hci 2014-06-14 20:45:50 +00:00
matthias.ringwald
cb7e8bd038 store all received keys (aside from peer addr and type) 2014-06-13 18:37:12 +00:00
matthias.ringwald
e14eb8abef finish key distribution for initiator role 2014-06-13 15:50:55 +00:00
matthias.ringwald
641f306499 encryption with STK in initiator role working 2014-06-13 15:28:41 +00:00
matthias.ringwald
8e9a149871 use local/peer instead of m/s for confirm 2014-06-13 13:36:13 +00:00
matthias.ringwald
dd03900d94 use local/peer instead of m/s for random 2014-06-13 13:31:16 +00:00
matthias.ringwald
9f1de16289 Phase 2 of sm setup working for initiator 2014-06-13 13:22:41 +00:00
matthias.ringwald
24139500d2 rename sm_s_ltk into sm_ltk (it's used as sm_stk, too) 2014-06-13 12:42:10 +00:00
matthias.ringwald
71e40bc615 send c1 and random, calculation not correct yet 2014-06-13 12:39:16 +00:00
matthias.ringwald
6d85ed58f1 reused c1 calculation for initiator role 2014-06-13 11:03:05 +00:00
matthias.ringwald
8d6bb42426 reuse SM_STATE_PH2_C1_GET_RANDOM_A for Initiator 2014-06-13 10:45:29 +00:00
matthias.ringwald
814aa0b0d5 reuse SM_STATE_PH2_GET_RANDOM_TK for initiator, too 2014-06-13 10:36:03 +00:00
matthias.ringwald
9b1377736e added sm_stk_generation_method to sm setup 2014-06-13 10:19:18 +00:00
matthias.ringwald
b95904ca68 extracted calculation of actual key size and validation of stk generation method 2014-06-13 10:13:57 +00:00
matthias.ringwald
70e9b98021 started work on initiator side, pairing request/response are exchanged 2014-06-13 09:53:46 +00:00
matthias.ringwald
ab288af094 fix compile, use SM_STATE_CONNECTED_AS_INITIATOR as Central 2014-06-13 08:59:47 +00:00
matthias.ringwald
50111094b9 fix compile 2014-06-13 08:54:20 +00:00
matthias.ringwald
67be2318fb introduce sm_pairing_packet struct to avoid duplicate data, get oob data right after connect 2014-06-12 23:30:07 +00:00
matthias.ringwald
4582af4c24 sm_s_auth_req and sm_s_io_capabilities into setup, sm_auth_req and sm_io_capabilites as global config 2014-06-12 22:15:27 +00:00
matthias.ringwald
d90eba5c0c store role and peer address in connection, only send slave request security if we're slave 2014-06-12 22:09:14 +00:00
matthias.ringwald
d4eb9144ae minimal sorting of variables into global, setup, and connection done 2014-06-12 21:54:00 +00:00
matthias.ringwald
46857d030e move data for sm setup into sm_setup_context 2014-06-12 21:16:47 +00:00
matthias.ringwald
f9796d0dcf moved other fields required per connection into struct 2014-06-12 20:14:57 +00:00
matthias.ringwald
642083fd9a introduce temp sm_connection_t struct and put sm_state_responding into it 2014-06-12 19:50:09 +00:00
matthias.ringwald
ad0e8d7cb3 fix missing () 2014-06-12 19:41:22 +00:00
matthias.ringwald
04b0940343 serialize request to sm_central_device_lookup 2014-06-12 15:42:51 +00:00
matthias.ringwald
4fcbaf28ae prepare ckrk lookup to work in a multi-connection environment 2014-06-12 15:07:01 +00:00
matthias.ringwald
a50f0d8c57 track aes128 state and use of sm_aes128_plaintext var 2014-06-12 13:38:17 +00:00
matthias.ringwald
784e72fdec removed sm_aes128_key 2014-06-12 13:14:43 +00:00
matthias.ringwald
f38c10628c fixed unsafe use in HCI_SUBEVENT_LE_LONG_TERM_KEY_REQUEST 2014-06-12 12:57:24 +00:00
matthias.ringwald
9b4485bbfa fixed unsafe use in SM_STATE_PH3_W4_DIV 2014-06-12 12:51:54 +00:00
matthias.ringwald
44f9951d12 fixed unsafe use in SM_STATE_PH2_C1_W4_RANDOM_B 2014-06-12 12:49:52 +00:00
matthias.ringwald
ea344a2be2 extracted sm_handle_random_result, marked unsafe use of aes128 input vars, fixed unsafe use in SM_STATE_PH2_W4_PAIRING_RANDOM 2014-06-12 12:44:03 +00:00
matthias.ringwald
24ac29f6b9 extraced sm_handle_encryption_result 2014-06-12 10:32:55 +00:00
matthias.ringwald
e776213c37 fix compile with C++ compiler 2014-06-12 10:12:23 +00:00
matthias.ringwald
4c427ab8e2 use l2cap mtu for att server 2014-06-11 20:57:59 +00:00
matthias.ringwald
7763678c43 remove signature from att_write callback, add connection handle to att read and write callbacks, update examples 2014-06-10 21:44:05 +00:00
matthias.ringwald
baecf7ef51 fix handling of packet sent events - gatt client might have got stuck before 2014-06-10 21:41:05 +00:00
matthias.ringwald
e292f40715 fix parsing of strings used as Characteristic Values 2014-06-10 19:24:46 +00:00
matthias.ringwald
46b8af2f04 check att_write_callback != null before calling it 2014-06-08 20:26:47 +00:00
matthias.ringwald
760b5fafed check att_write_callback != null before calling it 2014-06-08 20:25:27 +00:00