transparency-dev / transparency-dev/tesseract
Replace `tls.Marshal` / `tls.Unmarshal` with per-object methods.
Nobody has claimed this yet.
- Dominant language
- Go
- Stars
- 37
- Forks
- 18
- Avg merge
- 19h 22m
- Merged PRs (30d)
- 15
Description
internal/types/tls/tls.go allows Marshaling / Unmarshaling any struct that has the necessary tags. These methods are only used a few times to Marshal / Unmarshal specific objects. We can implement dedicated method for each object that uses https://pkg.go.dev/golang.org/x/crypto/cryptobyte directly.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start in internal/types/tls/tls.go, then search the repository for tls.Marshal and tls.Unmarshal to identify each specific object that uses them. Read the relevant object definitions and the cryptobyte package documentation before implementing per-object methods. Done means those call sites use dedicated methods and the generic marshal/unmarshal helpers are no longer needed.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- go
- Domain
- security
- Issue type
- Refactor
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 45/100