transparency-dev / transparency-dev/tesseract

Replace `tls.Marshal` / `tls.Unmarshal` with per-object methods.

Open
#201 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

enhancement
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

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.