Johnathan Corgan 5d1783edd5 Session-layer handshake message retry with exponential backoff
Add resend logic for SessionSetup/SessionAck messages routed through
the mesh. Stores the encoded payload on SessionEntry for resend in a
fresh SessionDatagram (so routing can adapt to topology changes).
Uses the same config parameters as link-layer retry.

Also fixes a latent bug: Initiating/Responding sessions previously
had no timeout — a stuck handshake would live forever. Now cleaned up
after handshake_timeout_secs (default 30s).

Responder idempotency: duplicate SessionSetup triggers resend of
stored SessionAck instead of being silently dropped. Initiator-side
duplicate SessionAck already handled safely (entry.take_state() sees
Established, puts it back and returns).

Handshake payload cleared on Established transition at both initiator
(handle_session_ack) and responder (handle_encrypted_session_msg).
2026-02-19 16:20:38 +00:00

FIPS Documentation

Directory Description
design/ Protocol design specifications and analysis
S
Description
The Free Internetworking Peering System
Readme MIT
33 MiB
Languages
Rust 83.6%
Shell 11.7%
Python 4.2%
PowerShell 0.2%
Makefile 0.1%