@@ -28,11 +28,6 @@ var topLevelMetadata = []string{
2828 "timestamp.json" ,
2929}
3030
31- var snapshotMetadata = []string {
32- "root.json" ,
33- "targets.json" ,
34- }
35-
3631// TargetsWalkFunc is a function of a target path name and a target payload used to
3732// execute some function on each staged target file. For example, it may normalize path
3833// names and generate target file metadata with additional custom metadata.
@@ -830,6 +825,12 @@ func (r *Repo) Snapshot() error {
830825 return r .SnapshotWithExpires (data .DefaultExpires ("snapshot" ))
831826}
832827
828+ func (r * Repo ) snapshotManifests () []string {
829+ // Note: root pinning is not supported in Spec 1.0.19.
830+ // root.json might need to be removed.
831+ return []string {"root.json" , "targets.json" }
832+ }
833+
833834func (r * Repo ) SnapshotWithExpires (expires time.Time ) error {
834835 if ! validExpires (expires ) {
835836 return ErrInvalidExpires {expires }
@@ -844,12 +845,12 @@ func (r *Repo) SnapshotWithExpires(expires time.Time) error {
844845 return err
845846 }
846847
847- for _ , name := range snapshotMetadata {
848- if err := r .verifySignature (name , db ); err != nil {
848+ for _ , manifestName := range r . snapshotManifests () {
849+ if err := r .verifySignature (manifestName , db ); err != nil {
849850 return err
850851 }
851852 var err error
852- snapshot .Meta [name ], err = r .snapshotFileMeta (name )
853+ snapshot .Meta [manifestName ], err = r .snapshotFileMeta (manifestName )
853854 if err != nil {
854855 return err
855856 }
@@ -974,7 +975,7 @@ func (r *Repo) Commit() error {
974975 if err != nil {
975976 return err
976977 }
977- for _ , name := range snapshotMetadata {
978+ for _ , name := range r . snapshotManifests () {
978979 expected , ok := snapshot .Meta [name ]
979980 if ! ok {
980981 return fmt .Errorf ("tuf: snapshot.json missing hash for %s" , name )
0 commit comments