From 403ce4e696b9b1ac7bcf026608f101ae260f7c4f Mon Sep 17 00:00:00 2001 From: David Scott Date: Thu, 14 Apr 2016 16:15:31 +0100 Subject: [PATCH] proxy: libproxy: add a case for `VsockAddr` types The `NewProxy` function already knows how to deal with `net.UDPAddr` and `net.TCPAddr`, this patch adds similar support for `vsock.VsockAddr`. Signed-off-by: David Scott --- alpine/packages/proxy/vendor/libproxy/proxy.go | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/alpine/packages/proxy/vendor/libproxy/proxy.go b/alpine/packages/proxy/vendor/libproxy/proxy.go index 79bd6dbe7..d0098502d 100644 --- a/alpine/packages/proxy/vendor/libproxy/proxy.go +++ b/alpine/packages/proxy/vendor/libproxy/proxy.go @@ -5,6 +5,7 @@ package libproxy import ( "fmt" "net" + "vsock" ) // Proxy defines the behavior of a proxy. It forwards traffic back and forth @@ -37,6 +38,12 @@ func NewProxy(frontendAddr, backendAddr net.Addr) (Proxy, error) { return nil, err } return NewTCPProxy(listener, backendAddr.(*net.TCPAddr)) + case *vsock.VsockAddr: + listener, err := vsock.Listen(frontendAddr.(vsock.VsockAddr).Port) + if err != nil { + return nil, err + } + return NewTCPProxy(listener, backendAddr.(*net.TCPAddr)) default: panic(fmt.Errorf("Unsupported protocol")) }