Age | Commit message (Collapse) | Author | |
---|---|---|---|
2021-11-04 | tun: move wintun to its own repo | Jason A. Donenfeld | |
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com> | |||
2021-10-12 | wintun: use new swdevice-based API for upcoming Wintun 0.14 | Jason A. Donenfeld | |
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com> | |||
2021-05-07 | tun: windows: set event before waiting | Jason A. Donenfeld | |
In 097af6e ("tun: windows: protect reads from closing") we made sure no functions are running when End() is called, to avoid a UaF. But we still need to kick that event somehow, so that Read() is allowed to exit, in order to release the lock. So this commit calls SetEvent, while moving the closing boolean to be atomic so it can be modified without locks, and then moves to a WaitGroup for the RCU-like pattern. Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com> | |||
2021-05-07 | tun: windows: rearrange struct to avoid alignment trap on 32bit | Jason A. Donenfeld | |
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com> | |||
2021-05-05 | tun: windows: send MTU update when forced MTU changes | Jason A. Donenfeld | |
Otherwise the padding doesn't get updated. Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com> | |||
2021-04-26 | tun: windows: protect reads from closing | Jason A. Donenfeld | |
The code previously used the old errors channel for checking, rather than the simpler boolean, which caused issues on shutdown, since the errors channel was meaningless. However, looking at this exposed a more basic problem: Close() and all the other functions that check the closed boolean can race. So protect with a basic RW lock, to ensure that Close() waits for all pending operations to complete. Reported-by: Joshua Sjoding <joshua.sjoding@scjalliance.com> Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com> | |||
2021-02-22 | tun: make NativeTun.Close well behaved, not crash on double close | Brad Fitzpatrick | |
Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com> | |||
2021-01-28 | global: bump copyright | Jason A. Donenfeld | |
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com> | |||
2021-01-07 | tun: make customization of WintunPool and requested GUID more obvious | Jason A. Donenfeld | |
Persnickety consumers can now do: func init() { tun.WintunPool, _ = wintun.MakePool("Flurp") tun.WintunStaticRequestedGUID, _ = windows.GUIDFromString("{5ae2716f-0b3e-4dc4-a8b5-48eba11a6e16}") } Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com> | |||
2020-11-25 | wintun: log when reboot is suggested by Windows | Simon Rozman | |
Which really shouldn't happen. But it is a useful information for troubleshooting. Signed-off-by: Simon Rozman <simon@rozman.si> | |||
2020-11-25 | wintun: keep original error when Wintun session start fails | Simon Rozman | |
Signed-off-by: Simon Rozman <simon@rozman.si> | |||
2020-11-07 | global: switch to using %w instead of %v for Errorf | Jason A. Donenfeld | |
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com> | |||
2020-11-07 | wintun: ring management moved to wintun.dll | Simon Rozman | |
Signed-off-by: Simon Rozman <simon@rozman.si> Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com> | |||
2020-11-07 | wintun: migrate to wintun.dll API | Simon Rozman | |
Rather than having every application using Wintun driver reinvent the wheel, the Wintun device/adapter/interface management has been moved from wireguard-go to wintun.dll deployed with Wintun itself. Signed-off-by: Simon Rozman <simon@rozman.si> | |||
2020-05-02 | global: update header comments and modules | Jason A. Donenfeld | |
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com> | |||
2020-01-07 | tun: windows: serialize write calls | Jason A. Donenfeld | |
2019-11-22 | wintun: manage ring memory manually | Jason A. Donenfeld | |
It's large and Go's garbage collector doesn't deal with it especially well. | |||
2019-10-17 | tun: match windows CreateTUN signature to the Linux variant | Avery Pennarun | |
Signed-off-by: Avery Pennarun <apenwarr@gmail.com> [zx2c4: fix default value] | |||
2019-10-08 | wintun: expose version | Jason A. Donenfeld | |
2019-09-08 | tun: windows: unify error message format | Jason A. Donenfeld | |
2019-08-30 | wintun: take mutex so that deletion uses the right name | Jason A. Donenfeld | |
2019-08-29 | wintun: move ring constants into module | Jason A. Donenfeld | |
2019-08-29 | wintun: Wintun->Interface | Jason A. Donenfeld | |
2019-08-29 | wintun: introduce adapter pools | Simon Rozman | |
This makes wintun package reusable for non-WireGuard applications. Signed-off-by: Simon Rozman <simon@rozman.si> | |||
2019-08-24 | wintun: make description consistent across fields | Jason A. Donenfeld | |
2019-08-19 | tun: windows: don't spin unless we really need it | Jason A. Donenfeld | |
2019-08-03 | tun: windows: spin for only a millisecond/80 | Jason A. Donenfeld | |
Performance stays the same as before. | |||
2019-07-23 | tun: windows: style | Jason A. Donenfeld | |
2019-07-22 | tun: windows: close event handle on shutdown | Jason A. Donenfeld | |
2019-07-19 | tun: windows: get rid of retry logic | Jason A. Donenfeld | |
Things work fine on Windows 8. | |||
2019-07-19 | tun: windows: use specific IOCTL code | Jason A. Donenfeld | |
2019-07-18 | tun: windows: open file at startup time | Jason A. Donenfeld | |
2019-07-18 | tun: windows: silently drop packet when ring is full | Jason A. Donenfeld | |
2019-07-18 | tun: windows: switch to NDIS device object | Jason A. Donenfeld | |
2019-07-18 | tun: windows: spin for a bit before falling back to event object | Jason A. Donenfeld | |
2019-07-17 | tun: windows: implement ring buffers | Simon Rozman | |
Signed-off-by: Simon Rozman <simon@rozman.si> | |||
2019-07-05 | tun: windows: registration of write buffer no longer required | Jason A. Donenfeld | |
2019-07-05 | tun: windows: decrease alignment to 4 | Jason A. Donenfeld | |
2019-07-04 | tun: windows: delay initial write | Jason A. Donenfeld | |
Otherwise we provoke Wintun 0.3. | |||
2019-07-01 | tun: windows: packetNum is unused | Jason A. Donenfeld | |
2019-06-26 | tun: windows: inform wintun of maximum buffer length for writes | Jason A. Donenfeld | |
2019-06-18 | tun: windows: never retry open on Windows 10 | Jason A. Donenfeld | |
2019-06-14 | tun: remove TUN prefix from types to reduce stutter elsewhere | Matt Layher | |
Signed-off-by: Matt Layher <mdlayher@gmail.com> | |||
2019-06-10 | wintun: fix comments and remove hwnd param | Jason A. Donenfeld | |
This now looks more idiomatic. | |||
2019-06-10 | wintun: allow controlling GUID | Jason A. Donenfeld | |
2019-06-06 | global: fixup TODO comment spacing | Jason A. Donenfeld | |
2019-06-06 | wintun: simplify DeleteInterface method signature | Simon Rozman | |
Signed-off-by: Simon Rozman <simon@rozman.si> | |||
2019-06-05 | tun: windows: obsolete 256 packets per exchange buffer limitation | Simon Rozman | |
Signed-off-by: Simon Rozman <simon@rozman.si> | |||
2019-05-31 | tun: windows: mitigate infinite loop in Flush() | Jason A. Donenfeld | |
It's possible that for whatever reason, we keep returning EOF, resulting in repeated close/open/write operations, except with empty packets. | |||
2019-05-26 | wintun: remove extra / | Jason A. Donenfeld | |