You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
release: retunnel 3.1.2 — reach a local app bound to ::1 (#59)
An application the user could browse at http://localhost:PORT returned 502
through the tunnel whenever it was bound to ::1, because the client only ever
dialled 127.0.0.1. That is the common shape on macOS, where localhost resolves
to ::1 first and many dev servers bind IPv6 only.
Addressing the app as the NAME "localhost" is NOT a sufficient fix and was
rejected after testing: it depends on the host's /etc/hosts, and on a machine
whose localhost has no AAAA record getaddrinfo returns 127.0.0.1 alone, leaving
an IPv6-only app just as unreachable. Both loopback literals are now tried
explicitly (IPv4 first, as the common case) for HTTP, WebSocket and TCP
streams, and whichever answers is remembered for the rest of the session so
only the first request pays for probing.
Probe: audit/evaluations/probe_local_address_family.py asserts BOTH families,
since a fix that merely moved the failure would otherwise look identical.
Verified: red on published 3.1.1 (IPv6 502), green on this build; full harness
12/12 against production.
Refs #59
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
0 commit comments