RX0379

Domain: Wire

Error message

a Noise XX handshake is refused: %s (%s)

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

The story

A secure handshake with another node failed, and rush closed the door. Here is what a handshake is. Before two nodes exchange real messages, they perform a Noise XX handshake, a short conversation in which each side proves its keys and they agree on a secret. Every step is checked. If a sealed part does not verify, the verdict is seal tag, which means the message was touched, or the peer is not who the conversation expected. If the key exchange produces all zeros, that is seal dh, a sign of a weak, low-order key. If a message comes out of turn, or the opening prologue cannot be built, that is seal order. If the stream closed early or a message is too short, that is seal short. And if a window was refused, seal capacity. The first slot names the step where it broke. Rush never continues a handshake it cannot verify, because the whole point is trust. Check the peer, its version, and the network path, and then dial again.

Text from the Rush engine's error catalogue.