From 6a1b472a062d251ce6f9b1f9e9e159671d1a54c3 Mon Sep 17 00:00:00 2001 From: Francisco Molina Date: Mon, 4 Apr 2022 11:27:41 +0200 Subject: [PATCH 1/3] sys/suit: save seq_number when parsing manifest --- sys/include/suit.h | 1 + sys/suit/handlers_global.c | 1 + 2 files changed, 2 insertions(+) diff --git a/sys/include/suit.h b/sys/include/suit.h index 942f7a3894..84f1f633cc 100644 --- a/sys/include/suit.h +++ b/sys/include/suit.h @@ -245,6 +245,7 @@ typedef struct { uint8_t validation_buf[SUIT_COSE_BUF_SIZE]; char *urlbuf; /**< Buffer containing the manifest url */ size_t urlbuf_len; /**< Length of the manifest url */ + uint32_t seq_number; /**< Set sequence number */ } suit_manifest_t; /** diff --git a/sys/suit/handlers_global.c b/sys/suit/handlers_global.c index 0ac4f488d7..2e906e67e7 100644 --- a/sys/suit/handlers_global.c +++ b/sys/suit/handlers_global.c @@ -76,6 +76,7 @@ static int _seq_no_handler(suit_manifest_t *manifest, int key, } LOG_INFO("suit: validated sequence number\n)"); + manifest->seq_number = seq_nr; manifest->validated |= SUIT_VALIDATED_SEQ_NR; return SUIT_OK; From 73d71a6dd5da75bc93380c09b1eb9d324e66e5ce Mon Sep 17 00:00:00 2001 From: Francisco Molina Date: Mon, 4 Apr 2022 11:28:08 +0200 Subject: [PATCH 2/3] sys/suit/sotarge/ram: on install set seq_no --- sys/suit/storage/ram.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/sys/suit/storage/ram.c b/sys/suit/storage/ram.c index af45c6ec3b..89a3d41d29 100644 --- a/sys/suit/storage/ram.c +++ b/sys/suit/storage/ram.c @@ -120,11 +120,9 @@ static int _ram_finish(suit_storage_t *storage, const suit_manifest_t *manifest) return SUIT_OK; } -static int _ram_install(suit_storage_t *storage, - const suit_manifest_t *manifest) +static int _ram_install(suit_storage_t *storage, const suit_manifest_t *manifest) { - (void)manifest; - (void)storage; + suit_storage_set_seq_no(storage, manifest->seq_number); return SUIT_OK; } From ebf09929750a0bfbbf20d7d2d26942628831347a Mon Sep 17 00:00:00 2001 From: Francisco Molina Date: Fri, 15 Apr 2022 08:20:20 +0200 Subject: [PATCH 3/3] tests/suit_manifest: fix seq_no of manifest4 --- tests/suit_manifest/create_test_data.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/suit_manifest/create_test_data.sh b/tests/suit_manifest/create_test_data.sh index eec4245885..c0a035a670 100644 --- a/tests/suit_manifest/create_test_data.sh +++ b/tests/suit_manifest/create_test_data.sh @@ -47,5 +47,5 @@ gen_manifest "${MANIFEST_DIR}/manifest3.bin".unsigned 2 "${MANIFEST_DIR}/file1.b sign_manifest "${MANIFEST_DIR}/manifest3.bin".unsigned "${MANIFEST_DIR}/manifest3.bin" # valid manifest, valid seqnr, signed, 2 components -gen_manifest "${MANIFEST_DIR}/manifest4.bin".unsigned 2 "${MANIFEST_DIR}/file1.bin:0:ram:0" "${MANIFEST_DIR}/file2.bin:0:ram:1" +gen_manifest "${MANIFEST_DIR}/manifest4.bin".unsigned 3 "${MANIFEST_DIR}/file1.bin:0:ram:0" "${MANIFEST_DIR}/file2.bin:0:ram:1" sign_manifest "${MANIFEST_DIR}/manifest4.bin".unsigned "${MANIFEST_DIR}/manifest4.bin"