RX0409

Domain: Wire

Error message

a wire session is closed by its gate: %s (%s)

In the message, %s marks a value that the engine fills in when it raises the error.

The story

A session between two nodes was closed by its gate, before any real message passed. Let's see how the gate decides. When the handshake is done, the session has a few facts about it. Is the token alive, meaning the authentication key is fresh, not a repeat of an old one? Is the principal alive, meaning the node's key matches its pin? And is the session attested, meaning the node is on the Namewise roster? The first gate needs all three to be true. The second gate is about foreigners: a node that is not on the roster cannot attest, so a foreigner never passes. If either gate closes, the session is torn down with zero transport records, so nothing was ever sent through it. The second slot prints both verdicts and every fact, so you can see exactly which one failed. A repeated key points at a replay. A pin mismatch points at a changed identity. A foreigner points at a missing roster entry. Fix the fact that failed, and connect again.

Text from the Rush engine's error catalogue.