summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorJason A. Donenfeld <Jason@zx2c4.com>2019-07-05 07:54:25 +0200
committerJason A. Donenfeld <Jason@zx2c4.com>2019-07-05 14:17:48 +0200
commit5c3d333f10c7238cae9b8ed1aabdb8c8ab6a7ebc (patch)
tree40662d471602887150a8b5329f59e1754b57139c
parentd8448f8a0298b16cc128bf0e64963852964d2e78 (diff)
tun: windows: registration of write buffer no longer required
-rw-r--r--README.md2
-rw-r--r--tun/tun_windows.go13
2 files changed, 1 insertions, 14 deletions
diff --git a/README.md b/README.md
index b6a9f39..0a542e4 100644
--- a/README.md
+++ b/README.md
@@ -2,8 +2,6 @@
This is an implementation of WireGuard in Go.
-***WARNING:*** This is a work in progress and not ready for prime time, with no official "releases" yet. It is extremely rough around the edges and leaves much to be desired. There are bugs and we are not yet in a position to make claims about its security. Beware.
-
## Usage
Most Linux kernel WireGuard users are used to adding an interface with `ip link add wg0 type wireguard`. With wireguard-go, instead simply run:
diff --git a/tun/tun_windows.go b/tun/tun_windows.go
index f0acc09..4ae5cf0 100644
--- a/tun/tun_windows.go
+++ b/tun/tun_windows.go
@@ -11,11 +11,11 @@ import (
"io"
"os"
"sync"
- "sync/atomic"
"time"
"unsafe"
"golang.org/x/sys/windows"
+
"golang.zx2c4.com/wireguard/tun/wintun"
)
@@ -42,7 +42,6 @@ type NativeTun struct {
wt *wintun.Wintun
tunFileRead *os.File
tunFileWrite *os.File
- haveRegisteredWriteBuffer int32
tunLock sync.Mutex
close bool
rdBuff *exchgBufRead
@@ -142,7 +141,6 @@ func (tun *NativeTun) openTUN() error {
}
return err
}
- atomic.StoreInt32(&tun.haveRegisteredWriteBuffer, 0)
}
return nil
}
@@ -321,15 +319,6 @@ func (tun *NativeTun) Flush() error {
return err
}
- if atomic.CompareAndSwapInt32(&tun.haveRegisteredWriteBuffer, 0, 1) {
- firstSize := (*uint32)(unsafe.Pointer(&tun.wrBuff.data[0]))
- saved := *firstSize
- *firstSize = 0
- // Set the maximum buffer length with an invalid write.
- tun.tunFileWrite.Write(tun.wrBuff.data[:])
- *firstSize = saved
- }
-
for {
_, err = file.Write(tun.wrBuff.data[:tun.wrBuff.offset])
if err != nil {