aboutsummaryrefslogtreecommitdiffstats
path: root/packages/meshbay-common/src/meshbay_common/protocol.py
diff options
context:
space:
mode:
Diffstat (limited to 'packages/meshbay-common/src/meshbay_common/protocol.py')
-rw-r--r--packages/meshbay-common/src/meshbay_common/protocol.py16
1 files changed, 8 insertions, 8 deletions
diff --git a/packages/meshbay-common/src/meshbay_common/protocol.py b/packages/meshbay-common/src/meshbay_common/protocol.py
index c3cb099..c444711 100644
--- a/packages/meshbay-common/src/meshbay_common/protocol.py
+++ b/packages/meshbay-common/src/meshbay_common/protocol.py
@@ -69,11 +69,11 @@ class MNP:
# never once invoked. A live handler on both transports, plaintext media,
# and no client: removed rather than repaired.
#
- # Not a Double Ratchet message, and never was — `first-review.md` C1
- # rejected exactly that for groups. Since MNP 2.0 it is AES-256-GCM under a
+ # Not a Double Ratchet message, and never was — finding C1
+ # (`docs/MESHBAY_DESIGN.md` §13.1) rejected exactly that for groups. Since MNP 2.0 it is AES-256-GCM under a
# per-device subkey of the group's chat epoch key, signed over the
# ciphertext with the sending device's pinned Ed25519 key. There is no
- # plaintext form on the wire (`chatbox.py`, docs/chat-sender-keys.md);
+ # plaintext form on the wire (`chatbox.py`, docs/MESHBAY_DESIGN.md §4.5);
# `format` distinguishes a *stored* pre-2.0 row, which is still served.
CHAT_MESSAGE = "chat_msg" # one chat message, sealed and signed
CHAT_ATTACHMENT = "chat_attach" # attachment metadata
@@ -136,7 +136,7 @@ class MNP:
GEK_BUNDLE_RESP = "gek_bundle_resp" # node → client: wrapped GEK bundle
KEYPAIR_BUNDLE_STORE = "keypair_bundle_store" # client → node: store encrypted keypair bundle
# optional `bundle_enc_recovery` (MNP 0.14): a second copy wrapped under the
- # account's recovery key (docs/auth-confirm.md §4.3)
+ # account's recovery key (docs/MESHBAY_DESIGN.md §3.6)
KEYPAIR_BUNDLE_FETCH = "keypair_bundle_fetch" # client → node: request own keypair bundle
KEYPAIR_BUNDLE_RESP = "keypair_bundle_resp" # node → client: encrypted keypair bundle
# carries `bundle_enc_recovery` too when the node has one stored
@@ -178,9 +178,9 @@ class MNP:
TMDB_OVERRIDE_ACK = "tmdb_override_ack"
TMDB_REMATCH = "tmdb_rematch" # operator → node: drop one file's match
TMDB_REMATCH_ACK = "tmdb_rematch_ack"
- # Music app (docs/musicbay.md). Contact is derived from the owner's hub
- # email at login — no config/ack pair needed. Only the per-group toggle
- # remains.
+ # Music app (docs/MESHBAY_DESIGN.md §9.8). Contact is derived from the
+ # owner's hub email at login — no config/ack pair needed. Only the
+ # per-group toggle remains.
MUSICBRAINZ_ENABLED = "musicbrainz_enabled" # operator → node: enable/disable
MUSICBRAINZ_ENABLED_ACK = "musicbrainz_enabled_ack" # node → this group: new enabled state
MUSIC_META_REQ = "music_meta_req" # client → node: metadata for a path
@@ -268,7 +268,7 @@ class MNP:
# below, which is the operator's view of the whole node: this is scoped to
# one group and answers any member of it, because the point is that a member
# verifies another member's device *for themselves* rather than trusting the
- # node's `sender_id` (Tier 2, docs/desktop-client-v1.md §4.8).
+ # node's `sender_id` (Tier 2, docs/MESHBAY_DESIGN.md §3.3).
GROUP_ROSTER_REQ = "group_roster_req"
GROUP_ROSTER_RESP = "group_roster_resp"
ROSTER_READ = "roster_read" # operator → node: list pinned identities + members