chore: retarget upstream portal-tunnel v2.6.4 #116
Loading…
Reference in a new issue
No description provided.
Delete branch "chore/retarget-v2.6.4"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Retarget the Rust relay from upstream portal-tunnel v2.6.3 to v2.6.4 (tag commit
0a3b9c06236581be9451ea7f7bd83140d0eeb155). Tunnel protocol 10 and discovery protocol 9 are unchanged.Ported relay contract (v2.6.4)
/sdk/registerURI to the validated requestHost. v2.6.4 clients regenerate the message from the relay URL they dialed and reject any mismatch. The message format is pinned to vectors from upstreamFormatSIWEMessage.GET /discoveryresponses capped at 1 MiB.Release metadata
checksums.txt.Not ported (documented in docs/unsupported-features.md)
CACHE_ENABLED=true, so there is no cache endpoint to bound.Verification
cargo fmt --checkcargo clippy --workspace --all-targets --locked -- -D warningscargo test --workspace --lockedbash scripts/test-container-image-tag.shPort the v2.6.4 QUIC backhaul pending-authentication bounds: - At most 64 connections may be in control authentication at once, and at most 4 per source prefix (/32 IPv4 after unmapping, /64 IPv6). Over-limit connections are closed with code 1 and reason "backhaul authentication busy". - Accepting the control stream, reading the control JSON, and writing the response share one 3 s budget. On expiry the connection is closed ("backhaul authentication canceled"), which also interrupts a peer stalled mid-message. Slots are released when authentication succeeds, fails, or times out. - A failed success response now closes the connection. - Handler tasks live in a JoinSet, so stopping the listener drops every connection still authenticating. Slots are taken after the QUIC handshake, as with quic-go's Listener.Accept, rather than at quinn's Incoming: an unvalidated source address could be spoofed to exhaust another source's slots. The handshake is separately bounded by quic-go's default 5 s handshake idle timeout.