]>
git.ipfire.org Git - thirdparty/wireguard-apple.git/log
Roopesh Chander [Thu, 6 Dec 2018 13:52:48 +0000 (19:22 +0530)]
Error handling: Use ErrorPresenter.showErrorAlert() instead of per-VC showErrorAlert() methods
Signed-off-by: Roopesh Chander <roop@roopc.net>
Roopesh Chander [Thu, 6 Dec 2018 13:35:46 +0000 (19:05 +0530)]
Error handling: Use WireGuardAppError and WireGuardResult throughout the app
Signed-off-by: Roopesh Chander <roop@roopc.net>
Roopesh Chander [Thu, 6 Dec 2018 11:00:11 +0000 (16:30 +0530)]
Error handling: Introduce a WireGuardResult type to handle errors in callbacks across the app
Signed-off-by: Roopesh Chander <roop@roopc.net>
Roopesh Chander [Thu, 6 Dec 2018 10:43:48 +0000 (16:13 +0530)]
Error handling: Introduce a WireGuardAppError protocol to manage errors
The alert strings shall be located next to where the errors are declared.
Signed-off-by: Roopesh Chander <roop@roopc.net>
Roopesh Chander [Thu, 6 Dec 2018 10:28:27 +0000 (15:58 +0530)]
Error handling: Cleanup Tunnels Manager errors
Signed-off-by: Roopesh Chander <roop@roopc.net>
Roopesh Chander [Wed, 5 Dec 2018 10:08:19 +0000 (15:38 +0530)]
Error presenter: Always handle the passed error
Signed-off-by: Roopesh Chander <roop@roopc.net>
Roopesh Chander [Wed, 5 Dec 2018 10:04:10 +0000 (15:34 +0530)]
Tunnel detail: Cell status switch should be toggled only after the alert presentation completes
Signed-off-by: Roopesh Chander <roop@roopc.net>
Roopesh Chander [Wed, 5 Dec 2018 09:53:55 +0000 (15:23 +0530)]
Refactoring: Consolidate file deletion into a separate function
Signed-off-by: Roopesh Chander <roop@roopc.net>
Roopesh Chander [Tue, 4 Dec 2018 10:57:31 +0000 (16:27 +0530)]
NE: Logging: Log file should begin with version numbers and tunnel name
Signed-off-by: Roopesh Chander <roop@roopc.net>
Roopesh Chander [Tue, 4 Dec 2018 10:28:02 +0000 (15:58 +0530)]
NE: Logging: Make it clear which calls to wg_log use String and which use StaticString
Signed-off-by: Roopesh Chander <roop@roopc.net>
Roopesh Chander [Tue, 4 Dec 2018 08:20:43 +0000 (13:50 +0530)]
Settings: Add timestamp to exported log
And remove the exported log afterwards.
Signed-off-by: Roopesh Chander <roop@roopc.net>
Roopesh Chander [Mon, 3 Dec 2018 13:21:51 +0000 (18:51 +0530)]
Refactor out VPN-handling stuff from tunnels list VC to the main VC
Signed-off-by: Roopesh Chander <roop@roopc.net>
Roopesh Chander [Mon, 3 Dec 2018 10:04:58 +0000 (15:34 +0530)]
VPN: Error out when tunnel activation fails because there's no internet
Signed-off-by: Roopesh Chander <roop@roopc.net>
Roopesh Chander [Thu, 29 Nov 2018 19:25:42 +0000 (00:55 +0530)]
Settings: Export log file
Signed-off-by: Roopesh Chander <roop@roopc.net>
Roopesh Chander [Thu, 29 Nov 2018 10:16:21 +0000 (15:46 +0530)]
NE: Write log to file
Signed-off-by: Roopesh Chander <roop@roopc.net>
Roopesh Chander [Thu, 29 Nov 2018 08:35:18 +0000 (14:05 +0530)]
Info.plist: Add app group id for accessing from both the app and the network extension
Signed-off-by: Roopesh Chander <roop@roopc.net>
Roopesh Chander [Thu, 29 Nov 2018 06:31:45 +0000 (12:01 +0530)]
Xcode: Add app groups capability
Signed-off-by: Roopesh Chander <roop@roopc.net>
Roopesh Chander [Wed, 28 Nov 2018 07:11:35 +0000 (12:41 +0530)]
It's 'WiFi', not 'Wifi'
Signed-off-by: Roopesh Chander <roop@roopc.net>
Roopesh Chander [Fri, 23 Nov 2018 07:34:55 +0000 (13:04 +0530)]
NE: All DNS queries must first go through the VPN's DNS servers
Signed-off-by: Roopesh Chander <roop@roopc.net>
Roopesh Chander [Mon, 19 Nov 2018 09:52:21 +0000 (15:22 +0530)]
Tunnel view model: Invalidate the configuration object when updating allowedIPs using the 'Exclude private IPs' switch
Signed-off-by: Roopesh Chander <roop@roopc.net>
Roopesh Chander [Mon, 19 Nov 2018 07:04:53 +0000 (12:34 +0530)]
Config file parser: Be case-insensitive to attribute keys in the config file
Signed-off-by: Roopesh Chander <roop@roopc.net>
Roopesh Chander [Sat, 17 Nov 2018 17:22:37 +0000 (22:52 +0530)]
Config file parser: Fix typo
Signed-off-by: Roopesh Chander <roop@roopc.net>
Roopesh Chander [Thu, 15 Nov 2018 08:07:59 +0000 (13:37 +0530)]
Exporting: Export to zip in a background thread
Signed-off-by: Roopesh Chander <roop@roopc.net>
Roopesh Chander [Thu, 15 Nov 2018 07:59:49 +0000 (13:29 +0530)]
Exporting: Refactor out zip exporting into a separate class
Signed-off-by: Roopesh Chander <roop@roopc.net>
Roopesh Chander [Wed, 14 Nov 2018 13:47:18 +0000 (19:17 +0530)]
Exporting: No need to check for duplicate names - we disallow it at creation time itself
Signed-off-by: Roopesh Chander <roop@roopc.net>
Roopesh Chander [Wed, 14 Nov 2018 13:33:33 +0000 (19:03 +0530)]
Importing: Import from zip in a background thread
Signed-off-by: Roopesh Chander <roop@roopc.net>
Roopesh Chander [Wed, 14 Nov 2018 13:22:10 +0000 (18:52 +0530)]
Importing: Refactor out zip importing into a separate class
Signed-off-by: Roopesh Chander <roop@roopc.net>
Roopesh Chander [Wed, 14 Nov 2018 07:30:52 +0000 (13:00 +0530)]
Tunnels manager: After saving after activating on-demand, reload tunnel
Signed-off-by: Roopesh Chander <roop@roopc.net>
Roopesh Chander [Mon, 12 Nov 2018 12:46:44 +0000 (18:16 +0530)]
Tunnels manager: Need to keep VPN-on-demand tunnels's status under observation
Because they can turn on automatically, even while the app is in the foreground.
Signed-off-by: Roopesh Chander <roop@roopc.net>
Roopesh Chander [Mon, 12 Nov 2018 11:04:17 +0000 (16:34 +0530)]
Tunnel detail: Show VPN-on-demand information
Signed-off-by: Roopesh Chander <roop@roopc.net>
Roopesh Chander [Mon, 12 Nov 2018 10:34:03 +0000 (16:04 +0530)]
Tunnels manager: Keep track of NETunnelProviderManager's isOnDemandEnabled property
Signed-off-by: Roopesh Chander <roop@roopc.net>
Roopesh Chander [Mon, 12 Nov 2018 10:23:18 +0000 (15:53 +0530)]
Tunnel edit: Update for VPN-on-demand changes
Signed-off-by: Roopesh Chander <roop@roopc.net>
Roopesh Chander [Mon, 12 Nov 2018 10:22:28 +0000 (15:52 +0530)]
Tunnel view model: VPN-on-demand stuff shouldn't be part of the tunnel model
Signed-off-by: Roopesh Chander <roop@roopc.net>
Roopesh Chander [Mon, 12 Nov 2018 08:32:09 +0000 (14:02 +0530)]
Model, Tunnels manager: Rewrite the model for VPN-on-demand
The VPN-on-demand settings should not be part of the tunnel
configuration. Rather, the onDemandRules stored in the
tunnel provider configuration serve as the one place
where the VPN-on-demand settings are stored.
Signed-off-by: Roopesh Chander <roop@roopc.net>
Roopesh Chander [Sat, 10 Nov 2018 20:01:38 +0000 (01:31 +0530)]
TunnelsManager: Support for on-demand rules
Signed-off-by: Roopesh Chander <roop@roopc.net>
Roopesh Chander [Sat, 10 Nov 2018 13:20:09 +0000 (18:50 +0530)]
Tunnel edit, Tunnel view model: UI for providing On-Demand activation options
Signed-off-by: Roopesh Chander <roop@roopc.net>
Roopesh Chander [Sat, 10 Nov 2018 13:38:21 +0000 (19:08 +0530)]
Model: Add activationType to tunnel configuration
We make sure existing tunnel serializations can be deserialized correctly.
We also bump up the tunnelConfigurationVersion, because the tunnel
configuration contents have changed.
Signed-off-by: Roopesh Chander <roop@roopc.net>
Roopesh Chander [Sat, 10 Nov 2018 12:45:43 +0000 (18:15 +0530)]
Model: ActivityType enum to represent VPN-on-demand options
Signed-off-by: Roopesh Chander <roop@roopc.net>
Roopesh Chander [Sat, 10 Nov 2018 13:31:34 +0000 (19:01 +0530)]
Model: TunnelConfiguration: Add explicit conformance to Decodable
Signed-off-by: Roopesh Chander <roop@roopc.net>
Roopesh Chander [Sat, 10 Nov 2018 11:32:30 +0000 (17:02 +0530)]
Model: Ensure that a TunnelConfiguration always has a valid array of peers
Signed-off-by: Roopesh Chander <roop@roopc.net>
Roopesh Chander [Sat, 10 Nov 2018 10:20:56 +0000 (15:50 +0530)]
VPN: When activating while another tunnel is active, deactivate the other tunnel
Signed-off-by: Roopesh Chander <roop@roopc.net>
Roopesh Chander [Sat, 10 Nov 2018 06:55:17 +0000 (12:25 +0530)]
TunnelsManager: startDeactivation() need not take a completion handler
Because the completion handler pattern doesn't fit in this case.
Signed-off-by: Roopesh Chander <roop@roopc.net>
Roopesh Chander [Sat, 10 Nov 2018 06:48:18 +0000 (12:18 +0530)]
VPN: There are no DNS errors to handle in the app now
Signed-off-by: Roopesh Chander <roop@roopc.net>
Roopesh Chander [Fri, 9 Nov 2018 14:19:48 +0000 (19:49 +0530)]
NE: Minor refactoring to enable calling startTunnel() with a tunnelConfiguration
Signed-off-by: Roopesh Chander <roop@roopc.net>
Roopesh Chander [Fri, 9 Nov 2018 13:59:34 +0000 (19:29 +0530)]
VPN: Refresh tunnel statuses when app gets to the foreground
Because the tunnel could've be activated from iOS Settings now
Signed-off-by: Roopesh Chander <roop@roopc.net>
Roopesh Chander [Fri, 9 Nov 2018 13:50:33 +0000 (19:20 +0530)]
Remove unused code
Signed-off-by: Roopesh Chander <roop@roopc.net>
Roopesh Chander [Fri, 9 Nov 2018 13:49:32 +0000 (19:19 +0530)]
TunnelsManager: Ability to refresh connection statuses
Signed-off-by: Roopesh Chander <roop@roopc.net>
Roopesh Chander [Fri, 9 Nov 2018 11:23:52 +0000 (16:53 +0530)]
NE: When there's an error starting the tunnel, show it to the user using displayMessage()
Signed-off-by: Roopesh Chander <roop@roopc.net>
Roopesh Chander [Thu, 8 Nov 2018 13:27:30 +0000 (18:57 +0530)]
Remove unused file PacketTunnelOptionKey.swift
Signed-off-by: Roopesh Chander <roop@roopc.net>
Roopesh Chander [Thu, 8 Nov 2018 12:20:47 +0000 (17:50 +0530)]
Move logic to extension: Bring up the tunnel from the stored providerConfiguration
Signed-off-by: Roopesh Chander <roop@roopc.net>
Roopesh Chander [Thu, 8 Nov 2018 11:10:38 +0000 (16:40 +0530)]
DNSResolver: Simplify
Signed-off-by: Roopesh Chander <roop@roopc.net>
Roopesh Chander [Thu, 8 Nov 2018 11:01:42 +0000 (16:31 +0530)]
DNSResolver: Let's not cache DNS resolution results anymore
Signed-off-by: Roopesh Chander <roop@roopc.net>
Roopesh Chander [Thu, 8 Nov 2018 10:55:05 +0000 (16:25 +0530)]
DNSResolver: DNS resolution can now happen synchronously
Signed-off-by: Roopesh Chander <roop@roopc.net>
Roopesh Chander [Thu, 8 Nov 2018 10:56:17 +0000 (16:26 +0530)]
Model: Endpoint.hostname()
Signed-off-by: Roopesh Chander <roop@roopc.net>
Roopesh Chander [Thu, 8 Nov 2018 10:24:12 +0000 (15:54 +0530)]
Move logic to extension: NETunnelProviderProtocol extension code should be shared
Signed-off-by: Roopesh Chander <roop@roopc.net>
Roopesh Chander [Thu, 8 Nov 2018 10:14:13 +0000 (15:44 +0530)]
Move logic to extension: Refactor PacketTunnelOptionsGenerator into a PacketTunnelSettingsGenerator
Signed-off-by: Roopesh Chander <roop@roopc.net>
Roopesh Chander [Thu, 8 Nov 2018 09:39:45 +0000 (15:09 +0530)]
Move logic to extension: Move DNSResolver to extension
Signed-off-by: Roopesh Chander <roop@roopc.net>
Roopesh Chander [Thu, 8 Nov 2018 09:38:57 +0000 (15:08 +0530)]
Move logic to extension: .resolvingEndpointDomains is not longer a valid status
Signed-off-by: Roopesh Chander <roop@roopc.net>
Roopesh Chander [Thu, 8 Nov 2018 09:34:12 +0000 (15:04 +0530)]
Move logic to extension: DNS resolution no longer happens in the app
Signed-off-by: Roopesh Chander <roop@roopc.net>
Roopesh Chander [Thu, 8 Nov 2018 09:20:05 +0000 (14:50 +0530)]
Move logic to extension: Include shared model code when building the extension
Signed-off-by: Roopesh Chander <roop@roopc.net>
Roopesh Chander [Thu, 8 Nov 2018 09:18:16 +0000 (14:48 +0530)]
Model: Move InterfaceConfiguration.publicKey to Curve25519.swift
The code for public key calculation need not be shared with the extension
Signed-off-by: Roopesh Chander <roop@roopc.net>
Roopesh Chander [Thu, 8 Nov 2018 08:46:30 +0000 (14:16 +0530)]
Move logic to extension: Move PacketTunnelOptionsGenerator to the extension
Signed-off-by: Roopesh Chander <roop@roopc.net>
Roopesh Chander [Thu, 8 Nov 2018 08:45:01 +0000 (14:15 +0530)]
Move logic to extension: Invoke startTunnel() without any options
Signed-off-by: Roopesh Chander <roop@roopc.net>
Roopesh Chander [Thu, 8 Nov 2018 08:26:50 +0000 (13:56 +0530)]
Move logic to extension: Move model files to Shared
Signed-off-by: Roopesh Chander <roop@roopc.net>
Roopesh Chander [Thu, 8 Nov 2018 06:55:14 +0000 (12:25 +0530)]
Tunnel edit: While preparing for reuse, should make onValueBeingEdited nil as well
Signed-off-by: Roopesh Chander <roop@roopc.net>
Jason A. Donenfeld [Wed, 7 Nov 2018 16:43:50 +0000 (17:43 +0100)]
Version bump
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
Roopesh Chander [Wed, 7 Nov 2018 14:13:36 +0000 (19:43 +0530)]
iPad: Ensure we set sourceRect for all cases where we use sourceView
Signed-off-by: Roopesh Chander <roop@roopc.net>
Roopesh Chander [Wed, 7 Nov 2018 13:45:54 +0000 (19:15 +0530)]
Info.plist: Register for handling public.text files for Open-in
Signed-off-by: Roopesh Chander <roop@roopc.net>
Roopesh Chander [Wed, 7 Nov 2018 13:42:36 +0000 (19:12 +0530)]
Importing: Also support importing public.text files in the file picker
Signed-off-by: Roopesh Chander <roop@roopc.net>
Roopesh Chander [Wed, 7 Nov 2018 12:53:12 +0000 (18:23 +0530)]
iPad: Set correct sourceRect for the popover anchored on the central 'Add' button
Signed-off-by: Roopesh Chander <roop@roopc.net>
Roopesh Chander [Wed, 7 Nov 2018 12:43:50 +0000 (18:13 +0530)]
TunnelsManager: Return a manager with no tunnels in the simulator
To be able to run at least parts of the app in the simulator.
Signed-off-by: Roopesh Chander <roop@roopc.net>
Roopesh Chander [Wed, 7 Nov 2018 10:24:30 +0000 (15:54 +0530)]
iPad: Configuring the split-view controller should happen in init(), not loadView()
Signed-off-by: Roopesh Chander <roop@roopc.net>
Jason A. Donenfeld [Wed, 7 Nov 2018 04:45:39 +0000 (05:45 +0100)]
Settings: show build id
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
Jason A. Donenfeld [Wed, 7 Nov 2018 00:26:32 +0000 (01:26 +0100)]
Make license consistent
We changed all the files and the README to MIT a long time ago but
forgot to update COPYING.
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
Jason A. Donenfeld [Tue, 6 Nov 2018 19:18:11 +0000 (20:18 +0100)]
Version bump
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
Jason A. Donenfeld [Tue, 6 Nov 2018 19:16:40 +0000 (20:16 +0100)]
Importing: simplify
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
Roopesh Chander [Tue, 6 Nov 2018 19:05:37 +0000 (00:35 +0530)]
Importing: Assume imported files without .conf or .zip extensions to be a config file
Signed-off-by: Roopesh Chander <roop@roopc.net>
Roopesh Chander [Tue, 6 Nov 2018 18:08:02 +0000 (23:38 +0530)]
DNSResolver: No need to resolve if the endpoint is already an IP address
Signed-off-by: Roopesh Chander <roop@roopc.net>
Roopesh Chander [Tue, 6 Nov 2018 18:06:48 +0000 (23:36 +0530)]
Model: Endpoint.hasHostAsIPAddress()
Signed-off-by: Roopesh Chander <roop@roopc.net>
Jason A. Donenfeld [Tue, 6 Nov 2018 18:04:53 +0000 (19:04 +0100)]
PacketTunnelProvider: modernize header
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
Jason A. Donenfeld [Tue, 6 Nov 2018 18:02:11 +0000 (19:02 +0100)]
Not horribly broken
Instead it's just mostly broken. Maybe someday it will only be partially
broken. Then a bit broken. And then maybe not broken at all? Before, of
course, it's broken again.
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
Roopesh Chander [Tue, 6 Nov 2018 17:12:53 +0000 (22:42 +0530)]
Global: swiftlint autocorrect --format
Signed-off-by: Roopesh Chander <roop@roopc.net>
Roopesh Chander [Tue, 6 Nov 2018 17:11:54 +0000 (22:41 +0530)]
Global: swiftlint autocorrect
Signed-off-by: Roopesh Chander <roop@roopc.net>
Roopesh Chander [Tue, 6 Nov 2018 17:02:10 +0000 (22:32 +0530)]
Importing: Error out on file with unsupported file extension
Signed-off-by: Roopesh Chander <roop@roopc.net>
Jason A. Donenfeld [Tue, 6 Nov 2018 14:46:44 +0000 (15:46 +0100)]
wireguard-go-bridge: take fd instead of fnptr
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
Jason A. Donenfeld [Tue, 6 Nov 2018 14:51:15 +0000 (15:51 +0100)]
Xcode: enable more warnings
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
Roopesh Chander [Tue, 6 Nov 2018 13:31:13 +0000 (19:01 +0530)]
Tunnel edit: TunnelEditTableViewKeyValueCell need not support a read-only mode now
Signed-off-by: Roopesh Chander <roop@roopc.net>
Roopesh Chander [Tue, 6 Nov 2018 11:35:03 +0000 (17:05 +0530)]
Tunnel edit: A new cell class for the public key field, to make the value scrollable
Signed-off-by: Roopesh Chander <roop@roopc.net>
Roopesh Chander [Tue, 6 Nov 2018 11:18:53 +0000 (16:48 +0530)]
Tunnel detail: Refactor out the label scrolling into a separate UI class
Signed-off-by: Roopesh Chander <roop@roopc.net>
Roopesh Chander [Tue, 6 Nov 2018 02:47:19 +0000 (08:17 +0530)]
Tunnel view model: Peers in a configuation may not share the same public key
Signed-off-by: Roopesh Chander <roop@roopc.net>
Roopesh Chander [Tue, 6 Nov 2018 02:47:03 +0000 (08:17 +0530)]
Parser: Peers in a configuation may not share the same public key
Signed-off-by: Roopesh Chander <roop@roopc.net>
Jason A. Donenfeld [Mon, 5 Nov 2018 20:06:47 +0000 (21:06 +0100)]
Version bump
We update the build number, not the version number, so that test flight
doesn't need a new review.
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
Roopesh Chander [Mon, 5 Nov 2018 18:22:16 +0000 (23:52 +0530)]
Parser: Address, DNS and AllowedIPs can have mutliple entries
Signed-off-by: Roopesh Chander <roop@roopc.net>
Roopesh Chander [Mon, 5 Nov 2018 18:08:41 +0000 (23:38 +0530)]
QR Code: Dismiss the QR code screen when the name prompt is cancelled
Signed-off-by: Roopesh Chander <roop@roopc.net>
Roopesh Chander [Mon, 5 Nov 2018 17:25:09 +0000 (22:55 +0530)]
Tunnel view model: No need to save if we already have a validated configuration object
Signed-off-by: Roopesh Chander <roop@roopc.net>
Jason A. Donenfeld [Mon, 5 Nov 2018 05:31:25 +0000 (06:31 +0100)]
global: convert to Swift 4.2
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
Jason A. Donenfeld [Mon, 5 Nov 2018 05:23:26 +0000 (06:23 +0100)]
TunnelsManager: account for no or many endpoints
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
Jason A. Donenfeld [Mon, 5 Nov 2018 03:30:32 +0000 (04:30 +0100)]
wireguard-go-bridge: work around DWARF generation issue
Golang bug 25148 upstream.
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
Jason A. Donenfeld [Mon, 5 Nov 2018 02:10:52 +0000 (03:10 +0100)]
PacketTunnelProvider: clamp v6 addresses to /120
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
Jason A. Donenfeld [Mon, 5 Nov 2018 01:09:40 +0000 (02:09 +0100)]
Settings: account for bottom padding on iPhone X
Reported-by: Jeffrey A. Donenfeld <jad@runblue.com>
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>