libwg-go: No sticky sockets with VPNService.java
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
This commit is contained in:
@@ -133,7 +133,18 @@ func wgGetSocketV4(tunnelHandle int32) int32 {
|
|||||||
if !ok {
|
if !ok {
|
||||||
return -1
|
return -1
|
||||||
}
|
}
|
||||||
return int32(native.sock4)
|
fd := int32(-1)
|
||||||
|
conn, err := native.ipv4.SyscallConn()
|
||||||
|
if err != nil {
|
||||||
|
return -1
|
||||||
|
}
|
||||||
|
err = conn.Control(func(f uintptr) {
|
||||||
|
fd = int32(f)
|
||||||
|
})
|
||||||
|
if err != nil {
|
||||||
|
return -1
|
||||||
|
}
|
||||||
|
return fd
|
||||||
}
|
}
|
||||||
|
|
||||||
//export wgGetSocketV6
|
//export wgGetSocketV6
|
||||||
@@ -146,7 +157,18 @@ func wgGetSocketV6(tunnelHandle int32) int32 {
|
|||||||
if !ok {
|
if !ok {
|
||||||
return -1
|
return -1
|
||||||
}
|
}
|
||||||
return int32(native.sock6)
|
fd := int32(-1)
|
||||||
|
conn, err := native.ipv6.SyscallConn()
|
||||||
|
if err != nil {
|
||||||
|
return -1
|
||||||
|
}
|
||||||
|
err = conn.Control(func(f uintptr) {
|
||||||
|
fd = int32(f)
|
||||||
|
})
|
||||||
|
if err != nil {
|
||||||
|
return -1
|
||||||
|
}
|
||||||
|
return fd
|
||||||
}
|
}
|
||||||
|
|
||||||
func main() {}
|
func main() {}
|
||||||
|
|||||||
+1
-1
Submodule app/tools/wireguard-go updated: 837a12c841...65a74f3175
Reference in New Issue
Block a user