summaryrefslogtreecommitdiffhomepage
path: root/conn
diff options
context:
space:
mode:
authorJason A. Donenfeld <Jason@zx2c4.com>2021-01-20 20:04:31 +0100
committerJason A. Donenfeld <Jason@zx2c4.com>2021-01-20 20:12:32 +0100
commit294d3bedf959c9c496aaa877919a762acf07c684 (patch)
tree7a8b17097052e46d558511e85c0d392bfa571f01 /conn
parent86a58b51c027feb3bf8836359fb3adf1c436c53d (diff)
device: allow compiling with Go 1.15
Until we depend on Go 1.16 (which isn't released yet), alias our own variable to the private member of the net package. This will allow an easy find replace to make this go away when we eventually switch to 1.16. Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
Diffstat (limited to 'conn')
-rw-r--r--conn/conn_linux.go8
-rw-r--r--conn/net_err_closed.go13
2 files changed, 17 insertions, 4 deletions
diff --git a/conn/conn_linux.go b/conn/conn_linux.go
index 642ad7d..c32ee0d 100644
--- a/conn/conn_linux.go
+++ b/conn/conn_linux.go
@@ -204,7 +204,7 @@ func (bind *nativeBind) ReceiveIPv6(buff []byte) (int, Endpoint, error) {
var end NativeEndpoint
if bind.sock6 == -1 {
- return 0, nil, net.ErrClosed
+ return 0, nil, NetErrClosed
}
n, err := receive6(
bind.sock6,
@@ -220,7 +220,7 @@ func (bind *nativeBind) ReceiveIPv4(buff []byte) (int, Endpoint, error) {
var end NativeEndpoint
if bind.sock4 == -1 {
- return 0, nil, net.ErrClosed
+ return 0, nil, NetErrClosed
}
n, err := receive4(
bind.sock4,
@@ -237,12 +237,12 @@ func (bind *nativeBind) Send(buff []byte, end Endpoint) error {
nend := end.(*NativeEndpoint)
if !nend.isV6 {
if bind.sock4 == -1 {
- return net.ErrClosed
+ return NetErrClosed
}
return send4(bind.sock4, nend, buff)
} else {
if bind.sock6 == -1 {
- return net.ErrClosed
+ return NetErrClosed
}
return send6(bind.sock6, nend, buff)
}
diff --git a/conn/net_err_closed.go b/conn/net_err_closed.go
new file mode 100644
index 0000000..e4dcfae
--- /dev/null
+++ b/conn/net_err_closed.go
@@ -0,0 +1,13 @@
+/* SPDX-License-Identifier: MIT
+ *
+ * Copyright (C) 2021 WireGuard LLC. All Rights Reserved.
+ */
+
+package conn
+
+import _ "unsafe"
+
+//TODO: replace this with net.ErrClosed for Go 1.16
+
+//go:linkname NetErrClosed internal/poll.ErrNetClosing
+var NetErrClosed error