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