theupdateframework / theupdateframework/python-tuf
Snapshot and Timestamp default content
Nessuno ha ancora preso questa issue.
- Lingua principale
- Python
- Stelle
- 1.7k
- Fork
- 304
- Merge medio
- 1g 2h
- PR unite (30g)
- 17
Descrizione
Snapshot and Timestamp constructors try to be clever:
self.meta = meta if meta is not None else {"targets.json": MetaFile(1)}
and
self.snapshot_meta = snapshot_meta or MetaFile(1)
So they set the metafile content without knowing what it really should be
this is annoying as Repository.snapshot() and Repository.timestamp() now think a snapshot and timestamp are not needed -- even though none have been generated yet.
I can work around this but especially for snapshot the default value seems wrong: empty dict would be more correct -- the meta dict should be filled by a conscious decision not by a default value that might be right.
For timestamp there might not be a correct value though. I think MetaFile(0) would be best (although it requires loosening the check for valid MetaFiles): it's at least clear that timestamp doesn't have a snapshot version yet
Guida per i contributori
Apri la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Direzione di ricerca
Inizia leggendo i costruttori di Snapshot e Timestamp e i metodi Repository.snapshot() e Repository.timestamp() per capire in che modo i relativi metadati predefiniti influenzano i controlli di generazione. Confronta i valori predefiniti proposti empty-dict e MetaFile(0) con le regole di validità esistenti di MetaFile; il lavoro è completato quando gli oggetti appena costruiti non indicano erroneamente che siano stati generati metadati di snapshot o timestamp.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Valutazione
- Stack tecnologico
- python
- Ambito
- security
- Tipo di issue
- Bug
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Stato di attività
- Ferma
- Chiarezza
- Abbastanza chiara
- Idoneità per principianti
- 35/100