From 5a9caff902b9a860a7f13a4cc504cc1f04e2861f Mon Sep 17 00:00:00 2001 From: flx5 <1330854+flx5@users.noreply.github.com> Date: Fri, 1 Oct 2021 00:20:08 +0200 Subject: [PATCH] fix proxy forwarding --- builder/xenserver/common/proxy/forwarding_real.go | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/builder/xenserver/common/proxy/forwarding_real.go b/builder/xenserver/common/proxy/forwarding_real.go index 5545a80..15aa835 100644 --- a/builder/xenserver/common/proxy/forwarding_real.go +++ b/builder/xenserver/common/proxy/forwarding_real.go @@ -5,6 +5,7 @@ import ( "io" "log" "net" + "strconv" ) type realProxyForwarding struct { @@ -40,16 +41,22 @@ func (self *realProxyForwarding) Start() error { self.ConnectionWrapper = identityWrapper } - listener, err := net.Listen("tcp", "127.0.0.1:0") + var err error + self.listener, err = net.Listen("tcp", "127.0.0.1:0") if err != nil { return fmt.Errorf("could not create port forward listener: %w", err) } + clientAddr := net.JoinHostPort(self.GetServiceHost(), strconv.Itoa(self.GetServicePort())) + targetAddr := net.JoinHostPort(self.TargetHost, strconv.Itoa(self.TargetPort)) + log.Printf("Starting forwarding %s -> %s", clientAddr, targetAddr) + go func() { for { - accept, err := listener.Accept() + accept, err := self.listener.Accept() if err != nil { + log.Printf("Stopped forwarding %s -> %s", clientAddr, targetAddr) return }