64 Commits

Author SHA1 Message Date
Matthias Ringwald
1d36037326 mesh: add mesh_lower_transport_set_higher_layer_handler to avaoid calling upper transport directly 2019-07-20 08:50:26 +02:00
Matthias Ringwald
f33895f322 mesh: extract mesh_lower_transport 2019-07-20 08:50:26 +02:00
Matthias Ringwald
f4e1709172 mesh: complete split-off for lower transport 2019-07-20 08:50:26 +02:00
Matthias Ringwald
5a46508a34 mesh: single queue for received upper transport messages, new mesh_lower_transport_message_processed_by_higher_layer 2019-07-20 08:50:26 +02:00
Matthias Ringwald
f46b7bdedf mesh: add mesh_pdu_type_t to mesh_network_pdu_t and mesh_transport_pdu_t, use mesh_network/transport_get/free to set pdu type on alloc 2019-07-20 08:50:26 +02:00
Matthias Ringwald
2a8034828b mesh: sort mesh_transprot into lower and upper transport 2019-07-20 08:50:26 +02:00
Matthias Ringwald
f3f54aca9a mesh: reconstruct SeqAuth from network seq and seq_zero 2019-07-20 08:50:26 +02:00
Matthias Ringwald
257edf9b97 mesh: extract mesh_peer from mesh_transport 2019-07-20 08:50:26 +02:00
Matthias Ringwald
ac529a2ab2 mesh: use seq_zero to reconstruct SeqAuth for App / Device nonce 2019-07-20 08:50:26 +02:00
Matthias Ringwald
86409f1d2c mesh: set lsb of iv index for segmented access messsages 2019-07-20 08:50:26 +02:00
Matthias Ringwald
b1d149f5f6 mesh: fix transport setup 2019-07-20 08:50:25 +02:00
Matthias Ringwald
93a94cc802 mesh: inline seq and seq_zero validation 2019-07-20 08:50:25 +02:00
Matthias Ringwald
c88da99af5 mesh: replace test_transport_pdu by transport_pdu in peer info 2019-07-20 08:50:25 +02:00
Matthias Ringwald
707df8d95d mesh: reset test_transport_pdu when message is complete 2019-07-20 08:50:25 +02:00
Matthias Ringwald
8e385fa075 mesh: use block_ack from peer info for completed transport messages 2019-07-20 08:50:25 +02:00
Matthias Ringwald
6b0bede0ef mesh: store block_ack in peer info 2019-07-20 08:50:25 +02:00
Matthias Ringwald
2a0ab8c231 mesh: use replay protection list 2019-07-20 08:50:25 +02:00
Matthias Ringwald
16753ea2f9 mesh: handle network messages where IVI field indicates previous IV Index 2019-07-20 08:50:25 +02:00
Matthias Ringwald
f8e58086aa mesh: fix start/stop rx incomplete, only send ack for current/last message, discard message on rx timeout 2019-07-20 08:50:25 +02:00
Matthias Ringwald
d6ffd4d823 mesh: use seq_zero from transport_pdu 2019-07-20 08:50:25 +02:00
Matthias Ringwald
7ca1816e76 mesh: release current transport pdu when next one starts, send ack for current transport pdu 2019-07-20 08:50:25 +02:00
Matthias Ringwald
5d48d60257 mesh: fix seq zero check for segmented message reassembly 2019-07-20 08:50:25 +02:00
Matthias Ringwald
630ddcce25 mesh: fix TransMIC for segmented access message 2019-07-20 08:50:25 +02:00
Matthias Ringwald
183b283d8b mesh: unsegmented access digest, use correct label uuid 2019-07-20 08:50:25 +02:00
Matthias Ringwald
fd803dcccd mesh: transport ignore segments for older messages 2019-07-20 08:50:25 +02:00
Matthias Ringwald
ab39288ffc mesh: reset transport reassembly engine on transport pdu completely received 2019-07-20 08:50:25 +02:00
Matthias Ringwald
a0ef0cb07f mesh: log LabelUUID when used for sending 2019-07-20 08:50:25 +02:00
Matthias Ringwald
9620054ea5 mesh: use single outgoing seq counter 2019-07-20 08:50:25 +02:00
Matthias Ringwald
5d886e0232 mesh: improve debug output for sending ack 2019-07-20 08:50:25 +02:00
Matthias Ringwald
f529f52e08 mesh: extract stop ack/incomplete timer 2019-07-20 08:50:25 +02:00
Matthias Ringwald
62b75e2f6e mesh: abort sending segmented access messages 2019-07-20 08:50:25 +02:00
Matthias Ringwald
1671081823 mesh: prepare mesh console for access message tests with virtual address 2019-07-20 08:50:25 +02:00
Matthias Ringwald
8fb1156553 mesh: store pseudo_dst in dst for access pdu to virtual address 2019-07-20 08:50:25 +02:00
Matthias Ringwald
92a8bb0a3d mesh: streamline pseudo-dst -> dst translation for upper transport send 2019-07-20 08:50:25 +02:00
Matthias Ringwald
6159937ae3 mesh: fix send of segmented messages to unicast addresses, translate dst field 2019-07-20 08:50:25 +02:00
Matthias Ringwald
1f14b985c9 mesh: use label uuid to encrypt access messages 2019-07-20 08:50:25 +02:00
Matthias Ringwald
35d72e7fa0 mesh: use virtual uuid for upper transport decryption 2019-07-20 08:50:25 +02:00
Matthias Ringwald
bd9920ce68 mesh: handle device key in new mesh transport key iterator, simplify code 2019-07-20 08:50:25 +02:00
Matthias Ringwald
e647d3c4d5 mesh: unify application and device key into transport key 2019-07-20 08:50:25 +02:00
Matthias Ringwald
ef1b7a347a mesh: lookup device key via mesh_application_key_list_get 2019-07-20 08:50:25 +02:00
Matthias Ringwald
56d016f692 btstack_crypto: fix typo in ccm functions 2019-07-20 08:50:25 +02:00
Matthias Ringwald
4b7549296a mesh: add helpers 2019-07-20 08:50:24 +02:00
Matthias Ringwald
c91786bcc4 mesh: resend segmented access messages to group/virtual addresses 2019-07-20 08:50:24 +02:00
Matthias Ringwald
c4ef6852af mesh: fix transport seq auth 2019-07-20 08:50:24 +02:00
Milanka Ringwald
24284afc7e mesh: implement mesh_seq_auth_validate for single remote addres 2019-07-20 08:50:24 +02:00
Milanka Ringwald
bec71e2448 mesh: fix crash on send segment after transport pdu tx complete 2019-07-20 08:50:24 +02:00
Milanka Ringwald
094df9d022 mesh: reset seg_o before sending unack'ed segments again 2019-07-20 08:50:24 +02:00
Milanka Ringwald
b53cd3bd65 mesh: provide mesh_transport_seq_zero based on seq in transport_pdu 2019-07-20 08:50:24 +02:00
Matthias Ringwald
bc0d07b4e9 mesh: store seg_zero in transport_pdu seq for segmented pdus 2019-07-20 08:50:24 +02:00
Matthias Ringwald
af0e9e5e24 mesh: set primary element address for mesh_transport 2019-07-20 08:50:24 +02:00