diff options
Diffstat (limited to 'net/clash/files/patch-proxy_redir_tcp__freebsd.go')
-rw-r--r-- | net/clash/files/patch-proxy_redir_tcp__freebsd.go | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/net/clash/files/patch-proxy_redir_tcp__freebsd.go b/net/clash/files/patch-proxy_redir_tcp__freebsd.go new file mode 100644 index 000000000000..ecffde3e282d --- /dev/null +++ b/net/clash/files/patch-proxy_redir_tcp__freebsd.go @@ -0,0 +1,12 @@ +--- proxy/redir/tcp_freebsd.go.orig 2018-12-08 09:12:52 UTC ++++ proxy/redir/tcp_freebsd.go +@@ -38,7 +38,8 @@ func parserPacket(conn net.Conn) (socks. + func getorigdst(fd uintptr) (socks.Addr, error) { + raw := syscall.RawSockaddrInet4{} + siz := unsafe.Sizeof(raw) +- if err := socketcall(GETSOCKOPT, fd, syscall.IPPROTO_IP, SO_ORIGINAL_DST, uintptr(unsafe.Pointer(&raw)), uintptr(unsafe.Pointer(&siz)), 0); err != nil { ++ _, _, err := syscall.Syscall6(syscall.SYS_GETSOCKOPT, fd, syscall.IPPROTO_IP, SO_ORIGINAL_DST, uintptr(unsafe.Pointer(&raw)), uintptr(unsafe.Pointer(&siz)), 0); ++ if err != 0 { + return nil, err + } + |