98 Commits

Author SHA1 Message Date
matthias.ringwald@gmail.com
6189a1c676 Security Manager extended for multiple LE connections 2015-02-27 10:52:33 +00:00
matthias.ringwald@gmail.com
477200f2ef use sm_active_connection as mutex for setup context struct 2015-02-26 21:32:16 +00:00
matthias.ringwald@gmail.com
a911672806 track if sm_setup is used 2015-02-26 16:11:09 +00:00
matthias.ringwald@gmail.com
362481ca52 sort sm_init_setup, fix compile 2015-02-26 15:31:52 +00:00
matthias.ringwald@gmail.com
3143670f4d call sm_init_setup from sm_run() 2015-02-26 15:07:24 +00:00
matthias.ringwald@gmail.com
6731b28f11 extracted sm_init_setup 2015-02-26 15:02:59 +00:00
matthias.ringwald@gmail.com
fe9e7f880a fix regression in r3160 that broke security manager 2015-02-26 14:30:51 +00:00
matthias.ringwald@gmail.com
3e58ab5fb0 finish removal of global sm_connection_t * connection. 2015-02-12 23:04:15 +00:00
matthias.ringwald@gmail.com
befc8792ad pass in sm_connection_t to sm_central_start_lookup, reset CSRK state when done now 2015-02-12 21:36:06 +00:00
matthias.ringwald@gmail.com
ed70b3cf11 pass sm_connection into aes128 and random generation, correct fake sm_connection lookup for API functions 2015-02-12 16:16:42 +00:00
matthias.ringwald@gmail.com
256355c709 pass in sm_connection_t to more functions 2015-02-12 15:37:01 +00:00
matthias.ringwald@gmail.com
eab62d1026 pass in sm_connection_t to timer funtions 2015-02-12 15:27:54 +00:00
matthias.ringwald@gmail.com
95d04d447f move Security Manager sm_connection_t struct into hci.h for integration into hci_connection_t 2015-02-12 14:50:29 +00:00
mila@ringwald.ch
a0c35809ae streamline copyright headers 2015-02-06 16:19:27 +00:00
matthias.ringwald@gmail.com
254e71e6e7 update FSM state before sending an HCI command or L2CAP packet to avoid theoretical race-condition of response arriving before state was updated 2014-10-16 15:02:48 +00:00
matthias.ringwald@gmail.com
b832792a22 use IO_CAPABILITY_NO_INPUT_NO_OUTPUT as default for LE (same as for Classic now) 2014-10-16 13:56:25 +00:00
matthias.ringwald@gmail.com
22f6379b3a set state before notifying user 2014-09-05 14:59:16 +00:00
matthias.ringwald@gmail.com
756ca330b0 don't call sm_run before event handler, avoids warning. don't check for l2cap_can_send_now if no connection 2014-08-28 07:50:13 +00:00
matthias.ringwald
b1bb02c964 move check for acl packets after state machines for CMAC, key generation, random address generation 2014-08-27 12:52:20 +00:00
matthias.ringwald
d37bc63c22 use READ_BT_32 to avoid crash beacuse of non-aligned data access 2014-08-27 12:50:09 +00:00
mila@ringwald.ch
9da54300b6 use log_info instead of printf, remove trailing newline from log calls 2014-08-15 21:26:50 +00:00
matthias.ringwald@gmail.com
97e8ef4a90 fix warnings 2014-08-11 22:09:43 +00:00
matthias.ringwald@gmail.com
d27c46f584 fix compile 2014-08-11 22:00:51 +00:00
matthias.ringwald@gmail.com
f9a298a27e use l2cap_can_send_fixed_channel_packet_now 2014-08-11 21:58:44 +00:00
matthias.ringwald@gmail.com
d94d3caf6b use hci_can_send_command_packet_now instead of hci_can_send_packet_now_using_packet_buffer(HCI_COMMAND_DATA_PACKET) 2014-08-11 21:20:07 +00:00
matthias.ringwald
49cbe0bc2d trigger user response before calucation local confirm as Iniiator, too 2014-06-15 16:02:56 +00:00
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