repository: redesign needed after recent verify_delegate changes

Aberta
#2,493 1 comentário 0 reações 0 responsáveis Ver no GitHub

Mantenedores costumam responder em até 1 dia

Ninguém assumiu esta issue ainda.

Avaliação

Dificuldade
5/5
Tempo estimado
Mais de uma semana
Facilidade para iniciantes
25/100
Tipo de issue
Refatoração
Clareza
Precisa de esclarecimento
Status de atividade
Estagnada
Stack de tecnologia
python
Domínio
security

Direção de pesquisa

Comece rastreando a interface de Repository.open() e close() juntamente com Metadata, Root, Targets, verify_delegate e sign. Esclareça como a serialização, as assinaturas e os bytes assinados devem ser tratados; em seguida, defina um ciclo de vida de Repository redesenhado de forma consistente e atualize seus chamadores de acordo.

Escrita pelo modelo de indexação a partir do texto da issue.

Descrição

discussion

The Repository interface looks like it does largely because of needs from A) verify_delegate and B) sign: Both needed to be called on a Metadata object and former event took a Metadata object as argument. This meant Repository.open() needed to return a Metadata even though most users could just use helpers like root() or edit_root()

The recent Metadata refactor means verify_delegate is now in Root/Targets, and takes a bytes and signatures as argument. So Repository.open() is now even more awkward than it used to be.

The remaining uses for Metadata are de/serialization, and accessing sign(), signatures and signed_bytes -- possibly these could be handled within Repository.open() /close() so that open() did not return a Metadata object and close did not require one as argument.

Linguagem predominante
Python
Estrelas
1.7k
Forks
306
Merge médio
3d 8h
PRs com merge (30d)
9

Preparar o ambiente

Primeiros passos

  1. Leia a issue inteira e depois o guia de contribuição do projeto.
  2. Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
  3. Faça um fork do repositório e trabalhe em uma branch.
  4. Abra um pull request que referencie o número da issue.

Mais de theupdateframework/python-tuf

Todas as issues de theupdateframework/python-tuf

Issues semelhantes

Mais issues de Python

Receba novas issues na sua caixa de entrada

Um resumo curto de issues do GitHub para quem está começando.