1
0
mirror of https://github.com/RIOT-OS/RIOT.git synced 2024-12-29 04:50:03 +01:00
Commit Graph

42 Commits

Author SHA1 Message Date
chrysn
8d6a375537 sys/suit: Fix missing include 2023-05-27 21:01:18 +02:00
chrysn
763474b485 sys/suit: Introduce functions to provide a manifest in memory
This adds the suit_worker_try_prepare / suit_worker_trigger_prepared
pair for using the SUIT worker, and breaks suit_handle_manifest_buf out
of suit_handle_url (where the latter now calls the former).

As part of factoring out reaping of the zombie worker thread, a locking
error that deadlocks the SUIT worker in case the race between the mutex
being unlocked and the thread being reaped hits the necessary handling
code is fixed (and mutex_unlock is called in the error path).
2023-05-27 21:01:18 +02:00
chrysn
2c716d3ede sys/suit: Ensure previous thread is stopped before reusing its stack
Closes: https://github.com/RIOT-OS/RIOT/issues/19195
2023-01-25 18:04:28 +01:00
Benjamin Valentin
4f576285bb sys/suit: accept coaps:// URLs 2023-01-13 00:17:33 +01:00
Benjamin Valentin
15a43f28f2 suit: start worker thread on demand 2022-09-05 07:46:56 +02:00
Benjamin Valentin
db701de094 suit: clean up worker thread, make suit_handle_url() public 2022-09-05 07:46:56 +02:00
Benjamin Valentin
f95d577245 suit: make use of worker functions 2022-09-03 23:25:01 +02:00
Benjamin Valentin
0b6e344d4f suit: rename worker thread functions (they are not CoAP only) 2022-09-03 23:25:01 +02:00
Benjamin Valentin
acfab72296 nanocoap: make use of coap_request_ctx_t 2022-07-17 14:29:39 +02:00
Benjamin Valentin
d9114f81c4 suit: replace SUIT_URL_MAX with CONFIG_SOCK_URLPATH_MAXLEN 2022-06-01 13:00:51 +02:00
Benjamin Valentin
8e5812d218 suit/transport: move common code to new file 2022-06-01 13:00:51 +02:00
Benjamin Valentin
dd4a578ef3 suit/transport/vfs: add VFS as source for firmware updates 2022-06-01 13:00:50 +02:00
Benjamin Valentin
1662f0fa46 sys/suit: move suit_storage_helper() to handlers_command_seq.c 2022-05-25 12:17:48 +02:00
677871d717 suit/transport/coap: Use generic subtree handler
The SUIT CoAP code can make use of the generic subtree handler. This
commit removes the obsolete code to make use of the more generic
nanocoap subtree handlers.
2022-04-23 10:21:37 +02:00
Benjamin Valentin
d1fe77e6de suit/transport/coap: adapt to new API 2022-04-13 19:33:00 +02:00
Karl Fessel
ddbf64ccca sys/suit_transport_coap: convert to ztimer_msec, rm unused deadline_fns 2022-03-31 23:37:15 +02:00
Benjamin Valentin
a6a8356385 nanocoap: add nanocoap_get_blockwise_url_to_buf() function
This moves the internal convenience function suit_coap_get_blockwise_url_buf()
into nanocoap to make it globally available.
2022-03-22 10:36:50 +01:00
Benjamin Valentin
2682848a29 suit/transport/coap: move suit_coap_get_blockwise() to nanocoap 2022-01-27 14:42:49 +01:00
Benjamin Valentin
8c9f413b33 suit/transport/coap: move suit_coap_get_blockwise() to socket based API 2022-01-27 14:42:49 +01:00
Benjamin Valentin
88d0b5753c suit/transport/coap: let caller allocate blockwise work buffer 2022-01-27 14:42:49 +01:00
Benjamin Valentin
6f161569f4 suit/transport/coap: use nanocoap for request
This changes the retransmission timeout behavior.
In SUIT the timeout was uses as the maximum time *all* retransmissions
could take, whereas in nanocoap the timeout was specified per retransmission.

This means that SUIT now adopts the timeout behavior of nanocoap.
2022-01-27 14:41:06 +01:00
0d8070fc42
suit: Guard flashwrite interaction in suit_transport_coap 2021-07-08 10:22:37 +02:00
Benjamin Valentin
769978904a suit/transport/coap: use coap_opt_put_uri()
The URI is passed as a string to `suit_coap_get_blockwise()`.
It may contain query parameters, those will not be translated
properly to CoAP options if `coap_opt_put_uri_path()` is used.

Instead use `coap_opt_put_uri()` to handle both path and query
parameters.
2021-02-23 18:27:54 +01:00
Benjamin Valentin
191c91ce18 suit/transport/coap: make blocksize configurable
When using SUIT over a link-layer that supports larger PDU, a larger
CoAP blocksize is desirable to speed up firmware downloads.

To support this, make the CoAP blocksize used by SUIT configurable.
2020-12-03 10:51:42 +01:00
Firas Hamdi
398889cafa sys/suit: fix use w/o progress bar
apply change
2020-12-02 10:51:36 +01:00
Bas Stottelaar
1b35d06a51 sys/*: realign ENABLE_DEBUG 2020-10-23 11:27:48 +02:00
Bas Stottelaar
80d9da90df sys/*: add missing include of assert.h 2020-10-22 11:13:09 +02:00
Bas Stottelaar
47d376c5c3 sys/*: add explicit include of timex.h 2020-10-21 21:47:31 +02:00
b72d510690
suit/transport/mock: Use common storage backend 2020-09-30 14:32:27 +02:00
edeffdcd54
suit: Adapt manifest handling to use common storage backend 2020-09-30 14:32:27 +02:00
fc794d9a21
Merge pull request #15092 from bergzand/pr/suit/per_component_flags
suit: Introduce per-component flags
2020-09-29 15:03:06 +02:00
d9cf10c109
suit: Introduce per-component flags 2020-09-29 13:09:32 +02:00
Francisco
bfb8fc52b1
Merge pull request #15094 from bergzand/pr/suit/secure_fetch
SUIT: fail fetch if the image size doesn't match expected
2020-09-28 14:11:26 +02:00
91df9cae87
suit: Finalize image after digest verification 2020-09-26 14:40:14 +02:00
791155d3dd
suit/coap: fail fetch if the image size doesn't match expected 2020-09-26 13:34:50 +02:00
cdf45f9798
suit: Move policy check to before fetch
This prevents the whole payload fetch if the manifest fails the policy
check
2020-09-26 12:48:53 +02:00
c8ecc9c3ca
suit: Upgrade manifest parser to IETF-v9 compliance 2020-09-24 21:15:08 +02:00
Leandro Lanzieri
9e427e1584
net/coap: Move COAP_MAX_RETRANSMIT to 'CONFIG' namespace
COAP_MAX_RETRANSMIT is moved to the compile time configuration macro
namespace.
2020-04-24 10:06:43 +02:00
Leandro Lanzieri
072a0d8563
net/coap: Move COAP_ACK_TIMEOUT to 'CONFIG' namespace
COAP_ACK_TIMEOUT is moved to the compile time configuration macro
namespace.
2020-04-24 10:06:40 +02:00
e12defd5a0
suit/transport/coap: Use nanocoap coap_tree_handler 2020-03-24 09:38:24 +01:00
413b91326f
tests/suit_v3_manifest: Add draft-ietf-v3 manifest parser test
Co-authored-by: Kaspar Schleiser <kaspar@schleiser.de>
2020-03-19 22:56:01 +01:00
14bdf8f46b
sys/suit: Add SUIT draft ietf-v3 firmware upgrade module
Co-authored-by: Kaspar Schleiser <kaspar@schleiser.de>
2020-03-18 14:13:12 +01:00