Release 0.8.0 with replay-safe prioritized transport

This commit is contained in:
sergeych committed 2026-10-21 16:35:20 +04:00
1 parent 237d404bcd
commit 009d62a155
31 files changed
+1188 -130

No files matched your search

+7 -2
View File
@@ -32,7 +32,11 @@ is not accepted as an authenticated application result.
Session nonces are replay-checked on both peers, including pushes. A bounded
4096-position window supports responses completed out of order and rejects replay
or excessively stale traffic. Send nonces and transport IDs do not wrap. Nonce
or excessively stale traffic by silently discarding those packets, without closing
the session. A discarded response leaves the pending call waiting for a valid reply
or its timeout/cancellation. Replay state uses a circular bitmap; unauthenticated
packets never advance it. Kotlin bounds local priority overtaking to 2730 nonce
positions and serializes nonce allocation, sealing and queue admission. Send nonces and transport IDs do not wrap. Nonce
state used during identity exchange is preserved when the identity is completed.
The routing envelope still allows denial of service by an active carrier: packets
@@ -79,7 +83,8 @@ silently invent a key provisioning or trust-on-first-use policy.
- `test/security.test.mjs`: swapped responses reject; wrong pin, version/role/token
signature substitution, forged/mismatched finished, expired/tampered server Seal,
damaged/replayed packets, altered call IDs/kinds/priorities fail closed.
damaged packets and altered call IDs/kinds/priorities fail closed; duplicates
and stale packets are discarded without executing again or closing the session.
- Kotlin `AuthenticatedEnvelopeTest`: normal signed duplex and session identities,
response-ID swap, call-to-push rewrite, priority rewrite, replay, forged Unit
acknowledgement and protocol downgrade.