aboutsummaryrefslogtreecommitdiffstatshomepage
Commit message (Collapse)AuthorAgeFilesLines
* elevate: introduce method for armjd/uac-armJason A. Donenfeld2020-11-112-0/+239
| | | | Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
* ui: remove systray popup menu tunnel listJason A. Donenfeld2020-11-111-178/+55
| | | | | | | | | | Should user have a huge list of tunnels, the menu becomes impossible to navigate. In the absence of any better idea, how to make the popup menu usable in such tunnel quantities, the tunnel activation via systray popup menu was removed, and instead we have a single deactivate button. Signed-off-by: Simon Rozman <simon@rozman.si> Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
* conf: move configuration to C:\ProgramData\WireGuardJason A. Donenfeld2020-11-117-54/+126
| | | | | | Still looking into the security implications of this. Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
* go-patches: support 8 callback arguments on armJason A. Donenfeld2020-11-109-8/+70
| | | | Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
* main: direct users to hotfix URL for KB2921916Jason A. Donenfeld2020-11-101-0/+43
| | | | Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
* main: re-introduce WoW64 check, but only for !armJason A. Donenfeld2020-11-101-0/+17
| | | | | | This reverts commit 3098562a6b62d039acd5999a5af29e2b5472dded. Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
* installer: suppress ice03 errorsJason A. Donenfeld2020-11-101-0/+1
| | | | Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
* installer: clean-up adapters and Wintun driver on uninstallSimon Rozman2020-11-102-1/+137
| | | | | Signed-off-by: Simon Rozman <simon@rozman.si> Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
* build: sign ARM and ARM64 binariesSimon Rozman2020-11-101-1/+1
| | | | Signed-off-by: Simon Rozman <simon@rozman.si>
* installer: updater: introduce ARM64 MSI packagesSimon Rozman2020-11-109-14/+186
| | | | | | Windows 10 ARM64 refuses to install ARM MSI. Signed-off-by: Simon Rozman <simon@rozman.si>
* build: make arm64 binary by copying arm binaryJason A. Donenfeld2020-11-103-3/+13
| | | | Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
* resources: choose first-ordered resource name that works on llvm-rc and binutils rcJason A. Donenfeld2020-11-102-2/+2
| | | | Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
* build: bump wintun hashJason A. Donenfeld2020-11-103-4/+4
| | | | Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
* main: add command line adapter cleanupJason A. Donenfeld2020-11-101-0/+25
| | | | Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
* syntax: trim the text returned by EM_GETTEXTEXSimon Rozman2020-11-101-2/+3
| | | | | | | | | | | | | | The RichEdit's GETTEXTLENGTHEX returns bigger text length estimate than EM_GETTEXTEX returns. This results in trailing null characters. While CGo variant of the highlighter had a C-natural way of stopping before null-terminator character(s), Go strings don't. Note that documentation says EM_GETTEXTEX returns number of characters including null-terminator, it was observed that RichEdit control's implementation of EM_GETTEXTEX returns number of characters excluding null-terminator. Signed-off-by: Simon Rozman <simon@rozman.si>
* installer: enable ARM MSI buildingSimon Rozman2020-11-104-4/+11
| | | | Signed-off-by: Simon Rozman <simon@rozman.si>
* build: bump wireguard-tools for mingw improvementsJason A. Donenfeld2020-11-101-1/+1
| | | | Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
* build: set codepage at command line for rcJason A. Donenfeld2020-11-102-2/+2
| | | | | | Work around limitation of llvm-rc. Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
* build: rebuild linker after patchingJason A. Donenfeld2020-11-101-1/+4
| | | | Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
* build: new makefile downloaderJason A. Donenfeld2020-11-102-18/+32
| | | | Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
* build: add linker patches for llvm-rcJason A. Donenfeld2020-11-108-77/+545
| | | | Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
* global: go generateSimon Rozman2020-11-107-1747/+1641
| | | | Signed-off-by: Simon Rozman <simon@rozman.si>
* build: filter out .deps from recursive wildcardJason A. Donenfeld2020-11-101-2/+2
| | | | Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
* global: switch to using %w instead of %v for ErrorfJason A. Donenfeld2020-11-109-70/+70
| | | | Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
* build: remove cgoJason A. Donenfeld2020-11-104-18/+5
| | | | | | This doesn't yet build but we'll get there. Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
* ui: syntax: port to goSimon Rozman2020-11-107-1159/+1036
| | | | | | | | Arm has no CGo support, so port the syntax editor C code to Go and hope hat it's fast enough. Signed-off-by: Simon Rozman <simon@rozman.si> Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
* build: remove duplicated ld flagsJason A. Donenfeld2020-11-102-4/+0
| | | | | | These are finally in Go 1.15. Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
* installer: move wg.exe to C:\Program Files\WireGuardSimon Rozman2020-11-102-14/+3
| | | | | | ...and append C:\Program Files\WireGuard to the path. Signed-off-by: Simon Rozman <simon@rozman.si>
* build: switch to using llvm compilerJason A. Donenfeld2020-11-102-9/+6
| | | | Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
* build: work with llvm-rcJason A. Donenfeld2020-11-105-13/+16
| | | | Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
* build: add wintun 0.9 and arm support to makefileJason A. Donenfeld2020-11-101-8/+29
| | | | Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
* manager: add TcpIp service dependency for tunnelsJason A. Donenfeld2020-11-101-1/+1
| | | | | | | | Wintun waits for various TcpIp keys to populate, so have the tunnel service depend on the TcpIp service. Reported-by: Ferad Zyulkyarov <feradz@gmail.com> Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
* build: enable arm buildingSimon Rozman2020-11-102-0/+4
| | | | Signed-off-by: Simon Rozman <simon@rozman.si>
* version: make native GoSimon Rozman2020-11-107-13/+20
| | | | | | | Arm has no CGo support. Signed-off-by: Simon Rozman <simon@rozman.si> Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
* manager: adopt new Wintun APISimon Rozman2020-11-102-5/+5
| | | | Signed-off-by: Simon Rozman <simon@rozman.si>
* wintun: move to RCDATA resourceSimon Rozman2020-11-104-15/+4
| | | | | Signed-off-by: Simon Rozman <simon@rozman.si> Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
* firewall, winipcfg: add arm and arm64 build tagsJason A. Donenfeld2020-11-106-0/+12
| | | | | | | | The structs stay the same size for the respective 32bit and 64bit platforms, so split things into _32 and _64. Signed-off-by: Simon Rozman <simon@rozman.si> Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
* main: remove WoW64 checkSimon Rozman2020-11-101-13/+0
| | | | | | | | | With new Wintun-API, the WoW64 processes may manipulate and use Wintun adapters as well. Add this back once Go can produce ARM64 binaries. Signed-off-by: Simon Rozman <simon@rozman.si>
* mod: bumpJason A. Donenfeld2020-11-102-29/+28
| | | | Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
* winipcfg, embeddable-dll-service, wintrust: fix Go 1.15 checkptr violationsBrad Fitzpatrick2020-10-216-40/+47
| | | | | | | | | | Avoids "converted pointer straddles allocation" failures at runtime when building binaries in race mode with Go 1.15, which enables checkptr: https://golang.org/doc/go1.15#windows Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com> [Jason: Note Go 1.16/1.17 todo item.] Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
* build: use crowdin backdoor instead of api keyJason A. Donenfeld2020-10-141-2/+1
| | | | | Suggested-by: Harsh Shandilya <me@msfjarvis.dev> Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
* tunnel/winipcfg: set SysProcAttr.HideWindow when running netsh.shBrad Fitzpatrick2020-10-041-0/+3
| | | | | | | | Prevents cmd.exe window flashes when running binaries in elevated interactive contexts for debugging. Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com> Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
* go: update to 1.15.2Jason A. Donenfeld2020-09-113-9/+149
| | | | Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
* locales: add ro and skJason A. Donenfeld2020-09-075-194/+2945
| | | | Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
* build: update C toolchainsJason A. Donenfeld2020-09-071-2/+2
| | | | Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
* README: mention CrowdInJason A. Donenfeld2020-08-181-1/+1
| | | | Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
* go: use highres timer on newer Windows 10Jason A. Donenfeld2020-08-181-0/+395
| | | | | | | | | | | WireGuard makes heavy use of timers, and the low precision of Windows timers as currently used in Go isn't very nice, and also seems to result in worse battery life because of the gross winmm.dll timerBeginPeriod trick. John Starks suggested this new parameter to make a high resolution timer on NT, and Alex implemented it, so import Alex's test patch to see how this goes. Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
* go: remove exit(2) from ctrl+c handlerJason A. Donenfeld2020-08-181-0/+44
| | | | | | | | | | Simon reported that he'd have hard to diagnose exits at boot time with Go 1.14 but not with 1.13. It turns out that the ctrl+c handler added by 1.14 at some point in the cycle includes some wrong behavior forcing exits on various services signals. In an attempt to address this, this commit backports my patch from 1.16 that removes this errant path. Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
* build: re-add patcherJason A. Donenfeld2020-08-182-4/+15
| | | | Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
* build: update to go 1.15Jason A. Donenfeld2020-08-181-1/+1
| | | | Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>