relay-proto: the link's shared types, joining, recipient hashing and sealing #244

Merged
jcoffey-dev merged 1 commits from relay/proto into main 2026-10-30 03:14:56 +00:00
1 Commits
Author SHA1 Message Date
jcoffey-dev 4f77c4672c relay-proto: the link's shared types, joining, recipient hashing and sealing
ci / fork-checks (pull_request) Skipped
ci / build (pull_request) Skipped
github/ci (branch) GitHub Actions
ci / github (pull_request) Successful in 8m45s
The first code for inbuxa-relay (docs/spec/features/relay.md), shared by
the relay and the server:

- jmap: requests, responses, RFC 8887 WebSocket frames, the session,
  and the relay's method names
- types: Relay settings and status, RecipientDomain, Inbound with its
  RFC 8621 Envelope and session, Verdict, RelayEvent
- token: the join token and its HMAC proof (RL-8)
- recipient: normalizing, hashing and deciding recipients (RL-1, RL-11)
- seal: HPKE base mode (X25519, HKDF-SHA256, ChaCha20-Poly1305) over a
  chunked stream bound to the message id (RL-21), checked against
  RFC 9180 A.2.1
- pin, time: key pins and JMAP UTCDate

Depends only on aws-lc-rs, base64 and serde, all already in the tree.
2026-10-29 19:54:07 -07:00