mirror of
https://github.com/juanfont/headscale.git
synced 2026-10-01 04:20:53 +09:00
61021c739a
The HTTP-01 challenge listener was launched in an orphan goroutine that called log.Fatal on bind failure, which bypassed the signal-handler shutdown path and made bind errors look identical to the main HTTP listener. Bind eagerly via net.ListenConfig in getTLSSettings, return the listener + http.Server in a tlsBundle, register the Serve loop with the existing errgroup, and call Shutdown alongside the other servers. Bind failures now surface as ListenerBindError(Listener:"ACME HTTP-01 challenge") through the normal error chain. Updates #3227