aboutsummaryrefslogtreecommitdiffstatshomepage
Commit message (Collapse)AuthorAgeFilesLines
...
* build: bump to wintun 0.14Jason A. Donenfeld2021-10-122-2/+2
| | | | Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
* global: remove old-style build tagsJason A. Donenfeld2021-10-1213-13/+0
| | | | Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
* global: use unsafe.Add where possibleJason A. Donenfeld2021-10-126-9/+9
| | | | Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
* manager: use newer wireguard-go APIsJason A. Donenfeld2021-10-128-110/+51
| | | | Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
* go-patches: make unsafe.Slice fastJason A. Donenfeld2021-10-112-1/+332
| | | | Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
* global: use unsafe.Slice instead of unsafeSliceJason A. Donenfeld2021-10-116-114/+21
| | | | Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
* version: bumpv0.4.11Jason A. Donenfeld2021-10-111-1/+1
| | | | Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
* build: bump to wgnt 0.10Jason A. Donenfeld2021-10-112-2/+2
| | | | Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
* memmod: hook RtlPcToFileHeader's invocation from GetModuleHandleExJason A. Donenfeld2021-10-102-1/+85
| | | | | | | | | | | | | | | | | | | | When GetModuleHandleEx(GET_MODULE_HANDLE_EX_FLAG_FROM_ADDRESS) is called by cfgmgr32.dll's SwCreateDevice on the DLL's callback, it expects to get the module of the DLL. But of course memory loaded modules means there is none. This causes SwCreateDevice to fail. GetModuleHandleEx(GET_MODULE_HANDLE_EX_FLAG_FROM_ADDRESS) internally uses RtlPcToFileHeader. In turn, RtlPcToFileHeader looks things up in the inverted function table, which has no stable interface across OS releases. That means adding a proper module isn't going to work. So instead we hook the IAT, so that we can intercept all calls to RtlPcToFileHeader that come from GetModuleHandleEx's kernelbase.dll. If the value to look up is within the range of a module we've memory loaded, then we change the value to lookup to the hook function itself, so that it winds up returning the main module. Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
* build: use better PnP enumeration in wg(8)Jason A. Donenfeld2021-10-061-1/+1
| | | | Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
* conf: always pass v4-sized v4 addressesJason A. Donenfeld2021-10-061-3/+6
| | | | | | | Otherwise we'll pass the v6 map prefix if addresses have been created with net.IPv4(). Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
* driver: use new APIJason A. Donenfeld2021-10-059-182/+54
| | | | Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
* docs: add example for task schedulerJason A. Donenfeld2021-09-291-0/+6
| | | | Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
* version: bumpv0.4.10Jason A. Donenfeld2021-09-241-1/+1
| | | | Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
* driver: document remaining functionsJason A. Donenfeld2021-09-242-0/+15
| | | | Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
* build: bump to wgnt 0.9Jason A. Donenfeld2021-09-242-2/+2
| | | | Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
* winipcfg: fix typo in DNS LLMNR flagJason A. Donenfeld2021-09-231-1/+1
| | | | | Reported-by: Brad Fitzpatrick <bradfitz@tailscale.com> Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
* tunnel: help people fix their DNS Cache serviceJason A. Donenfeld2021-09-191-0/+25
| | | | | | | | Too many people follow silly Internet guides and disable this, making it impossible for us to then set activestore-style DNS servers for the interface. Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
* tunnel: pretty print route failures betterJason A. Donenfeld2021-09-162-2/+7
| | | | Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
* version: bumpv0.4.9Jason A. Donenfeld2021-09-151-1/+1
| | | | Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
* tunnel: return if unable to configureJason A. Donenfeld2021-09-151-0/+2
| | | | Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
* build: bump to wgnt 0.8Jason A. Donenfeld2021-09-152-2/+2
| | | | Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
* build: bump wireguard toolsJason A. Donenfeld2021-09-151-1/+1
| | | | Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
* tunnel: reinitialize configuration after PnP flaps driver on <10Jason A. Donenfeld2021-09-143-6/+21
| | | | | | | | | | On older Windows, PnP will unload the driver and reload it. This makes multiple tunnels impossible, as we knew. But this also happens when various adapter settings change, like ICS, which is maybe a bigger issue. Solve this by reloading the configuration after these flaps. Reported-by: Harland Coles <harland.coles@energy-x.com> Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
* version: bumpv0.4.8Jason A. Donenfeld2021-09-131-1/+1
| | | | Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
* build: bump to wgnt 0.7Jason A. Donenfeld2021-09-132-2/+2
| | | | Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
* global: prefer WireGuardNT over wireguard-go/WintunJason A. Donenfeld2021-09-1212-169/+29
| | | | | | Also remove Wintun driver on startup. Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
* docs: mention update notification behavior changeJason A. Donenfeld2021-09-121-1/+1
| | | | Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
* build: bump to go 1.17.1Jason A. Donenfeld2021-09-112-2/+2
| | | | Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
* manager: disable multiple tunnels on pre-win10Jason A. Donenfeld2021-09-101-1/+2
| | | | Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
* tunnel: set address after routes so that loopback worksJason A. Donenfeld2021-09-091-11/+10
| | | | Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
* winipcfg: disable DAD so that IP becomes useful soonerJason A. Donenfeld2021-09-091-0/+5
| | | | Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
* tunnel: disable dhcp probesJason A. Donenfeld2021-09-091-0/+2
| | | | Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
* tunnel: disable dad and router discovery on v4 tooJason A. Donenfeld2021-09-091-12/+5
| | | | | | Oddly enough, these mean something for IPv4. Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
* global: format with go 1.17Jason A. Donenfeld2021-09-097-1/+7
| | | | Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
* version: bumpv0.4.7Jason A. Donenfeld2021-09-091-1/+1
| | | | Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
* build: bump to wgnt 0.6Jason A. Donenfeld2021-09-092-2/+2
| | | | Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
* conf: use wgnt for those enrolled in insider programJason A. Donenfeld2021-09-092-4/+35
| | | | Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
* version: bumpv0.4.6Jason A. Donenfeld2021-09-071-1/+1
| | | | Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
* mod: bumpJason A. Donenfeld2021-09-072-15/+15
| | | | Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
* build: bump to wgnt 0.5Jason A. Donenfeld2021-09-072-2/+2
| | | | Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
* locales: sync with crowdinJason A. Donenfeld2021-09-0718-2009/+11929
| | | | Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
* conf: generate valid endpoint for ::1Jason A. Donenfeld2021-09-071-1/+1
| | | | Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
* build: bump to go 1.17Jason A. Donenfeld2021-08-183-49/+2
| | | | Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
* embeddable-dll-service: csharp: fix type conversionsJason A. Donenfeld2021-08-142-3/+3
| | | | | | | | | | ADDRESS_FAMILY is a u16, not a u32. C# promotes a ushort to an int, not to a short, so ntohl was being called instead of ntohs. Fix this with explicit casts. Reported-by: Neutron <dotneutron@protonmail.ch> Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
* embeddable-dll-service: csharp: specify stdcall, not cdeclJason A. Donenfeld2021-08-131-3/+3
| | | | | | | wireguard.h uses the WINAPI macro, which is __stdcall, so mark these as such. Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
* conf: split registry key open and createSimon Rozman2021-08-131-2/+3
| | | | | | | | | | | | | | | On reading admin registry values, an on-demand auto creation of registry key is not required side effect. This restores openAdminKey() to original form, we will need anyway after the WireGuardNT call-for-testing promotion is no longer required. The GUI ExperimentalKernelDriver flipping also opened a caching registry key handle issue: should user manually delete our registry key while wireguard.exe is already running, any admin knob get fails. So, the sooner we get rid of the GUI admin knob flipping, the better. Signed-off-by: Simon Rozman <simon@rozman.si>
* winipcfg: update documentationSimon Rozman2021-08-131-1/+1
| | | | Signed-off-by: Simon Rozman <simon@rozman.si>
* version: bumpv0.4.5Jason A. Donenfeld2021-08-131-1/+1
| | | | Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
* conf: create registry key if it doesn't existJason A. Donenfeld2021-08-131-1/+1
| | | | | Reported-by: Pablo <contact@donpablo.me> Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>