tsnet: add Server method to listener

Allow callers to verify that a net.Listener is a tsnet.listener by type
asserting against this Server method, as well as providing access to the
underlying Server.

This is initially being added to support the caddy integration in
caddyserver/caddy#5002.

Signed-off-by: Will Norris <will@tailscale.com>
This commit is contained in:
Will Norris
2022-08-31 16:08:21 -07:00
committed by Will Norris
parent a0bae4dac8
commit 3344c3b89b
2 changed files with 21 additions and 0 deletions

View File

@@ -541,6 +541,9 @@ func (ln *listener) Close() error {
return nil
}
// Server returns the tsnet Server associated with the listener.
func (ln *listener) Server() *Server { return ln.s }
type addr struct{ ln *listener }
func (a addr) Network() string { return a.ln.key.network }