Skip to content

Commit 21e8c48

Browse files
committed
clarify root update process
Signed-off-by: Marina Moore <mnm678@gmail.com>
1 parent c729536 commit 21e8c48

1 file changed

Lines changed: 15 additions & 11 deletions

File tree

tap14.md

Lines changed: 15 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -266,11 +266,13 @@ parent directory to save space. In this case the metadata files (in directories
266266
version) can point to target files relative to the parent directory. After creating
267267
the directory, the repository creates and signs root, snapshot, timestamp, and
268268
top-level targets metadata using the new TUF specification version and places these
269-
metadata files in the directory. The root file should be signed by both the new
270-
root key and the current root key (the root key from the most recent metadata in
271-
the previous major specification version). The new supported version number, and information about the new root metadata will then be added to `supported_versions` in all previously supported specification versions. Clients will now be able to use the new
272-
metadata files once their TUF specification versions are also updated. After an update to
273-
version 2.0.0, the repository structure may look like:
269+
metadata files in the directory. The root file should be signed by the new root keys
270+
listed in the file. A digest of the signed root metadata, along with the new
271+
supported version numver will then be added to the `supported_versions` field in
272+
a new root metadata file for all previously supported specififcation versions.
273+
Clients will now be able to use the new metadata files once their TUF specification
274+
versions are also updated. After an update to version 2.0.0, the repository
275+
structure may look like:
274276

275277

276278
```
@@ -399,6 +401,10 @@ In most cases, `MAJOR_VERSION` should match `FOLDER_NAME`.
399401
For backwards compatability, version 1 should be assumed to be in the top-level
400402
repository with no directory named 1. `ROOT_FILENAME` is the name of the root metadata file in the new specification version. `ROOT_DIGEST` is the digest of the new root metadata file.
401403

404+
The `root-digest` field MUST be empty for the supported version that matches the
405+
specification version used by the current root metadata file. `supported_versions`
406+
MAY leave out the specification version used by the current root metadata.
407+
402408
A repository should generate all TUF metadata, including root metadata, for all
403409
TUF versions that the repository supports. Any update to TUF targets or delegations should be reflected across
404410
all of these versions.
@@ -462,13 +468,11 @@ parsing the `supported_versions` field in the currently trusted root metadata.
462468
* If the latest version on the repository is lower than the previous
463469
specification version the client used from this repository, the client
464470
should report an error and terminate the update.
465-
* If the latest version on the repository is equal to that of the client, it
471+
* If the latest version on the repository is equal to the latest version of the client, it
466472
will use this version to download metadata.
467-
* If the latest version pre-dates the client specification version, it may call functions
468-
from a previous client version to download the metadata. The client may support
469-
as many or as few versions as desired for the application. If the previous
470-
version is not available, the client shall report that an update can not be
471-
performed due to an old specification version on the repository.
473+
* If the latest version on the repository is less that the latest version of the client specification version, the client may use the latest version on the repository
474+
if this version is supported by the client. If this version is not supported by the client, the client shall report that an update can not be
475+
performed due to an old specification version on the repository.
472476
* If the latest version on the repository is higher than the client spec
473477
version, the client should report to the user that it is not using the most up
474478
to date version, and then perform the update with the directory that corresponds with the latest

0 commit comments

Comments
 (0)