Skip to content

Commit 7916026

Browse files
joshuagllukpueh
andauthored
Add additional cross-referencing
Add additional cross-reference links for defined terms and sections. Co-authored-by: lukpueh <[email protected]>
1 parent 3aa6863 commit 7916026

File tree

1 file changed

+21
-21
lines changed

1 file changed

+21
-21
lines changed

tuf-spec.md

Lines changed: 21 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -528,11 +528,11 @@ where:
528528

529529
: <dfn for="role">KEYID</dfn>
530530
::
531-
the identifier of the key signing the ROLE dictionary.
531+
the identifier of the key signing the <a for="role">ROLE</a> dictionary.
532532

533533
: <dfn>SIGNATURE</dfn>
534534
::
535-
a hex-encoded signature of the canonical form of the metadata for ROLE.
535+
a hex-encoded signature of the canonical form of the metadata for <a for="role">ROLE</a>.
536536

537537

538538
All keys have the format:
@@ -594,7 +594,7 @@ The <dfn for="keytype">"rsa"</dfn> format is:
594594

595595
<pre highlight="json">
596596
{
597-
"keytype" : "rsa",
597+
"keytype" : <a for="keytype">"rsa"</a>,
598598
"scheme" : <a for="scheme">"rsassa-pss-sha256"</a>,
599599
"keyval" : {
600600
"public" : <a for="keyval-rsa">PUBLIC</a>
@@ -612,7 +612,7 @@ The <dfn for="keytype">"ed25519"</dfn> format is:
612612

613613
<pre highlight="json">
614614
{
615-
"keytype" : "ed25519",
615+
"keytype" : <a for="keytype">"ed25519"</a>,
616616
"scheme" : <a for="scheme">"ed25519"</a>,
617617
"keyval" : {
618618
"public" : <a for="keyval-ed25519">PUBLIC</a>
@@ -630,7 +630,7 @@ The <dfn for="keytype">"ecdsa-sha2-nistp256"</dfn> format is:
630630

631631
<pre highlight="json">
632632
{
633-
"keytype" : "ecdsa-sha2-nistp256",
633+
"keytype" : <a for="keytype">"ecdsa-sha2-nistp256"</a>,
634634
"scheme" : <a for="scheme">"ecdsa-sha2-nistp256"</a>,
635635
"keyval" : {
636636
"public" : <a for="keyval-ecdsa">PUBLIC</a>
@@ -650,7 +650,7 @@ the canonical form of the key.
650650
Metadata <dfn>date-time</dfn> follows the ISO 8601 standard. The expected
651651
format of the combined date and time string is "YYYY-MM-DDTHH:MM:SSZ". Time is
652652
always in UTC, and the "Z" time zone designator is attached to indicate a
653-
zero UTC offset. An example date-time string is "1985-10-21T01:21:00Z".
653+
zero UTC offset. An example <a>date-time</a> string is "1985-10-21T01:21:00Z".
654654

655655

656656
## File formats: root.json ## {#file-formats-root}
@@ -855,7 +855,7 @@ where:
855855
: <dfn for="snapshot">METAPATH</dfn>
856856
::
857857
A string giving the file path of the metadata on the repository relative to
858-
the metadata base URL. For snapshot.json, these are top-level targets
858+
the metadata base URL. For <a>snapshot.json</a>, these are top-level targets
859859
metadata and delegated targets metadata.
860860

861861
: <dfn for="metapath">VERSION</dfn>
@@ -956,7 +956,7 @@ where:
956956

957957
: <a for="targets-obj">TARGETS</a>
958958
::
959-
Each key of the TARGETS object is a <a>TARGETPATH</a>.
959+
Each key of the <a for="targets-obj">TARGETS</a> object is a <a>TARGETPATH</a>.
960960

961961
: <dfn>TARGETPATH</dfn>
962962
::
@@ -998,16 +998,16 @@ where:
998998
<pre highlight="json">
999999
{
10001000
"keys" : {
1001-
KEYID : KEY,
1001+
<a for="role">KEYID</a> : KEY,
10021002
...
10031003
},
10041004
"roles" : [
10051005
{
10061006
"name": <a>ROLENAME</a>,
1007-
"keyids" : [ KEYID, ... ] ,
1007+
"keyids" : [ <a for="role">KEYID</a>, ... ] ,
10081008
"threshold" : <a>THRESHOLD</a>,
1009-
("path_hash_prefixes" : [ HEX_DIGEST, ... ] |
1010-
"paths" : [ PATHPATTERN, ... ]),
1009+
(<a>"path_hash_prefixes"</a> : [ HEX_DIGEST, ... ] |
1010+
"<a>paths</a>" : [ <a>PATHPATTERN</a>, ... ]),
10111011
"terminating": <a>TERMINATING</a>,
10121012
},
10131013
...
@@ -1084,7 +1084,7 @@ over the second one, the second delegation is trusted more than the third
10841084
one, and so on. Likewise, the metadata of the first delegation will override that
10851085
of the second delegation, the metadata of the second delegation will override
10861086
that of the third one, etc. In order to accommodate prioritized
1087-
delegations, the "roles" key in the DELEGATIONS object above points to an array
1087+
delegations, the "roles" key in the <a>DELEGATIONS</a> object above points to an array
10881088
of delegated roles, rather than to a hash table.
10891089

10901090
The metadata files for delegated target roles has the same format as the
@@ -1171,10 +1171,10 @@ The "signed" portion of <a>timestamp.json</a> is as follows:
11711171
}
11721172
</pre>
11731173

1174-
<a>SPEC_VERSION</a>, <a for="role">VERSION</a> and <a>EXPIRES</a> are the same as is described for the root.json file.
1174+
<a>SPEC_VERSION</a>, <a for="role">VERSION</a> and <a>EXPIRES</a> are the same as is described for the <a>root.json</a> file.
11751175

11761176
<a>METAFILES</a> is the same as described for the <a>snapshot.json</a> file. In the case
1177-
of the timestamp.json file, this MUST only include a description of the
1177+
of the <a>timestamp.json</a> file, this MUST only include a description of the
11781178
<a>snapshot.json</a> file.
11791179

11801180
<div class="example" id="example-timestamp.json">
@@ -1224,7 +1224,7 @@ The "signed" portion of <a>mirrors.json</a> is as follows:
12241224
"mirrors" : [
12251225
{ "urlbase" : <a>URLBASE</a>,
12261226
"metapath" : <a for="mirrors">METAPATH</a>,
1227-
"targetspath" : TARGETSPATH,
1227+
"targetspath" : <a>TARGETSPATH</a>,
12281228
"metacontent" : [ <a>PATHPATTERN</a> ... ] ,
12291229
"targetscontent" : [ <a>PATHPATTERN</a> ... ] ,
12301230
("custom" : { ... }) }
@@ -1335,13 +1335,13 @@ it in the next step.
13351335
8. **Persist root metadata.** The client MUST write the file to
13361336
non-volatile storage as FILENAME.EXT (e.g. root.json).
13371337

1338-
9. Repeat steps 5.3.1 to 5.3.8
1338+
9. Repeat steps 5.3.2 to 5.3.9
13391339

13401340
10. **Check for a freeze attack.** The expiration timestamp in the
13411341
trusted root metadata file MUST be higher than the fixed update start time.
13421342
If the trusted root metadata file has expired, abort the update cycle,
13431343
report the potential freeze attack. On the next update cycle, begin at step
1344-
5.1 and version N of the root metadata file.
1344+
[[#update-root]] and version N of the root metadata file.
13451345

13461346
11. **If the timestamp and / or snapshot keys have been rotated, then delete the
13471347
trusted timestamp and snapshot metadata files.** This is done
@@ -1488,7 +1488,7 @@ it in the next step.
14881488
1. If this role has been visited before, then skip this role
14891489
(so that cycles in the delegation graph are avoided). Otherwise, if an
14901490
application-specific maximum number of roles have been visited, then go to
1491-
step 5.6 (so that attackers cannot cause the client to waste excessive
1491+
step [[#fetch-target]] (so that attackers cannot cause the client to waste excessive
14921492
bandwidth or time). Otherwise, if this role contains metadata about the
14931493
desired target, then go to step [[#fetch-target]].
14941494

@@ -1564,7 +1564,7 @@ the latest trusted version) of the root metadata is available from the
15641564
repository. This ensures that an outdated client can always correctly
15651565
re-trace the chain of trust across multiple root key updates, even if the
15661566
latest set of root keys on the client dates back multiple root metadata
1567-
versions. See step 5.2 of the client application workflow for more details.
1567+
versions. See step [[#update-root]] of the client application workflow for more details.
15681568

15691569
Note that an attacker, who controls the repository, can launch freeze
15701570
attacks by withholding new root metadata. The attacker does not need to
@@ -1643,7 +1643,7 @@ so that outdated clients can update to the latest available root.
16431643

16441644
## Reading consistent snapshots ## {#reading-consistent-snapshots}
16451645

1646-
See section 5 (The client application) for more details.
1646+
See [[#detailed-client-workflow]] for more details.
16471647

16481648
# Future directions and open questions # {#future-directions-and-open-questions}
16491649

0 commit comments

Comments
 (0)