]>
git.ipfire.org Git - thirdparty/wireguard-apple.git/log
Alessio Nossa [Tue, 27 Feb 2024 23:26:10 +0000 (00:26 +0100)]
Remove backward compatibility of GetPeers with SiriKit version
Signed-off-by: Alessio Nossa <alessio.nossa@gmail.com>
Alessio Nossa [Tue, 27 Feb 2024 23:24:09 +0000 (00:24 +0100)]
Add backwards compatibility of GetPeers wit SiriKit version
Signed-off-by: Alessio Nossa <alessio.nossa@gmail.com>
Alessio Nossa [Tue, 27 Feb 2024 23:20:56 +0000 (00:20 +0100)]
Update AppIntents Strings
Signed-off-by: Alessio Nossa <alessio.nossa@gmail.com>
Alessio Nossa [Tue, 27 Feb 2024 23:19:52 +0000 (00:19 +0100)]
Rename constant to satisfy SwiftLint
Signed-off-by: Alessio Nossa <alessio.nossa@gmail.com>
Alessio Nossa [Tue, 27 Feb 2024 23:16:19 +0000 (00:16 +0100)]
Remove missing peers error in UpdateTunnelConfiguration Intent
Signed-off-by: Alessio Nossa <alessio.nossa@gmail.com>
Alessio Nossa [Tue, 27 Feb 2024 23:12:14 +0000 (00:12 +0100)]
Fix return value of AppIntents in iOS 17
Signed-off-by: Alessio Nossa <alessio.nossa@gmail.com>
Alessio Nossa [Tue, 11 Apr 2023 22:05:14 +0000 (00:05 +0200)]
WireguardApp: macOS: Add App Intents to macOS app
Signed-off-by: Alessio Nossa <alessio.nossa@gmail.com>
Alessio Nossa [Tue, 11 Apr 2023 21:42:09 +0000 (23:42 +0200)]
Implement UpdateTunnelConfiguration App Intent
Signed-off-by: Alessio Nossa <alessio.nossa@gmail.com>
Alessio Nossa [Tue, 11 Apr 2023 21:41:31 +0000 (23:41 +0200)]
Implement BuildPeerConfigurationUpdate App Intent
Signed-off-by: Alessio Nossa <alessio.nossa@gmail.com>
Alessio Nossa [Tue, 11 Apr 2023 21:33:21 +0000 (23:33 +0200)]
Remove UpdateConfiguration Intent with Dictionary input
Signed-off-by: Alessio Nossa <alessio.nossa@gmail.com>
Alessio Nossa [Tue, 11 Apr 2023 16:26:32 +0000 (18:26 +0200)]
Implement UpdateConfiguration AppIntent with Dictionary as input
Signed-off-by: Alessio Nossa <alessio.nossa@gmail.com>
Alessio Nossa [Tue, 11 Apr 2023 16:46:35 +0000 (18:46 +0200)]
WireguardApp: Add async variant of modify tunnel function
Signed-off-by: Alessio Nossa <alessio.nossa@gmail.com>
Alessio Nossa [Tue, 11 Apr 2023 22:20:02 +0000 (00:20 +0200)]
WireguardApp: iOS: Cleanup after SiriKit Intents removal
Signed-off-by: Alessio Nossa <alessio.nossa@gmail.com>
Alessio Nossa [Wed, 5 Apr 2023 13:48:46 +0000 (15:48 +0200)]
Remove WireGuardIntentsExtension
Signed-off-by: Alessio Nossa <alessio.nossa@gmail.com>
Alessio Nossa [Wed, 5 Apr 2023 13:40:51 +0000 (15:40 +0200)]
Removed UpdateConfigurationIntent SiriKit Intent
Signed-off-by: Alessio Nossa <alessio.nossa@gmail.com>
Alessio Nossa [Tue, 11 Apr 2023 15:29:52 +0000 (17:29 +0200)]
Implement GetPeers AppIntent
Signed-off-by: Alessio Nossa <alessio.nossa@gmail.com>
Alessio Nossa [Wed, 5 Apr 2023 11:30:40 +0000 (13:30 +0200)]
Remove GetPeers SiriKit Intent
Signed-off-by: Alessio Nossa <alessio.nossa@gmail.com>
Alessio Nossa [Sat, 1 Apr 2023 14:12:32 +0000 (16:12 +0200)]
Complete cleanup after SetTunnelStatus Intent removal
Signed-off-by: Alessio Nossa <alessio.nossa@gmail.com>
Alessio Nossa [Sat, 1 Apr 2023 14:00:24 +0000 (16:00 +0200)]
Removed SetTunnelStatus
Signed-off-by: Alessio Nossa <alessio.nossa@gmail.com>
Alessio Nossa [Tue, 1 Feb 2022 16:51:18 +0000 (17:51 +0100)]
WireguardApp: iOS: Added Siri shortcuts donations for SetTunnelStatus intent
Signed-off-by: Alessio Nossa <alessio.nossa@gmail.com>
Alessio Nossa [Tue, 1 Feb 2022 12:28:33 +0000 (13:28 +0100)]
Implemented SetTunnelStatus intent
Signed-off-by: Alessio Nossa <alessio.nossa@gmail.com>
Alessio Nossa [Tue, 1 Feb 2022 09:16:38 +0000 (10:16 +0100)]
Implemented UpdateConfiguration intent
Signed-off-by: Alessio Nossa <alessio.nossa@gmail.com>
Alessio Nossa [Sat, 29 Jan 2022 16:17:05 +0000 (17:17 +0100)]
WireguardApp: iOS: Moved tunnelsManager initialization to AppDelegate
Signed-off-by: Alessio Nossa <alessio.nossa@gmail.com>
Alessio Nossa [Sat, 29 Jan 2022 18:11:32 +0000 (19:11 +0100)]
Implemented GetPeers intent
Signed-off-by: Alessio Nossa <alessio.nossa@gmail.com>
Alessio Nossa [Sat, 29 Jan 2022 16:06:18 +0000 (17:06 +0100)]
project: Added sources to WireGuardIntentsExtensioniOS
Signed-off-by: Alessio Nossa <alessio.nossa@gmail.com>
Alessio Nossa [Fri, 28 Jan 2022 20:37:06 +0000 (21:37 +0100)]
project: Added WireGuardIntentsExtensioniOS target and Siri capability
Signed-off-by: Alessio Nossa <alessio.nossa@gmail.com>
Alessio Nossa [Fri, 28 Jan 2022 16:20:29 +0000 (17:20 +0100)]
Automatic configuration files changes by Xcode
Signed-off-by: Alessio Nossa <alessio.nossa@gmail.com>
Roopesh Chander [Mon, 27 Sep 2021 10:37:20 +0000 (16:07 +0530)]
UI: When saving on-demand rules, deactivate if reqd and then save
Signed-off-by: Roopesh Chander <roop@roopc.net>
Roopesh Chander [Thu, 23 Sep 2021 19:11:46 +0000 (00:41 +0530)]
UI: When saving on-demand rules on a config, enable on-demand if active
When a user saves on-demand rules on the configuration, set
onDemandEnabled to true if the tunnel is active, and false if it isn't.
Then deactivate the tunnel.
Signed-off-by: Roopesh Chander <roop@roopc.net>
Jason A. Donenfeld [Thu, 23 Sep 2021 04:20:28 +0000 (06:20 +0200)]
App: version bump
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
Jason A. Donenfeld [Thu, 23 Sep 2021 04:19:48 +0000 (06:19 +0200)]
UI: macOS: increase login detector file timeout
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
Jason A. Donenfeld [Thu, 23 Sep 2021 04:00:14 +0000 (06:00 +0200)]
Model: migrate iOS 14 keychain references to iOS 15 format
Keychain references used to be bijective, but with the change in format,
Apple tried to be too clever, and references are no longer bijective.
This lead to us deleting keychain entries, which in turn emptied out
people's configs upon upgrading to iOS 15. Disaster!
Fix this by detecting the change in format and saving the new password
reference. We still rely on this being bijective moving forward;
hopefully this bug won't repeat itself. It would be nice to not rely on
that property, but doing so without grinding startup to a halt isn't
obviously done, given how slow the keychain accesses are and how limited
the API is.
Reported-by: Eddie <stunnel@attglobal.net>
Reported-by: Anatoli <me@anatoli.ws>
Reported-by: Alan Graham <alan@meshify.app>
Reported-by: Jacob Wilder <oss@jacobwilder.org>
Reported-by: Miguel Arroz <miguel.arroz@gmail.com>
Reported-by: Reid Rankin <reidrankin@gmail.com>
Reported-by: Fabien <patate.cosmique@pm.me>
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
Jason A. Donenfeld [Thu, 23 Sep 2021 04:08:20 +0000 (06:08 +0200)]
UI: iOS: remove list pinking when no config
This reverts commit
86afd1a46a83038a787176272a7c486b7269e1a3 .
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
Jason A. Donenfeld [Thu, 23 Sep 2021 03:39:47 +0000 (05:39 +0200)]
WireGuardApp: restore old keychain consistency behavior
This reverts commit
adcbd17ebeedaf6fa8106c8835ebf43667170878 .
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
Jason A. Donenfeld [Wed, 22 Sep 2021 18:59:19 +0000 (20:59 +0200)]
App: version bump
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
Jason A. Donenfeld [Wed, 22 Sep 2021 18:56:25 +0000 (20:56 +0200)]
UI: iOS: disable list rows when no config
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
Jason A. Donenfeld [Wed, 22 Sep 2021 17:22:44 +0000 (19:22 +0200)]
WireGuardApp: use file to communicate launch-by-login-helper
Apple event params are broken on recent macOS versions.
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
Jason A. Donenfeld [Wed, 22 Sep 2021 14:51:25 +0000 (16:51 +0200)]
Keychain: remove class constraint when copying
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
Jason A. Donenfeld [Wed, 22 Sep 2021 05:11:32 +0000 (07:11 +0200)]
WireGuardApp: do not delete unverifying profiles ever
The Keychain code is much too fragile, and it's better to err on the
safe side. Instead just log an error when this happens.
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
Jason A. Donenfeld [Wed, 22 Sep 2021 03:20:46 +0000 (05:20 +0200)]
WireGuardKitGo: bump wireguard-go version
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
Roopesh Chander [Thu, 22 Jul 2021 07:08:45 +0000 (12:38 +0530)]
MacAppStoreUpdateDetector: Detect StoreAEService correctly
In macOS 10.15 and macOS 11, the quit Apple event is sent by:
com.apple.AppStoreDaemon.StoreAEService
In some earlier macOS release, the quit Apple event was sent by:
com.apple.CommerceKit.StoreAEService
Signed-off-by: Roopesh Chander <roop@roopc.net>
Roopesh Chander [Thu, 22 Jul 2021 07:06:26 +0000 (12:36 +0530)]
MacAppStoreUpdateDetector: Add pid to the log
Signed-off-by: Roopesh Chander <roop@roopc.net>
Jason A. Donenfeld [Wed, 22 Sep 2021 03:06:10 +0000 (05:06 +0200)]
WireGuardKitGo: include new homebrew location in PATH
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
Roopesh Chander [Mon, 2 Aug 2021 08:19:47 +0000 (13:49 +0530)]
build: Fix swiftlint warnings
Signed-off-by: Roopesh Chander <roop@roopc.net>
Roopesh Chander [Mon, 2 Aug 2021 08:16:06 +0000 (13:46 +0530)]
build: Fix swift warnings
Use 'AnyObject' instead of 'class' to restrict protocol inheritance
Signed-off-by: Roopesh Chander <roop@roopc.net>
Roopesh Chander [Mon, 2 Aug 2021 08:11:52 +0000 (13:41 +0530)]
build: Include 'swiftlint' location in the PATH before invoking it
In macOS 11, HomeBrew installs swiftlint under /opt/homebrew, which is not
in the default path that Xcode seems to use. So we include the PATH
to contain:
- /usr/local/bin:
Where HomeBrew installs 'swiftlint' in macOS 10.15 and earlier
- /opt/homebrew/bin:
Where HomeBrew installs 'swiftlint' in macOS 11
Signed-off-by: Roopesh Chander <roop@roopc.net>
Jason A. Donenfeld [Wed, 22 Sep 2021 03:00:56 +0000 (05:00 +0200)]
UI: Use 'On-Demand', with hyphen, consistently
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
Jason A. Donenfeld [Wed, 22 Sep 2021 00:40:49 +0000 (02:40 +0200)]
UI: macOS: do on-demand ritual for clicking list item too
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
Roopesh Chander [Tue, 3 Aug 2021 11:05:18 +0000 (16:35 +0530)]
UI: Consider on-demand to be enabled iff the tunnel provider is enabled
Signed-off-by: Roopesh Chander <roop@roopc.net>
Roopesh Chander [Tue, 3 Aug 2021 11:03:59 +0000 (16:33 +0530)]
UI: When setting on-demand, avoid a second saveToPreferences() call
Signed-off-by: Roopesh Chander <roop@roopc.net>
Roopesh Chander [Mon, 2 Aug 2021 17:39:06 +0000 (23:09 +0530)]
UI: When saving on-demand rules, don't set isOnDemandEnabled
When adding or modifying a config, when on-demand options are set by a
user, the rules are saved, but isOnDemandEnabled is left unset (and can
be set by the appropriate control in the detail view (switch in iOS /
button in macOS)).
Signed-off-by: Roopesh Chander <roop@roopc.net>
Roopesh Chander [Fri, 30 Jul 2021 07:56:56 +0000 (13:26 +0530)]
UI: macOS: Incorporate on-demand-ness in status menu
Signed-off-by: Roopesh Chander <roop@roopc.net>
Roopesh Chander [Fri, 30 Jul 2021 05:34:38 +0000 (11:04 +0530)]
UI: macOS: Tunnel detail: Incorporate on-demand-ness in toggle button
Signed-off-by: Roopesh Chander <roop@roopc.net>
Roopesh Chander [Thu, 29 Jul 2021 10:27:04 +0000 (15:57 +0530)]
UI: macOS: Tunnel detail: Incorporate on-demand-ness in the status row
Signed-off-by: Roopesh Chander <roop@roopc.net>
Roopesh Chander [Thu, 29 Jul 2021 05:42:30 +0000 (11:12 +0530)]
UI: macOS: Tunnel list: Incorporate on-demand-ness in the status circle
Signed-off-by: Roopesh Chander <roop@roopc.net>
Roopesh Chander [Wed, 28 Jul 2021 08:01:43 +0000 (13:31 +0530)]
UI: macOS: Add yellow circle image
Signed-off-by: Roopesh Chander <roop@roopc.net>
Roopesh Chander [Wed, 28 Jul 2021 10:24:42 +0000 (15:54 +0530)]
UI: Localizations: Remove alertTunnelActivationFailureOnDemandAddendum
It's not used anymore.
Signed-off-by: Roopesh Chander <roop@roopc.net>
Roopesh Chander [Wed, 28 Jul 2021 06:21:23 +0000 (11:51 +0530)]
UI: Remove addendum on on-demand from error on tunnel activation
Signed-off-by: Roopesh Chander <roop@roopc.net>
Roopesh Chander [Wed, 28 Jul 2021 05:59:34 +0000 (11:29 +0530)]
UI: When setting on-demand, enable the tunnel if required
Signed-off-by: Roopesh Chander <roop@roopc.net>
Roopesh Chander [Sat, 24 Jul 2021 18:03:26 +0000 (23:33 +0530)]
UI: iOS: Tunnels list: Move the "On Demand" label to the right
Having that at the bottom makes it harder for iOS to get
the row height correctly.
Signed-off-by: Roopesh Chander <roop@roopc.net>
Roopesh Chander [Tue, 27 Jul 2021 21:00:24 +0000 (02:30 +0530)]
UI: iOS: Show on-demand state in 'Status' if there are on-demand rules
Signed-off-by: Roopesh Chander <roop@roopc.net>
Roopesh Chander [Tue, 27 Jul 2021 08:05:30 +0000 (13:35 +0530)]
UI: When reloading tunnels, preserve '.waiting' state
Signed-off-by: Roopesh Chander <roop@roopc.net>
Roopesh Chander [Tue, 27 Jul 2021 06:09:07 +0000 (11:39 +0530)]
UI: When deactivating for activating another tunnel, disable on-demand
Signed-off-by: Roopesh Chander <roop@roopc.net>
Roopesh Chander [Tue, 27 Jul 2021 20:40:45 +0000 (02:10 +0530)]
UI: Keep on-demand rules even if on-demand is disabled
Signed-off-by: Roopesh Chander <roop@roopc.net>
Roopesh Chander [Mon, 26 Jul 2021 11:26:03 +0000 (16:56 +0530)]
UI: iOS: Tunnel detail: Incorporate on-demand-ness in 'Status'
Signed-off-by: Roopesh Chander <roop@roopc.net>
Andrej Mihajlov [Sat, 27 Mar 2021 21:02:09 +0000 (22:02 +0100)]
UI: iOS: Show "on-demand is active" for tunnels with the active on-demand
Signed-off-by: Andrej Mihajlov <and@mullvad.net>
Signed-off-by: Roopesh Chander <roop@roopc.net>
Roopesh Chander [Sat, 24 Jul 2021 20:04:03 +0000 (01:34 +0530)]
UI: iOS: Tunnels list: Incorporate on-demand-ness in the switch
Signed-off-by: Roopesh Chander <roop@roopc.net>
Roopesh Chander [Sat, 24 Jul 2021 19:29:36 +0000 (00:59 +0530)]
UI: TunnelsManager: Add setOnDemandEnabled() instance method
Signed-off-by: Roopesh Chander <roop@roopc.net>
Roopesh Chander [Sat, 24 Jul 2021 18:23:31 +0000 (23:53 +0530)]
UI: TunnelsManager: Add TunnelContainer.hasOnDemandRules
Signed-off-by: Roopesh Chander <roop@roopc.net>
Jason A. Donenfeld [Thu, 17 Jun 2021 14:56:46 +0000 (16:56 +0200)]
Global: bump copyright year
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
Andrej Mihajlov [Thu, 17 Jun 2021 11:23:22 +0000 (13:23 +0200)]
Kit: add missing import for WireGuardKitC
Signed-off-by: Andrej Mihajlov <and@mullvad.net>
Jason A. Donenfeld [Wed, 16 Jun 2021 16:11:22 +0000 (18:11 +0200)]
App: version bump
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
Jason A. Donenfeld [Wed, 16 Jun 2021 16:03:28 +0000 (18:03 +0200)]
Kit: Go: mod bump
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
Jason A. Donenfeld [Wed, 16 Jun 2021 15:09:40 +0000 (17:09 +0200)]
Kit: Adapter: use more reliable utun detection technique
Rather than hoping that the AF_SYSTEM fd is of type utun, and then
calling "2" on it to get the name -- which could be defined as something
else for a different AF_SYSTEM socket type -- instead simply query the
AF_SYSTEM control socket ID with getpeername. This has one catch, which
is that the ID is dynamically allocated, so we resolve it using the
qualified name. Normally we'd make a new AF_SYSTEM socket for this, but
since that's not allowed in the sandbox, we reuse the AF_SYSTEM socket
that we're checking. At this point in the flow, we know that it's a
proper AF_SYSTEM one, based on the first sockaddr member; we just don't
know that it's a utun variety.
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
Jason A. Donenfeld [Wed, 16 Jun 2021 13:56:21 +0000 (15:56 +0200)]
Kit: Adapter: iterate through all FDs to find UTUN
This is a bit of a kludge, until I find something better. We simply
iterate through all FDs, and call getsockopt on each one until we find
the utun FD. This works, and completes rather quickly (fd is usually 6
or 7). Rather than maintain the old path for older kernels, just use
this for all versions, to get more coverage. Other techniques involve
undocumented APIs; this one has the advantage of using nothing
undocumented.
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
Andrej Mihajlov [Tue, 15 Jun 2021 13:18:21 +0000 (15:18 +0200)]
SPM: update exclude rules
Fixes missing excluded file warning in Xcode. api-ios.go was renamed to api-apple.go.
Signed-off-by: Andrej Mihajlov <and@mullvad.net>
Jason A. Donenfeld [Mon, 8 Mar 2021 23:57:35 +0000 (00:57 +0100)]
UI: iOS: asynchronously load from NEHotspotNetwork on iOS 14
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
Jason A. Donenfeld [Mon, 8 Mar 2021 23:02:03 +0000 (00:02 +0100)]
UI: iOS: clean up visuals in SSID editor
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
Jason A. Donenfeld [Mon, 8 Mar 2021 20:20:12 +0000 (21:20 +0100)]
README: account for funky xcode paths
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
Jason A. Donenfeld [Mon, 8 Mar 2021 19:29:12 +0000 (20:29 +0100)]
Kit: Go: bump to latest API
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
Andrej Mihajlov [Wed, 6 Jan 2021 10:57:40 +0000 (11:57 +0100)]
UI: iOS: Disable "copy" action on on-demand cells
Signed-off-by: Andrej Mihajlov <and@mullvad.net>
Jason A. Donenfeld [Fri, 1 Jan 2021 17:26:49 +0000 (18:26 +0100)]
Kit: netcfg: add explicit IP mask routes
macOS will use the wrong source address unless we add explicit routes
that mention the self-pointing gateway. Actually, it won't add any
implicit routes on its own, so in order to route the masks of the
addresses, we have to add our own routes explicitly.
However, this still doesn't fix the problem while inside of the network
extension, even though it works outside it.
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
Jason A. Donenfeld [Wed, 23 Dec 2020 16:47:07 +0000 (17:47 +0100)]
Kit: Go: mod bump
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
Andrej Mihajlov [Wed, 23 Dec 2020 15:03:41 +0000 (16:03 +0100)]
UI: iOS: Remove duplicate call to addSubview
Signed-off-by: Andrej Mihajlov <and@mullvad.net>
Andrej Mihajlov [Wed, 23 Dec 2020 15:03:01 +0000 (16:03 +0100)]
UI: iOS: Fix placeholder label alignment in text fields.
Signed-off-by: Andrej Mihajlov <and@mullvad.net>
Jason A. Donenfeld [Wed, 23 Dec 2020 14:05:56 +0000 (15:05 +0100)]
App: version bump
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
Jason A. Donenfeld [Wed, 23 Dec 2020 13:55:29 +0000 (14:55 +0100)]
project: sync translations and improve id generation again
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
Andrej Mihajlov [Tue, 22 Dec 2020 15:40:28 +0000 (16:40 +0100)]
UI: macOS: Group more than 10 tunnels into submenu
Signed-off-by: Andrej Mihajlov <and@mullvad.net>
Andrej Mihajlov [Wed, 23 Dec 2020 13:16:27 +0000 (14:16 +0100)]
UI: Avoid force unwrap when checking for errors
Signed-off-by: Andrej Mihajlov <and@mullvad.net>
Jason A. Donenfeld [Wed, 23 Dec 2020 13:06:26 +0000 (14:06 +0100)]
Kit: do not crash on [abcd::] with missing port
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
Jason A. Donenfeld [Wed, 23 Dec 2020 12:40:24 +0000 (13:40 +0100)]
Kit: Go: bump module and simplify API
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
Andrej Mihajlov [Mon, 21 Dec 2020 12:46:55 +0000 (13:46 +0100)]
UI: pause VPN configurations observer while adding or removing multiple tunnels
Signed-off-by: Andrej Mihajlov <and@mullvad.net>
Andrej Mihajlov [Tue, 22 Dec 2020 10:09:18 +0000 (11:09 +0100)]
UI: use NotificationToken to properly clean up observers
When the variable goes out of scope, the observer isn't removed unless
an explicit call is made to the token.
Signed-off-by: Andrej Mihajlov <and@mullvad.net>
Andrej Mihajlov [Mon, 21 Dec 2020 16:57:18 +0000 (17:57 +0100)]
Keychain: prevent call to stat() when determining appex path
Signed-off-by: Andrej Mihajlov <and@mullvad.net>
Jason A. Donenfeld [Fri, 18 Dec 2020 10:50:13 +0000 (11:50 +0100)]
Kit: Go: use Windows-style retry sleep loop on bind updates
Something odd happens in the network extension that we still don't
understand. Attempt to poke it in this terrible way.
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
Jason A. Donenfeld [Fri, 18 Dec 2020 11:42:28 +0000 (12:42 +0100)]
UI: Model: remove 0.0.0.0/8 from non-private IPs
macOS freaks out if you try to explicitly route to 0.0.0.0/8 in its
includedRoutes parameter. Even though 0.0.0.0/8 isn't RFC1918, it is
marked in RFC6890 as "this host on this network", so removing it from
the Internet routes makes sense semantically too.
This commit changes 0.0.0.0/5 into:
- 1.0.0.0/8
- 2.0.0.0/8
- 3.0.0.0/8
- 4.0.0.0/6
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
Jason A. Donenfeld [Tue, 15 Dec 2020 23:03:34 +0000 (00:03 +0100)]
UI: iOS: remove donation link
Apple forbids us from having a simple link to wireguard.com/donations/
in the version info window, citing the existence of this link as a form
of payment outside of their in-app purchase framework that requires 30%.
The link had been there for around two years. After rejecting an app
update for a critical networking regression unrelated to this, they
wrote:
Dec 17, 2020 at 8:35 PM
From Apple
3.1.1 - Business - Payments - In-App Purchase
We noticed that your app allows users to contribute donations to the
development of your app with a mechanism other than the in-app
purchase API, which is not appropriate for the App Store.
Next Steps
To resolve this issue, please revise your app to use the in-app
purchase API to pay for this type of transaction. Please note that
even though tipping another individual is optional, the tip is
connected to or associated with the receipt of digital content or
services in your app and must be purchased through in-app purchase
in accordance with guideline 3.1.1 of the App Store Review
Guidelines.
Please see attached screenshot for details.
Trying to appeal this or reason with Apple is not going to be a fruitful
endeavor, so instead we simply cut our losses and remove the donation
link entirely. The goal, anyway, is to get a timely critical update into
the hands of users, and encouraging Apple to block that further would be
a disservice.
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
Andrej Mihajlov [Tue, 15 Dec 2020 17:26:55 +0000 (18:26 +0100)]
UI: macOS: Fix UTF-8 and UTF-16 conversions in highlighter code
NSString uses UTF-16 internally, while String uses UTF-8 in Swift 5.
Signed-off-by: Andrej Mihajlov <and@mullvad.net>
Jason A. Donenfeld [Thu, 17 Dec 2020 11:41:23 +0000 (12:41 +0100)]
project: generate more stable locale IDs
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
Andrej Mihajlov [Thu, 17 Dec 2020 10:56:17 +0000 (11:56 +0100)]
build: disable hardened runtime on iOS but keep it enabled on macOS
Signed-off-by: Andrej Mihajlov <and@mullvad.net>