Subject: [Suit] questions draft-moran-suit-manifest-01

From: Koen Zandberg <[email-masked]>
Date: Tue, 22 May 2018 11:33:13 +0200

Hello

I am implementing a SUIT manifest parser in RIOT.
Below is a list of questions I came up with, regarding
draft-moran-suit-manifest-01:

1. From the draft I don't get a clear understanding of how the
manifestVersion field should be handled. Does it have to be processed by
the parser? Is it just a human readable version number for the firmware
or manifest? If not, what is the difference between the timestamp and
the manifestVersion.

2. Is there a recommended size in bytes for the nonce?          
                         
3. What should happen when the "apply after" directive is used on a
manifest and a new manifest is received while the update from the first
manifest is not yet applied?

4. The draft currently doesn't specify numbers for the payload format
field. Are there standard formats/numbers going to be defined at some point?

5. For the Device ID, UUID type 1 is recommended. As I understand it,
UUID type 1 is time dependent. Should it be generated at compile time,
and thus take the time stamp when compiling? This would cause the Device
ID to change with every update though.

6. From how I read RFC 4122, it doesn't specify a byte order for UUID's.
For clarity sake, I think it would be good to explicitly enforce/mention
a byte ordering here.

7. Extensions are not documented in the draft. Is an extension
additional manifest functionality/specification or does the extension
apply to the firmware?

8. The ResourceReference object includes an URI. Is there a reason why
the URI structure from the PayloadInfo component (rank, URI) is not reused?

9. Would it be possible to include an example or two on how a manifest
with extensions and dependencies work. To me it is not entirely clear
how dependencies work?

And some minor nits:
- Some places mention hash (e.g. the figure on page 4) while most places
use digest. Could this be made consistent?
- On page 6, nonce is explained in the section for payloadInfo and not
in the manifest section.
- Extensions are not included in Figure 1.

Best regards,
Koen Zandberg