Jason A. Donenfeld
20bdf46792
Kit: PacketTunnelSettingsGenerator: do not require DNS queries if no DNS
...
Prior, we would set matchDomains=[""] even if the user didn't provide
any DNS servers. This was kind of incoherent, but I guess we had in mind
some kind of non-sensical leakproof scheme that never really worked
anyway. NetworkExtension didn't like this, so setTunnelNetworkSettings
would, rather than return an error, simply timeout and never call its
callback function. But everything worked fine, so we had code in the UI
to check to make sure everything was okay after 5 seconds or so of no
callback. Recent changes made the timeout fatal on the network extension
side, so rather than succeed, configs with no DNS server started
erroring out, causing user reports.
This commit attempts to handle the root cause of the timeout issue by
not twiddling with DNS settings if no DNS server was specified. For now,
however, it leaves the hard-timeout semantics in place.
Reported-by: Filipe Mendonça <cfilipem@gmail.com>
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2020-12-17 00:10:28 +01:00
Jason A. Donenfeld
4ded3f6bfe
UI: macOS: remove donation link
...
Apple forbids us from having a simple donation link in the "About
WireGuard" dialog, due to new policies. And arguing with the giant is
not going to be a fruitful battle. Do the practical thing and just
remove it.
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2020-12-16 00:04:32 +01:00
Jason A. Donenfeld
b51113f680
Version bump
...
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2020-12-15 16:18:07 +01:00
Andrej Mihajlov
be96dea04a
WireGuardApp: Refactor TunnelListCell
...
Signed-off-by: Andrej Mihajlov <and@mullvad.net>
2020-12-15 15:56:22 +01:00
Andrej Mihajlov
a786f5df60
WireGuardApp: Replace AnyObject with a concrete NSKeyValueObservation
...
Signed-off-by: Andrej Mihajlov <and@mullvad.net>
2020-12-15 15:56:22 +01:00
Andrej Mihajlov
9a483a46fa
WireGuardApp: Animate switch control in TunnelListCell
...
Signed-off-by: Andrej Mihajlov <and@mullvad.net>
2020-12-15 15:56:22 +01:00
Andrej Mihajlov
5d2a337332
WireGuardApp: Remove 200ms delay when updating tunnel status switch
...
Signed-off-by: Andrej Mihajlov <and@mullvad.net>
2020-12-15 15:56:22 +01:00
Andrej Mihajlov
facf776602
WireGuardApp: Pin status switch to cell margin
...
Signed-off-by: Andrej Mihajlov <and@mullvad.net>
2020-12-15 15:56:22 +01:00
Andrej Mihajlov
d3400e3a80
WireGuardApp: Refactor indicator view initialization
...
Signed-off-by: Andrej Mihajlov <and@mullvad.net>
2020-12-15 15:56:22 +01:00
Andrej Mihajlov
92517bd21e
WireGuardApp: Use Bundle.forInfoDictionaryKey to access Info.plist fields
...
Signed-off-by: Andrej Mihajlov <and@mullvad.net>
2020-12-15 15:56:22 +01:00
Andrej Mihajlov
761f635e16
WireGuardApp: Refactor indicator initialization
...
Signed-off-by: Andrej Mihajlov <and@mullvad.net>
2020-12-15 15:56:22 +01:00
Andrej Mihajlov
44704ba892
WireGuardApp: Fix window background color to default black
...
Signed-off-by: Andrej Mihajlov <and@mullvad.net>
2020-12-15 15:56:22 +01:00
Jason A. Donenfeld
9231c03513
global: support DNS search domains
...
This has been supported by Windows and Linux for quite some time. Add
support here for iOS and macOS.
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2020-12-15 15:54:12 +01:00
Jason A. Donenfeld
27b32e60b2
WireGuardKitGo: update to latest wireguard-go tag
...
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2020-12-15 13:16:52 +01:00
Jason A. Donenfeld
9d5b376dcf
Revert "[REVERT ME SOON] TunnelsManager: Workaround for macOS Catalina deleting tunnels arbitrarily"
...
This reverts commit 028e76eb3f
.
It's been over a year. I really hope this is fixed by Apple.
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2020-12-11 12:51:16 +01:00
Andrej Mihajlov
d414cec9aa
WireGuardKit: Let wireguard-go backend run in offline on macOS
...
Signed-off-by: Andrej Mihajlov <and@mullvad.net>
2020-12-11 11:56:05 +01:00
Jason A. Donenfeld
54e3333b72
WireGuardApp: add CrowdIn syncer and run it
...
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2020-12-11 11:34:19 +01:00
Andrej Mihajlov
9f8d0e24df
WireGuardKit: Conditionally turn on/off wireguard-go
...
Signed-off-by: Andrej Mihajlov <and@mullvad.net>
2020-12-11 11:15:22 +01:00
Jason A. Donenfeld
3de7c99301
WireGuardGoKit: drop support for armv7
...
Apple and Go have both dropped it, so we do the same.
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2020-12-09 15:56:35 +01:00
Jason A. Donenfeld
d4fd17cd8f
global: fix remaining swiftlint violations
...
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2020-12-09 14:35:21 +01:00
Jason A. Donenfeld
d875266db5
WireGuardKitGo: get rid of missing -Wno-unused-command-line-argument flag
...
Recent toolchains error out on it, and it's no longer needed.
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2020-12-09 14:25:22 +01:00
Jason A. Donenfeld
d696e31b6e
WireGuardKitGo: rebase boottime patch onto Go 1.15.6
...
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2020-12-09 14:08:45 +01:00
Jason A. Donenfeld
90acf2b220
global: bump year in header
...
A bit overdue, but better late than never.
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2020-12-04 12:15:29 +01:00
Andrej Mihajlov
8f67435d4a
WireGuardKit: Delegate IPv*Address initialization to self.init
...
Signed-off-by: Andrej Mihajlov <and@mullvad.net>
2020-12-04 11:50:44 +01:00
Andrej Mihajlov
b4ebe2440f
WireGuardApp: Remove backend version call in Logger.swift & extract wireguard-go version script from network extension targets
...
Signed-off-by: Andrej Mihajlov <and@mullvad.net>
2020-12-04 11:50:44 +01:00
Andrej Mihajlov
d440a91b0e
WireGuardKit: Log XLAT resolution errors
...
Signed-off-by: Andrej Mihajlov <and@mullvad.net>
2020-12-04 11:50:43 +01:00
Andrej Mihajlov
bcc34e0bb6
Keychain: Avoid roundtrip via items when accessing item label (stored in kSecAttrLabel)
...
Signed-off-by: Andrej Mihajlov <and@mullvad.net>
2020-12-04 09:39:09 +01:00
Andrej Mihajlov
90b41aed89
Keychain: Remove unnecessary cast to String in Keychain queries
...
Signed-off-by: Andrej Mihajlov <and@mullvad.net>
2020-12-04 09:39:09 +01:00
Andrej Mihajlov
54a89f6a0e
WireGuadKit: Rename WireGuardAdapter.version -> .backendVersion & remove var wireGuardVersion
with WireGuardKit.swift
...
Signed-off-by: Andrej Mihajlov <and@mullvad.net>
2020-12-04 09:39:09 +01:00
Andrej Mihajlov
8976a53b05
WireGuardApp: Add back the wireguard-go version extraction script and use WIREGUARD_GO_VERSION directly
...
Avoids linking against libwg-go.a in order to access the WireGuard backend version.
Signed-off-by: Andrej Mihajlov <and@mullvad.net>
2020-12-04 09:39:05 +01:00
Andrej Mihajlov
9849dedf1d
WireGuardApp: Include headers from WireGuardKitC
...
Signed-off-by: Andrej Mihajlov <and@mullvad.net>
2020-12-04 09:38:31 +01:00
Andrej Mihajlov
547077a808
WireGuardApp: integrate WireGuardKit sources directly
...
Signed-off-by: Andrej Mihajlov <and@mullvad.net>
2020-12-03 13:32:25 +01:00
Andrej Mihajlov
9f9d1ffed8
WireGuardKit: Rename WireGuardKitSwift -> WireGuardKit
...
Signed-off-by: Andrej Mihajlov <and@mullvad.net>
2020-12-03 13:32:25 +01:00
Andrej Mihajlov
5a044e4129
Linter: Fix all linter issues across the codebase
...
Signed-off-by: Andrej Mihajlov <and@mullvad.net>
2020-12-03 13:32:25 +01:00
Andrej Mihajlov
39e7ee07ac
WireGuardNetworkExtension: Remove wireguard.h from bridging header
...
Signed-off-by: Andrej Mihajlov <and@mullvad.net>
2020-12-03 13:32:25 +01:00
Andrej Mihajlov
fd527f73e6
WireGuardKit: Set publicHeadersPath = "." to flatten public headers structure
...
Signed-off-by: Andrej Mihajlov <and@mullvad.net>
2020-12-03 13:32:24 +01:00
Andrej Mihajlov
de6aa3eb58
WireGuardKit: Fix module map for WireGuardKitC
...
Signed-off-by: Andrej Mihajlov <and@mullvad.net>
2020-12-03 13:32:24 +01:00
Andrej Mihajlov
c9eafd82ac
WireGuardKit: Fix import statements
...
Signed-off-by: Andrej Mihajlov <and@mullvad.net>
2020-12-03 13:32:24 +01:00
Andrej Mihajlov
ec57408570
Move all source files to Sources/
and rename WireGuardKit targets
...
Signed-off-by: Andrej Mihajlov <and@mullvad.net>
2020-12-03 13:32:24 +01:00