Skip to content

Commit cced2c6

Browse files
[Delegations prereq] Clarify naming for top level targets, keys DB, and meta functions (#201)
https://github.dev/theupdateframework/go-tuf/pull/175
1 parent 4a33a14 commit cced2c6

File tree

2 files changed

+42
-42
lines changed

2 files changed

+42
-42
lines changed

repo.go

Lines changed: 27 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -103,7 +103,7 @@ func NewRepoIndent(local LocalStore, prefix string, indent string, hashAlgorithm
103103
}
104104

105105
func (r *Repo) Init(consistentSnapshot bool) error {
106-
t, err := r.targets()
106+
t, err := r.topLevelTargets()
107107
if err != nil {
108108
return err
109109
}
@@ -112,14 +112,14 @@ func (r *Repo) Init(consistentSnapshot bool) error {
112112
}
113113
root := data.NewRoot()
114114
root.ConsistentSnapshot = consistentSnapshot
115-
err = r.setMeta("root.json", root)
115+
err = r.setTopLevelMeta("root.json", root)
116116
if err == nil {
117117
fmt.Println("Repository initialized")
118118
}
119119
return err
120120
}
121121

122-
func (r *Repo) db() (*verify.DB, error) {
122+
func (r *Repo) topLevelKeysDB() (*verify.DB, error) {
123123
db := verify.NewDB()
124124
root, err := r.root()
125125
if err != nil {
@@ -222,28 +222,28 @@ func (r *Repo) SetThreshold(keyRole string, t int) error {
222222
root.Version++
223223
r.versionUpdated["root.json"] = struct{}{}
224224
}
225-
return r.setMeta("root.json", root)
225+
return r.setTopLevelMeta("root.json", root)
226226
}
227227

228228
func (r *Repo) Targets() (data.TargetFiles, error) {
229-
targets, err := r.targets()
229+
targets, err := r.topLevelTargets()
230230
if err != nil {
231231
return nil, err
232232
}
233233
return targets.Targets, nil
234234
}
235235

236236
func (r *Repo) SetTargetsVersion(v int) error {
237-
t, err := r.targets()
237+
t, err := r.topLevelTargets()
238238
if err != nil {
239239
return err
240240
}
241241
t.Version = v
242-
return r.setMeta("targets.json", t)
242+
return r.setTopLevelMeta("targets.json", t)
243243
}
244244

245245
func (r *Repo) TargetsVersion() (int, error) {
246-
t, err := r.targets()
246+
t, err := r.topLevelTargets()
247247
if err != nil {
248248
return -1, err
249249
}
@@ -257,7 +257,7 @@ func (r *Repo) SetTimestampVersion(v int) error {
257257
}
258258
ts.Version = v
259259
r.versionUpdated["timestamp.json"] = struct{}{}
260-
return r.setMeta("timestamp.json", ts)
260+
return r.setTopLevelMeta("timestamp.json", ts)
261261
}
262262

263263
func (r *Repo) TimestampVersion() (int, error) {
@@ -276,7 +276,7 @@ func (r *Repo) SetSnapshotVersion(v int) error {
276276

277277
s.Version = v
278278
r.versionUpdated["snapshot.json"] = struct{}{}
279-
return r.setMeta("snapshot.json", s)
279+
return r.setTopLevelMeta("snapshot.json", s)
280280
}
281281

282282
func (r *Repo) SnapshotVersion() (int, error) {
@@ -287,7 +287,7 @@ func (r *Repo) SnapshotVersion() (int, error) {
287287
return s.Version, nil
288288
}
289289

290-
func (r *Repo) targets() (*data.Targets, error) {
290+
func (r *Repo) topLevelTargets() (*data.Targets, error) {
291291
targetsJSON, ok := r.meta["targets.json"]
292292
if !ok {
293293
return data.NewTargets(), nil
@@ -406,7 +406,7 @@ func (r *Repo) AddVerificationKeyWithExpiration(keyRole string, pk *data.PublicK
406406
r.versionUpdated["root.json"] = struct{}{}
407407
}
408408

409-
return r.setMeta("root.json", root)
409+
return r.setTopLevelMeta("root.json", root)
410410
}
411411

412412
func validExpires(expires time.Time) bool {
@@ -512,7 +512,7 @@ func (r *Repo) RevokeKeyWithExpires(keyRole, id string, expires time.Time) error
512512
r.versionUpdated["root.json"] = struct{}{}
513513
}
514514

515-
err = r.setMeta("root.json", root)
515+
err = r.setTopLevelMeta("root.json", root)
516516
if err == nil {
517517
fmt.Println("Revoked", keyRole, "key with ID", id, "in root metadata")
518518
}
@@ -537,7 +537,7 @@ func (r *Repo) jsonMarshal(v interface{}) ([]byte, error) {
537537
return out.Bytes(), nil
538538
}
539539

540-
func (r *Repo) setMeta(roleFilename string, meta interface{}) error {
540+
func (r *Repo) setTopLevelMeta(roleFilename string, meta interface{}) error {
541541
keys, err := r.getSortedSigningKeys(strings.TrimSuffix(roleFilename, ".json"))
542542
if err != nil {
543543
return err
@@ -597,7 +597,7 @@ func (r *Repo) AddOrUpdateSignature(roleFilename string, signature data.Signatur
597597
}
598598

599599
// Check key ID is in valid for the role.
600-
db, err := r.db()
600+
db, err := r.topLevelKeysDB()
601601
if err != nil {
602602
return err
603603
}
@@ -658,7 +658,7 @@ func (r *Repo) getSortedSigningKeys(name string) ([]keys.Signer, error) {
658658
sort.Sort(signer.ByIDs(sorted))
659659
return sorted, nil
660660
}
661-
db, err := r.db()
661+
db, err := r.topLevelKeysDB()
662662
if err != nil {
663663
return nil, err
664664
}
@@ -713,7 +713,7 @@ func (r *Repo) AddTargetsWithExpires(paths []string, custom json.RawMessage, exp
713713
return ErrInvalidExpires{expires}
714714
}
715715

716-
t, err := r.targets()
716+
t, err := r.topLevelTargets()
717717
if err != nil {
718718
return err
719719
}
@@ -749,7 +749,7 @@ func (r *Repo) AddTargetsWithExpires(paths []string, custom json.RawMessage, exp
749749
r.versionUpdated["targets.json"] = struct{}{}
750750
}
751751

752-
err = r.setMeta("targets.json", t)
752+
err = r.setTopLevelMeta("targets.json", t)
753753
if err == nil {
754754
fmt.Println("Added/staged targets:")
755755
for k := range t.Targets {
@@ -777,7 +777,7 @@ func (r *Repo) RemoveTargetsWithExpires(paths []string, expires time.Time) error
777777
return ErrInvalidExpires{expires}
778778
}
779779

780-
t, err := r.targets()
780+
t, err := r.topLevelTargets()
781781
if err != nil {
782782
return err
783783
}
@@ -811,7 +811,7 @@ func (r *Repo) RemoveTargetsWithExpires(paths []string, expires time.Time) error
811811
r.versionUpdated["targets.json"] = struct{}{}
812812
}
813813

814-
err = r.setMeta("targets.json", t)
814+
err = r.setTopLevelMeta("targets.json", t)
815815
if err == nil {
816816
fmt.Println("Removed targets:")
817817
for _, v := range removed_targets {
@@ -842,7 +842,7 @@ func (r *Repo) SnapshotWithExpires(expires time.Time) error {
842842
if err != nil {
843843
return err
844844
}
845-
db, err := r.db()
845+
db, err := r.topLevelKeysDB()
846846
if err != nil {
847847
return err
848848
}
@@ -862,7 +862,7 @@ func (r *Repo) SnapshotWithExpires(expires time.Time) error {
862862
snapshot.Version++
863863
r.versionUpdated["snapshot.json"] = struct{}{}
864864
}
865-
err = r.setMeta("snapshot.json", snapshot)
865+
err = r.setTopLevelMeta("snapshot.json", snapshot)
866866
if err == nil {
867867
fmt.Println("Staged snapshot.json metadata with expiration date:", snapshot.Expires)
868868
}
@@ -878,7 +878,7 @@ func (r *Repo) TimestampWithExpires(expires time.Time) error {
878878
return ErrInvalidExpires{expires}
879879
}
880880

881-
db, err := r.db()
881+
db, err := r.topLevelKeysDB()
882882
if err != nil {
883883
return err
884884
}
@@ -899,7 +899,7 @@ func (r *Repo) TimestampWithExpires(expires time.Time) error {
899899
r.versionUpdated["timestamp.json"] = struct{}{}
900900
}
901901

902-
err = r.setMeta("timestamp.json", timestamp)
902+
err = r.setTopLevelMeta("timestamp.json", timestamp)
903903
if err == nil {
904904
fmt.Println("Staged timestamp.json metadata with expiration date:", timestamp.Expires)
905905
}
@@ -911,7 +911,7 @@ func (r *Repo) fileVersions() (map[string]int, error) {
911911
if err != nil {
912912
return nil, err
913913
}
914-
targets, err := r.targets()
914+
targets, err := r.topLevelTargets()
915915
if err != nil {
916916
return nil, err
917917
}
@@ -945,7 +945,7 @@ func (r *Repo) fileHashes() (map[string]data.Hashes, error) {
945945
if m, ok := timestamp.Meta["snapshot.json"]; ok {
946946
hashes["snapshot.json"] = m.Hashes
947947
}
948-
t, err := r.targets()
948+
t, err := r.topLevelTargets()
949949
if err != nil {
950950
return nil, err
951951
}
@@ -1007,7 +1007,7 @@ func (r *Repo) Commit() error {
10071007
}
10081008

10091009
// verify all signatures are correct
1010-
db, err := r.db()
1010+
db, err := r.topLevelKeysDB()
10111011
if err != nil {
10121012
return err
10131013
}

repo_test.go

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -126,7 +126,7 @@ func testNewRepo(c *C, newRepo func(local LocalStore, hashAlgorithms ...string)
126126
c.Assert(root.Keys, NotNil)
127127
c.Assert(root.Keys, HasLen, 0)
128128

129-
targets, err := r.targets()
129+
targets, err := r.topLevelTargets()
130130
c.Assert(err, IsNil)
131131
c.Assert(targets.Type, Equals, "targets")
132132
c.Assert(targets.Version, Equals, 1)
@@ -212,7 +212,7 @@ func (rs *RepoSuite) TestGenKey(c *C) {
212212
}
213213

214214
// check root key + role are in db
215-
db, err := r.db()
215+
db, err := r.topLevelKeysDB()
216216
c.Assert(err, IsNil)
217217
for _, keyID := range ids {
218218
rootKey, err := db.GetVerifier(keyID)
@@ -256,7 +256,7 @@ func (rs *RepoSuite) TestGenKey(c *C) {
256256
}
257257
c.Assert(targetsRole.KeyIDs, HasLen, 2)
258258
targetKeyIDs := make(map[string]struct{}, 2)
259-
db, err = r.db()
259+
db, err = r.topLevelKeysDB()
260260
c.Assert(err, IsNil)
261261
for _, id := range targetsRole.KeyIDs {
262262
targetKeyIDs[id] = struct{}{}
@@ -375,7 +375,7 @@ func (rs *RepoSuite) TestAddPrivateKey(c *C) {
375375
}
376376

377377
// check root key + role are in db
378-
db, err := r.db()
378+
db, err := r.topLevelKeysDB()
379379
c.Assert(err, IsNil)
380380
for _, keyID := range ids {
381381
rootKey, err := db.GetVerifier(keyID)
@@ -419,7 +419,7 @@ func (rs *RepoSuite) TestAddPrivateKey(c *C) {
419419
}
420420
c.Assert(targetsRole.KeyIDs, HasLen, 2)
421421
targetKeyIDs := make(map[string]struct{}, 2)
422-
db, err = r.db()
422+
db, err = r.topLevelKeysDB()
423423
c.Assert(err, IsNil)
424424
for _, id := range targetsRole.KeyIDs {
425425
targetKeyIDs[id] = struct{}{}
@@ -934,7 +934,7 @@ func (rs *RepoSuite) TestCommitFileSystem(c *C) {
934934
c.Assert(r.AddTarget("foo.txt", nil), IsNil)
935935
tmp.assertExists("staged/targets.json")
936936
tmp.assertEmpty("repository")
937-
t, err := r.targets()
937+
t, err := r.topLevelTargets()
938938
c.Assert(err, IsNil)
939939
c.Assert(t.Targets, HasLen, 1)
940940
if _, ok := t.Targets["foo.txt"]; !ok {
@@ -1085,7 +1085,7 @@ func (rs *RepoSuite) TestConsistentSnapshot(c *C) {
10851085
// targets should be returned by new repo
10861086
newRepo, err := NewRepo(local, "sha512", "sha256")
10871087
c.Assert(err, IsNil)
1088-
t, err := newRepo.targets()
1088+
t, err := newRepo.topLevelTargets()
10891089
c.Assert(err, IsNil)
10901090
c.Assert(t.Targets, HasLen, 1)
10911091
if _, ok := t.Targets["dir/bar.txt"]; !ok {
@@ -1156,7 +1156,7 @@ func (rs *RepoSuite) TestExpiresAndVersion(c *C) {
11561156
c.Assert(r.Snapshot(), IsNil)
11571157
c.Assert(r.Timestamp(), IsNil)
11581158
c.Assert(r.Commit(), IsNil)
1159-
targets, err := r.targets()
1159+
targets, err := r.topLevelTargets()
11601160
c.Assert(err, IsNil)
11611161
c.Assert(targets.Expires.Unix(), Equals, expires.Round(time.Second).Unix())
11621162
c.Assert(targets.Version, Equals, 2)
@@ -1166,7 +1166,7 @@ func (rs *RepoSuite) TestExpiresAndVersion(c *C) {
11661166
c.Assert(r.Snapshot(), IsNil)
11671167
c.Assert(r.Timestamp(), IsNil)
11681168
c.Assert(r.Commit(), IsNil)
1169-
targets, err = r.targets()
1169+
targets, err = r.topLevelTargets()
11701170
c.Assert(err, IsNil)
11711171
c.Assert(targets.Expires.Unix(), Equals, expires.Round(time.Second).Unix())
11721172
c.Assert(targets.Version, Equals, 3)
@@ -1234,7 +1234,7 @@ func (rs *RepoSuite) TestHashAlgorithm(c *C) {
12341234
if test.expected == nil {
12351235
test.expected = test.args
12361236
}
1237-
targets, err := r.targets()
1237+
targets, err := r.topLevelTargets()
12381238
c.Assert(err, IsNil)
12391239
snapshot, err := r.snapshot()
12401240
c.Assert(err, IsNil)
@@ -1428,7 +1428,7 @@ func (rs *RepoSuite) TestManageMultipleTargets(c *C) {
14281428
genKey(c, r, "timestamp")
14291429

14301430
assertRepoTargets := func(paths ...string) {
1431-
t, err := r.targets()
1431+
t, err := r.topLevelTargets()
14321432
c.Assert(err, IsNil)
14331433
for _, path := range paths {
14341434
if _, ok := t.Targets[path]; !ok {
@@ -1474,7 +1474,7 @@ func (rs *RepoSuite) TestManageMultipleTargets(c *C) {
14741474
c.Assert(r.Timestamp(), IsNil)
14751475
c.Assert(r.Commit(), IsNil)
14761476
tmp.assertEmpty("repository/targets")
1477-
t, err := r.targets()
1477+
t, err := r.topLevelTargets()
14781478
c.Assert(err, IsNil)
14791479
c.Assert(t.Targets, HasLen, 0)
14801480
}
@@ -1491,7 +1491,7 @@ func (rs *RepoSuite) TestCustomTargetMetadata(c *C) {
14911491

14921492
custom := json.RawMessage(`{"foo":"bar"}`)
14931493
assertCustomMeta := func(file string, custom *json.RawMessage) {
1494-
t, err := r.targets()
1494+
t, err := r.topLevelTargets()
14951495
c.Assert(err, IsNil)
14961496
target, ok := t.Targets[file]
14971497
if !ok {
@@ -1536,7 +1536,7 @@ func (rs *RepoSuite) TestUnknownKeyIDs(c *C) {
15361536
c.Assert(root.Version, Equals, 1)
15371537

15381538
root.Keys["unknown-key-id"] = signer.PublicData()
1539-
r.setMeta("root.json", root)
1539+
r.setTopLevelMeta("root.json", root)
15401540

15411541
// commit the metadata to the store.
15421542
c.Assert(r.AddTargets([]string{}, nil), IsNil)
@@ -1771,7 +1771,7 @@ func (rs *RepoSuite) TestBadAddOrUpdateSignatures(c *C) {
17711771
checkSigIDs := func(role string) {
17721772
s, err := r.SignedMeta(role)
17731773
c.Assert(err, IsNil)
1774-
db, err := r.db()
1774+
db, err := r.topLevelKeysDB()
17751775
c.Assert(err, IsNil)
17761776
// keys is a map of key IDs.
17771777
keys := db.GetRole(strings.TrimSuffix(role, ".json")).KeyIDs

0 commit comments

Comments
 (0)