From e6ebbc245c917bcf715c5aefc12560f7a78fe303 Mon Sep 17 00:00:00 2001 From: Darien Raymond Date: Fri, 25 Aug 2017 23:46:07 +0200 Subject: [PATCH] fix test break --- transport/internet/tcp/sockopt_linux.go | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/transport/internet/tcp/sockopt_linux.go b/transport/internet/tcp/sockopt_linux.go index 5d4e96b9..6219ccce 100644 --- a/transport/internet/tcp/sockopt_linux.go +++ b/transport/internet/tcp/sockopt_linux.go @@ -26,13 +26,17 @@ func GetOriginalDestination(conn internet.Connection) (v2net.Destination, error) addr, err := syscall.GetsockoptIPv6Mreq(int(fd), syscall.IPPROTO_IP, SO_ORIGINAL_DST) if err != nil { log.Trace(newError("failed to call getsockopt").Base(err)) + return } ip := v2net.IPAddress(addr.Multiaddr[4:8]) port := uint16(addr.Multiaddr[2])<<8 + uint16(addr.Multiaddr[3]) dest = v2net.TCPDestination(ip, v2net.Port(port)) }) if err != nil { - return v2net.Destination{}, newError("failed to get original destination").Base(err) + return v2net.Destination{}, newError("failed to control connection").Base(err) + } + if !dest.IsValid() { + return v2net.Destination{}, newError("failed to call getsockopt") } return dest, nil }