aboutsummaryrefslogtreecommitdiffstatshomepage
Commit message (Collapse)AuthorAgeFilesLines
* installer: make UpgradeCode platform-specificSimon Rozman2019-05-121-2/+17
| | | | | | | | | | | Platform specific UpgradeCode(s) stop Group Policy Management Editor from offering x86 for amd64 or vice-versa upgrades. Note: The amd64 is keeping the original UpgradeCode, the x86 line got a new one. Nevertheless, the x86 MSI is authored as an upgrade of <v0.0.4 legacy/amd64 packages too. Signed-off-by: Simon Rozman <simon@rozman.si>
* ui: unlock thread after raisingJason A. Donenfeld2019-05-121-0/+1
| | | | Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
* ui: leave it to walk to lock threadJason A. Donenfeld2019-05-121-3/+0
| | | | Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
* ui: give editor different iconJason A. Donenfeld2019-05-121-0/+3
| | | | Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
* ui: don't tie ctrl+S to exportingJason A. Donenfeld2019-05-121-2/+0
| | | | | | Roopesh doesn't like it. Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
* ui: adjust message filter for raiseJason A. Donenfeld2019-05-122-6/+6
| | | | | | High integrity means UIPI blocks this, so let it through. Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
* service: run UI with elevated tokenJason A. Donenfeld2019-05-124-381/+15
| | | | | | | There are too many attacks possible when starting this with a non-elevated token. Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
* service: run UI at high integrityJason A. Donenfeld2019-05-114-0/+35
| | | | Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
* ui: allow editing existing tunnels without changing nameJason A. Donenfeld2019-05-111-18/+19
| | | | Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
* ui: tunnel cloningSteven Honson2019-05-112-8/+31
| | | | | | | | | Allows a tunnel to be cloned verbatim. It's not part of the toolbar or with a shortcut, as it's a rather obscure action. Signed-off-by: Steven Honson <steven@honson.id.au> [zx2c4: removed from toolbar and shortcut] Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
* ui: edit requires further informationSteven Honson2019-05-111-1/+1
| | | | | | | | As edit generally requires further information from the user, it should be suffixed with an ellipsis. Signed-off-by: Steven Honson <steven@honson.id.au> Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
* ui: use ipc client to list existing tunnelsSteven Honson2019-05-111-3/+4
| | | | | | | | | | The manager service and ui application may be running as different users, and therefore use different configurations directories. Using the ipc client ensures that tunnels are listed from the perspective of the service. Signed-off-by: Steven Honson <steven@honson.id.au> Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
* ui: optimise window sizing for a single peerSteven Honson2019-05-111-1/+2
| | | | | | | | | | | | Increasing the default size of the manage window allows all of the detail and status for a basic single peer configuration with a preshared key to be visible without scrolling. Also sets a minimum window size for the manage window. Signed-off-by: Steven Honson <steven@honson.id.au> [zx2c4: reduced from 800x600 to 670x525] Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
* service: use LUID directlyJason A. Donenfeld2019-05-101-15/+5
| | | | | | InterfaceGuidToLuid fails if called soon after device creation. Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
* version: bumpv0.0.3Jason A. Donenfeld2019-05-101-2/+2
| | | | Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
* ui: dont use main window and run our own message loopJason A. Donenfeld2019-05-103-19/+50
| | | | | | This allows us to do custom things like send raise click messages. Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
* service: clean up addresses from stale interfacesJason A. Donenfeld2019-05-101-0/+51
| | | | | | Other VPN implementations leave trash laying around... Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
* ui: somewhat aggressively cache iconsJason A. Donenfeld2019-05-107-65/+107
| | | | Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
* service: fix user logoutJason A. Donenfeld2019-05-101-17/+50
| | | | Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
* ui: show correct name in deletion confirmationJason A. Donenfeld2019-05-091-1/+1
| | | | Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
* conf: don't verify scope as part of ip checkingJason A. Donenfeld2019-05-091-1/+5
| | | | Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
* ui: networks -> addressesSteven Honson2019-05-091-2/+2
| | | | | | | Consistent with how these are referred to in confview. Signed-off-by: Steven Honson <steven@honson.id.au> Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
* version: bumpv0.0.2Jason A. Donenfeld2019-05-091-2/+2
| | | | Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
* service: account for delete pending windows bug in tunneltrackerJason A. Donenfeld2019-05-092-12/+35
| | | | | | | | | | | Sometimes deleting a service disables it and prepares it for being deleted, but doesn't actually mark it as pending deletion. Presumably this is due to a race condition in the service management code. Workaround this by polling for disabled services, so that we don't wind up sleeping forever. Reported-by: Thomas Gschwantner <tharre3@gmail.com> Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
* ui: confview: recycle more peerviewsJason A. Donenfeld2019-05-081-1/+21
| | | | | | | | If there are no similarities between one peer list and the next, then ordering between peers can't possibly matter, so recycle all of the peerviews that we can. Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
* ui: fix ctrl+a on list invalidating listJason A. Donenfeld2019-05-081-3/+4
| | | | Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
* ui: don't allow ctrl+a on empty list to hide fillerJason A. Donenfeld2019-05-081-0/+3
| | | | Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
* ui: do not allow removed items state changes to change tray stateJason A. Donenfeld2019-05-081-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | runtime error: invalid memory address or nil pointer dereference goroutine 1 [running, locked to thread]: runtime/debug.Stack(0xc0000bbbc0, 0x9de240, 0x93bf40) C:/Users/Jason A. Donenfeld/Projects/wireguard-windows/.deps/go/src/runtime/debug/stack.go:24 +0xa4 golang.zx2c4.com/wireguard/windows/ui.RunUI.func1() C:/Users/Jason A. Donenfeld/Projects/wireguard-windows/ui/ui.go:25 +0x75 panic(0x9de240, 0x93bf40) C:/Users/Jason A. Donenfeld/Projects/wireguard-windows/.deps/go/src/runtime/panic.go:522 +0x1c3 github.com/lxn/walk.(*Action).Checked(...) C:/Users/Jason A. Donenfeld/Projects/wireguard-windows/.deps/gopath/pkg/mod/golang.zx2c4.com/wireguard/windows@v0.0.0-20190508085227-303a670b0ee4/action.go:118 golang.zx2c4.com/wireguard/windows/ui.(*Tray).SetTunnelState(0xc000106540, 0xc000041540, 0x2, 0xc000166001) C:/Users/Jason A. Donenfeld/Projects/wireguard-windows/ui/tray.go:272 +0xa1 golang.zx2c4.com/wireguard/windows/ui.(*Tray).onTunnelChange.func1() C:/Users/Jason A. Donenfeld/Projects/wireguard-windows/ui/tray.go:214 +0x99 github.com/lxn/walk.runSynchronized() C:/Users/Jason A. Donenfeld/Projects/wireguard-windows/.deps/gopath/pkg/mod/golang.zx2c4.com/wireguard/windows@v0.0.0-20190508085227-303a670b0ee4/form.go:55 +0x95 github.com/lxn/walk.(*FormBase).Run(0xc000166000, 0x0) C:/Users/Jason A. Donenfeld/Projects/wireguard-windows/.deps/gopath/pkg/mod/golang.zx2c4.com/wireguard/windows@v0.0.0-20190508085227-303a670b0ee4/form.go:413 +0x117 golang.zx2c4.com/wireguard/windows/ui.RunUI() C:/Users/Jason A. Donenfeld/Projects/wireguard-windows/ui/ui.go:79 +0x225 main.main() C:/Users/Jason A. Donenfeld/Projects/wireguard-windows/main.go:207 +0x2cf Reported-by: Jungle Boogie <jungleboogie0@gmail.com> Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
* ui: make window restoring and pop-up more aggressiveSimon Rozman2019-05-084-14/+23
| | | | Signed-off-by: Simon Rozman <simon@rozman.si>
* ui: confview: do not poll when minimizedJason A. Donenfeld2019-05-082-1/+4
| | | | | | Also poll for the log less often. Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
* service: prevent against multiple routines per sessionJason A. Donenfeld2019-05-081-4/+18
| | | | Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
* service: print in log after UI exitsJason A. Donenfeld2019-05-081-3/+10
| | | | Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
* conf: read presharedkey as a hexstring when converting to uapiSteven Honson2019-05-081-1/+1
| | | | | Signed-off-by: Steven Honson <steven@honson.id.au> Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
* ui: get correctly sized system iconsv0.0.1Jason A. Donenfeld2019-05-089-84/+71
| | | | Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
* installer: smarter detection of SYSTEM profile folderSimon Rozman2019-05-081-1/+3
| | | | Signed-off-by: Simon Rozman <simon@rozman.si>
* confview: show in the case that there are no peersJason A. Donenfeld2019-05-081-1/+7
| | | | Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
* service: waste a page due to sheer incompetenceJason A. Donenfeld2019-05-081-1/+1
| | | | Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
* ringlogger: add a basic CLI log dumping commandJason A. Donenfeld2019-05-082-0/+77
| | | | Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
* build: update documentationSimon Rozman2019-05-081-1/+1
| | | | Signed-off-by: Simon Rozman <simon@rozman.si>
* main: when called with no args, check for admin group membershipJason A. Donenfeld2019-05-081-5/+33
| | | | | | This should cut back on user confusion. Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
* service: require elevated tokenJason A. Donenfeld2019-05-081-0/+1
| | | | Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
* service: make the generated bindings do the type forcingJason A. Donenfeld2019-05-082-64/+56
| | | | Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
* service: local system's token is a bit more locked down than elevatedJason A. Donenfeld2019-05-082-6/+7
| | | | Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
* service: give process elevated security attributes plus logon session ID with minimal permissionsJason A. Donenfeld2019-05-085-42/+311
| | | | Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
* installer: silence LGHT1056 warningSimon Rozman2019-05-081-0/+1
| | | | | | | | | | | | | | > warning LGHT1056 : The Property table contains a row with primary key(s) 'MsiHiddenProperties' which cannot be merged from the merge module '.deps\wintun-amd64.msm'. This is likely due to collision of rows with the same primary key(s) (but other different values in other columns) between the database and the merge module. The warning is caused by Wintun MSM and WireGuard MSI both using MsiHiddenProperties property. This property is used by WiX to hide internal data passed to deferred actions from being output to the log. Signed-off-by: Simon Rozman <simon@rozman.si>
* installer: silence ICE61 warningSimon Rozman2019-05-081-1/+3
| | | | | | | | | | | | | | | > ICE61: This product should remove only older versions of itself. The Maximum version is not less than the current product. The warning is caused by <MajorUpgrade AllowSameVersionUpgrades="yes"... For the time being, this is our design choice. We're shipping WireGuard with three-field versions 0.0.x. AllowSameVersionUpgrades="yes" avoids manual configuration of update path in the brain-dead-two-field-version- comparison-only Group Policy, but requires that the MSI packages are added to GPO in correct order. Signed-off-by: Simon Rozman <simon@rozman.si>
* firewall: cleanupJason A. Donenfeld2019-05-086-58/+59
| | | | Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
* firewall: implode recurring address definitionsOdd Stranne2019-05-081-14/+15
| | | | | Signed-off-by: Odd Stranne <odd@mullvad.net> Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
* firewall: remove unused codeOdd Stranne2019-05-088-296/+44
| | | | | Signed-off-by: Odd Stranne <odd@mullvad.net> Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
* firewall: add permitHyperV()Odd Stranne2019-05-083-0/+108
| | | | | Signed-off-by: Odd Stranne <odd@mullvad.net> Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>