Zigcube

Diagnostic code

ZC-E0808

a peer's handshake was refused: its address is over a limit

Kind
error
Blame
external
Exit code
3

What it means

An agent's peer server limits what one source address may ask of it, because a handshake costs the server public-key work. A handshake is refused, and the connection closed without a byte, when the address already has peer_handshakes_pending_per_source_max handshakes that have not finished, when it has started peer_handshakes_per_source_max handshakes in peer_handshake_window_ms, or when the server already tracks peer_sources_max addresses in the window. An IPv6 address counts by its /64, one host's whole range.

The cause names the refused address (an IPv6 one by its /64). The text is shown once per peer_refusal_log_ms, not once per connection. An honest fetch opens a handful of connections and keeps them. If one node is refused over and over, something there retries in a loop: look at its agent's output. A refused node tries again by itself, and a fetch falls back to the registry meanwhile. A flood from many addresses can fill the table and turn honest nodes away for up to one window; no action is needed unless it repeats.

Offline

The same text, without a network:

zcube explain E0808