diff options
author | Jason A. Donenfeld <Jason@zx2c4.com> | 2019-07-05 07:54:25 +0200 |
---|---|---|
committer | Jason A. Donenfeld <Jason@zx2c4.com> | 2019-07-05 14:17:48 +0200 |
commit | 5c3d333f10c7238cae9b8ed1aabdb8c8ab6a7ebc (patch) | |
tree | 40662d471602887150a8b5329f59e1754b57139c | |
parent | d8448f8a0298b16cc128bf0e64963852964d2e78 (diff) |
tun: windows: registration of write buffer no longer required
-rw-r--r-- | README.md | 2 | ||||
-rw-r--r-- | tun/tun_windows.go | 13 |
2 files changed, 1 insertions, 14 deletions
@@ -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 { |