You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
docs: fix what a review of the second correction pass found
Third and final correction round. Two reviewers went over 4a9fe0c; one
approved the PR outright, the other found that the rewritten acknowledgement
rule had picked up a new wrong qualifier.
The acknowledgement rule, once more. Calling the identity bindings
"post-decrypt" is wrong for the session slot binding, which runs before any
AEAD precisely because every failure the MLS library raises below it happens
before it authenticates anything. R2 of the same document already said so. The
bullet also named three identity bindings where the code and
delivery-and-acks.md name four. Both fixed, and the policy row now says its
acknowledgement is an arrival-path rule: a frame that reaches the group buffer
and later resolves as a policy refusal is never acknowledged, which is what
group-message-lifecycle.md says one file over.
R1 understated a forged membership answer. The members cache it corrupts also
feeds the sealed rich payload gate, which requires every non-self member to be
known rich-capable. An attacker-chosen identifier is not, so the gate closes
and reply context and forward attribution move from inside the MLS AEAD to
hop-visible cleartext while media secrets are dropped. That defeats a control
this document lists by name, reached by the adversary that control names.
The spec claimed a working relay-side remove path. The check is right and
required, but a genuinely relay-originated remove is injected unattributed, so
its sender can never be an administrator and the frame is always dropped:
relay-native remove reconciliation is inert, and the live path is the removing
administrator's own signed notification. Stated as the consequence of the rule
that it is.
Recovered the one thing the restructure actually lost: the leaf identity
binding's mutation-check inventory, ten named sabotages plus the adversarial
fixture behind the mls crate's test-utils feature, without which the use-time
seam cannot be tested at all. ADR 0010 also gains the adopt-path ordering rule
and the "what would undo this" section every other ADR carries.
Also: the BLE fallback caveat swept into its two restatements, R9 no longer
claims a design nobody can point at, the outbox repark edge qualified to plain
DMs, and C5 notes that C6's retry fallbacks are a fifth set of the same shape.
0 commit comments