]>
git.ipfire.org Git - thirdparty/wireguard-apple.git/log
Roopesh Chander [Sun, 9 Dec 2018 12:43:37 +0000 (18:13 +0530)]
Tunnels list: Dynamic Type support for the add button at the center
Signed-off-by: Roopesh Chander <roop@roopc.net>
Roopesh Chander [Sun, 9 Dec 2018 12:16:01 +0000 (17:46 +0530)]
Tunnels list: Dynamic Type support for the table view
Signed-off-by: Roopesh Chander <roop@roopc.net>
Roopesh Chander [Sat, 8 Dec 2018 13:22:11 +0000 (18:52 +0530)]
Model: Declare keyLength constant and use that wherever applicable
Signed-off-by: Roopesh Chander <roop@roopc.net>
Roopesh Chander [Sat, 8 Dec 2018 13:13:24 +0000 (18:43 +0530)]
TunnelsManager: Observe status for all tunnels in one block
Signed-off-by: Roopesh Chander <roop@roopc.net>
Roopesh Chander [Sat, 8 Dec 2018 08:20:41 +0000 (13:50 +0530)]
TunnelsManager: Remove unused variables
Signed-off-by: Roopesh Chander <roop@roopc.net>
Roopesh Chander [Sat, 8 Dec 2018 08:13:00 +0000 (13:43 +0530)]
Zip: Fix comment
Signed-off-by: Roopesh Chander <roop@roopc.net>
Jason A. Donenfeld [Fri, 7 Dec 2018 22:58:53 +0000 (23:58 +0100)]
Version bump
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
Jason A. Donenfeld [Fri, 7 Dec 2018 22:56:26 +0000 (23:56 +0100)]
PacketTunnelProvider: Show log timestamp
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
Jason A. Donenfeld [Fri, 7 Dec 2018 20:47:19 +0000 (21:47 +0100)]
wireguard-go-bridge: account for network changes
Everytime the network changes, we need to recreate the UDP socket,
because the ephemeral listen port is tied to the old physical interface.
As well, we need to re-set the IP addresses for each endpoint, so that
they're passed to getaddrinfo and are then resolved using DNS46.
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
Roopesh Chander [Fri, 7 Dec 2018 19:58:57 +0000 (01:28 +0530)]
Zip: Increase size of buffer used to read data from the archive
Signed-off-by: Roopesh Chander <roop@roopc.net>
Roopesh Chander [Fri, 7 Dec 2018 19:51:46 +0000 (01:21 +0530)]
Settings: Export log: Perform file operations in a background thread
Signed-off-by: Roopesh Chander <roop@roopc.net>
Roopesh Chander [Fri, 7 Dec 2018 19:24:58 +0000 (00:54 +0530)]
On-Demand: TunnelViewModel: Make activate-on-demand methods static
Signed-off-by: Roopesh Chander <roop@roopc.net>
Roopesh Chander [Fri, 7 Dec 2018 20:24:18 +0000 (01:54 +0530)]
On-Demand: Move detail text to TunnelViewModel
Signed-off-by: Roopesh Chander <roop@roopc.net>
Jason A. Donenfeld [Wed, 28 Nov 2018 22:06:43 +0000 (23:06 +0100)]
Plist: Handle crypto export
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
Jason A. Donenfeld [Fri, 7 Dec 2018 17:35:06 +0000 (18:35 +0100)]
Make strings consistent
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
Roopesh Chander [Fri, 7 Dec 2018 13:35:04 +0000 (19:05 +0530)]
State restoration: Restore tunnel detail view
Signed-off-by: Roopesh Chander <roop@roopc.net>
Roopesh Chander [Fri, 7 Dec 2018 10:22:47 +0000 (15:52 +0530)]
Main VC: No need to refresh statuses if the tunnelsManager isn't initialized yet
Signed-off-by: Roopesh Chander <roop@roopc.net>
Roopesh Chander [Fri, 7 Dec 2018 06:19:10 +0000 (11:49 +0530)]
Tunnels list: Deselect rows correctly
Do it like UITableViewController.clearsSelectionOnViewWillAppear would.
Signed-off-by: Roopesh Chander <roop@roopc.net>
Roopesh Chander [Fri, 7 Dec 2018 06:16:22 +0000 (11:46 +0530)]
Settings: Exporting configs as zip should open document picker
Because:
- Exporting UI should be consistent with importing UI
- UIActivityVC takes a long time to open
Signed-off-by: Roopesh Chander <roop@roopc.net>
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>