From 1d3b8b566e1c12362275a02c43a71d0068b835d2 Mon Sep 17 00:00:00 2001 From: David Scott Date: Thu, 14 Apr 2016 22:13:38 +0100 Subject: [PATCH] proxy: tell the /port server the real external IP address Before this we accidentally told it the vsock address, which obviously isn't much good. Signed-off-by: David Scott --- alpine/packages/proxy/main.go | 3 +-- alpine/packages/proxy/proxy.go | 6 ++---- 2 files changed, 3 insertions(+), 6 deletions(-) diff --git a/alpine/packages/proxy/main.go b/alpine/packages/proxy/main.go index ebd026c24..022274fbb 100644 --- a/alpine/packages/proxy/main.go +++ b/alpine/packages/proxy/main.go @@ -8,7 +8,6 @@ import ( "os" "libproxy" "strings" - "vsock" ) func main() { @@ -41,7 +40,7 @@ func exposePort(host net.Addr, port int) error { log.Printf("Failed to open /port/%s/ctl: %#v\n", name, err) return err } - _, err = ctl.WriteString(fmt.Sprintf("%s:%d:%d", name, vsock.VSOCK_CID_SELF, vSockPortOffset + port)) + _, err = ctl.WriteString(fmt.Sprintf("%s:%08x", name, port)) if err != nil { log.Printf("Failed to open /port/%s/ctl: %#v\n", name, err) return err diff --git a/alpine/packages/proxy/proxy.go b/alpine/packages/proxy/proxy.go index d59d173d5..aea703761 100644 --- a/alpine/packages/proxy/proxy.go +++ b/alpine/packages/proxy/proxy.go @@ -10,7 +10,6 @@ import ( "syscall" "libproxy" - "vsock" ) // sendError signals the error to the parent and quits the process. @@ -49,13 +48,12 @@ func parseHostContainerAddrs() (host net.Addr, port int, container net.Addr) { switch *proto { case "tcp": + host = &net.TCPAddr{IP: net.ParseIP(*hostIP), Port: *hostPort} port = vSockPortOffset + *hostPort - host = &vsock.VsockAddr{Port: uint(port)} - port = *hostPort container = &net.TCPAddr{IP: net.ParseIP(*containerIP), Port: *containerPort} case "udp": host = &net.UDPAddr{IP: net.ParseIP(*hostIP), Port: *hostPort} - port = *hostPort + port = vSockPortOffset + *hostPort container = &net.UDPAddr{IP: net.ParseIP(*containerIP), Port: *containerPort} default: log.Fatalf("unsupported protocol %s", *proto)