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.
18 lines
556 B
TOML
18 lines
556 B
TOML
[package]
|
|
name = "inbuxa-relay-proto"
|
|
description = "The link between inbuxa-relay and its downstream: JMAP types, joining, recipient hashing and spool sealing (docs/spec/features/relay.md)"
|
|
license = "AGPL-3.0-only"
|
|
version.workspace = true
|
|
edition = "2024"
|
|
|
|
# Shared by the relay and the server, so it stays small: no inbuxa crate,
|
|
# and nothing the relay's footprint budget (RL-30) would notice.
|
|
[dependencies]
|
|
aws-lc-rs = { version = "1" }
|
|
base64 = "0.23"
|
|
serde = { version = "1.0", features = ["derive"] }
|
|
serde_json = "1.0"
|
|
|
|
[lints]
|
|
workspace = true
|