theupdateframework / theupdateframework/python-tuf
Try constructor improvements for Delegations/ delegated roles
Dieses Issue hat noch niemand übernommen.
- Vorherrschende Sprache
- Python
- Sterne
- 1.7k
- Forks
- 304
- Ø Merge
- 1 T. 2 Std.
- Gemergte PRs (30 T.)
- 17
Beschreibung
Currently creating e.g. succinct delegations looks like this
BIT_LENGTH = int(math.log2(NUMBER_OF_BINS))
succinct_roles = SuccinctRoles(
keyids=[bins_key.keyid],
threshold=THRESHOLD,
bit_length=BIT_LENGTH,
name_prefix=NAME_PREFIX,
)
delegations_keys_info: Dict[str, Key] = {}
delegations_keys_info[bins_key.keyid] = bins_key
targets.signed.delegations = Delegations(
delegations_keys_info, roles=None, succinct_roles=succinct_roles
)
Looks bad, i'm sure we could get that to something a bit like:
targets.signed.delegations = Delegations(SuccinctRoles.new(NUMBER_OF_BINS, NAME_PREFIX))
targets.add_key(bins_key)
Or alternatively
targets.signed.delegations = Delegations.new_succint(NUMBER_OF_BINS, NAME_PREFIX)
targets.add_key(bins_key)
What makes sense probably depends on what the other delegation types (most importantly paths delegation) will look like...
Beitragsleitfaden
Erste Schritte
- Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
- Forke das Repository und arbeite in einem Branch.
- Öffne einen Pull Request, der die Issue-Nummer nennt.
Rechercherichtung
Beginne damit, die Konstruktoren von Delegations und SuccinctRoles zu lesen, und vergleiche sie dann mit den anderen Delegationstypen, insbesondere mit Pfaddelegationen. Das Design ist abgeschlossen, wenn das Projekt einen vereinbarten einfacheren Konstruktionsablauf für Succinct-Delegationen und die Schlüsselregistrierung hat, der zu den anderen Delegation-APIs passt.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- python
- Bereich
- security
- Issue-Typ
- Refactoring
- Schwierigkeit
- 5/5
- Geschätzter Aufwand
- Über eine Woche
- Aktivitätsstatus
- Veraltet
- Klarheit
- Größtenteils klar
- Anfängerfreundlichkeit
- 30/100