]> git.ipfire.org Git - thirdparty/wireguard-apple.git/log
thirdparty/wireguard-apple.git
6 years agoError handling: Use ErrorPresenter.showErrorAlert() instead of per-VC showErrorAlert...
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>
6 years agoError handling: Use WireGuardAppError and WireGuardResult throughout the app
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>
6 years agoError handling: Introduce a WireGuardResult type to handle errors in callbacks across...
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>
6 years agoError handling: Introduce a WireGuardAppError protocol to manage errors
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>
6 years agoError handling: Cleanup Tunnels Manager errors
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>
6 years agoError presenter: Always handle the passed error
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>
6 years agoTunnel detail: Cell status switch should be toggled only after the alert presentation...
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>
6 years agoRefactoring: Consolidate file deletion into a separate function
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>
6 years agoNE: Logging: Log file should begin with version numbers and tunnel name
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>
6 years agoNE: Logging: Make it clear which calls to wg_log use String and which use StaticString
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>
6 years agoSettings: Add timestamp to exported log
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>
6 years agoRefactor out VPN-handling stuff from tunnels list VC to the main VC
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>
6 years agoVPN: Error out when tunnel activation fails because there's no internet
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>
6 years agoSettings: Export log file
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>
6 years agoNE: Write log to file
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>
6 years agoInfo.plist: Add app group id for accessing from both the app and the network extension
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>
6 years agoXcode: Add app groups capability
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>
6 years agoIt's 'WiFi', not 'Wifi'
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>
6 years agoNE: All DNS queries must first go through the VPN's DNS servers
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>
6 years agoTunnel view model: Invalidate the configuration object when updating allowedIPs using...
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>
6 years agoConfig file parser: Be case-insensitive to attribute keys in the config file
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>
6 years agoConfig file parser: Fix typo
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>
6 years agoExporting: Export to zip in a background thread
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>
6 years agoExporting: Refactor out zip exporting into a separate class
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>
6 years agoExporting: No need to check for duplicate names - we disallow it at creation time...
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>
6 years agoImporting: Import from zip in a background thread
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>
6 years agoImporting: Refactor out zip importing into a separate class
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>
6 years agoTunnels manager: After saving after activating on-demand, reload tunnel
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>
6 years agoTunnels manager: Need to keep VPN-on-demand tunnels's status under observation
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>
6 years agoTunnel detail: Show VPN-on-demand information
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>
6 years agoTunnels manager: Keep track of NETunnelProviderManager's isOnDemandEnabled property
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>
6 years agoTunnel edit: Update for VPN-on-demand changes
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>
6 years agoTunnel view model: VPN-on-demand stuff shouldn't be part of the tunnel model
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>
6 years agoModel, Tunnels manager: Rewrite the model for VPN-on-demand
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>
6 years agoTunnelsManager: Support for on-demand rules
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>
6 years agoTunnel edit, Tunnel view model: UI for providing On-Demand activation options
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>
6 years agoModel: Add activationType to tunnel configuration
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>
6 years agoModel: ActivityType enum to represent VPN-on-demand options
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>
6 years agoModel: TunnelConfiguration: Add explicit conformance to Decodable
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>
6 years agoModel: Ensure that a TunnelConfiguration always has a valid array of peers
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>
6 years agoVPN: When activating while another tunnel is active, deactivate the other tunnel
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>
6 years agoTunnelsManager: startDeactivation() need not take a completion handler
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>
6 years agoVPN: There are no DNS errors to handle in the app now
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>
6 years agoNE: Minor refactoring to enable calling startTunnel() with a tunnelConfiguration
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>
6 years agoVPN: Refresh tunnel statuses when app gets to the foreground
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>
6 years agoRemove unused code
Roopesh Chander [Fri, 9 Nov 2018 13:50:33 +0000 (19:20 +0530)] 
Remove unused code

Signed-off-by: Roopesh Chander <roop@roopc.net>
6 years agoTunnelsManager: Ability to refresh connection statuses
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>
6 years agoNE: When there's an error starting the tunnel, show it to the user using displayMessage()
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>
6 years agoRemove unused file PacketTunnelOptionKey.swift
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>
6 years agoMove logic to extension: Bring up the tunnel from the stored providerConfiguration
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>
6 years agoDNSResolver: Simplify
Roopesh Chander [Thu, 8 Nov 2018 11:10:38 +0000 (16:40 +0530)] 
DNSResolver: Simplify

Signed-off-by: Roopesh Chander <roop@roopc.net>
6 years agoDNSResolver: Let's not cache DNS resolution results anymore
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>
6 years agoDNSResolver: DNS resolution can now happen synchronously
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>
6 years agoModel: Endpoint.hostname()
Roopesh Chander [Thu, 8 Nov 2018 10:56:17 +0000 (16:26 +0530)] 
Model: Endpoint.hostname()

Signed-off-by: Roopesh Chander <roop@roopc.net>
6 years agoMove logic to extension: NETunnelProviderProtocol extension code should be shared
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>
6 years agoMove logic to extension: Refactor PacketTunnelOptionsGenerator into a PacketTunnelSet...
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>
6 years agoMove logic to extension: Move DNSResolver to extension
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>
6 years agoMove logic to extension: .resolvingEndpointDomains is not longer a valid status
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>
6 years agoMove logic to extension: DNS resolution no longer happens in the app
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>
6 years agoMove logic to extension: Include shared model code when building the extension
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>
6 years agoModel: Move InterfaceConfiguration.publicKey to Curve25519.swift
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>
6 years agoMove logic to extension: Move PacketTunnelOptionsGenerator to the extension
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>
6 years agoMove logic to extension: Invoke startTunnel() without any options
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>
6 years agoMove logic to extension: Move model files to Shared
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>
6 years agoTunnel edit: While preparing for reuse, should make onValueBeingEdited nil as well
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>
6 years agoVersion bump 0.0.20181104-4
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>
6 years agoiPad: Ensure we set sourceRect for all cases where we use sourceView
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>
6 years agoInfo.plist: Register for handling public.text files for Open-in
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>
6 years agoImporting: Also support importing public.text files in the file picker
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>
6 years agoiPad: Set correct sourceRect for the popover anchored on the central 'Add' button
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>
6 years agoTunnelsManager: Return a manager with no tunnels in the simulator
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>
6 years agoiPad: Configuring the split-view controller should happen in init(), not loadView()
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>
6 years agoSettings: show build id
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>
6 years agoMake license consistent
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>
6 years agoVersion bump 0.0.20181104-3
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>
6 years agoImporting: simplify
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>
6 years agoImporting: Assume imported files without .conf or .zip extensions to be a config...
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>
6 years agoDNSResolver: No need to resolve if the endpoint is already an IP address
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>
6 years agoModel: Endpoint.hasHostAsIPAddress()
Roopesh Chander [Tue, 6 Nov 2018 18:06:48 +0000 (23:36 +0530)] 
Model: Endpoint.hasHostAsIPAddress()

Signed-off-by: Roopesh Chander <roop@roopc.net>
6 years agoPacketTunnelProvider: modernize header
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>
6 years agoNot horribly broken
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>
6 years agoGlobal: swiftlint autocorrect --format
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>
6 years agoGlobal: swiftlint autocorrect
Roopesh Chander [Tue, 6 Nov 2018 17:11:54 +0000 (22:41 +0530)] 
Global: swiftlint autocorrect

Signed-off-by: Roopesh Chander <roop@roopc.net>
6 years agoImporting: Error out on file with unsupported file extension
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>
6 years agowireguard-go-bridge: take fd instead of fnptr
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>
6 years agoXcode: enable more warnings
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>
6 years agoTunnel edit: TunnelEditTableViewKeyValueCell need not support a read-only mode now
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>
6 years agoTunnel edit: A new cell class for the public key field, to make the value scrollable
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>
6 years agoTunnel detail: Refactor out the label scrolling into a separate UI class
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>
6 years agoTunnel view model: Peers in a configuation may not share the same public key
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>
6 years agoParser: Peers in a configuation may not share the same public key
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>
6 years agoVersion bump 0.0.20181104-2
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>
6 years agoParser: Address, DNS and AllowedIPs can have mutliple entries
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>
6 years agoQR Code: Dismiss the QR code screen when the name prompt is cancelled
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>
6 years agoTunnel view model: No need to save if we already have a validated configuration object
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>
6 years agoglobal: convert to Swift 4.2
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>
6 years agoTunnelsManager: account for no or many endpoints
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>
6 years agowireguard-go-bridge: work around DWARF generation issue
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>
6 years agoPacketTunnelProvider: clamp v6 addresses to /120
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>
6 years agoSettings: account for bottom padding on iPhone X
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>