]> git.ipfire.org Git - thirdparty/wireguard-apple.git/log
thirdparty/wireguard-apple.git
7 years agoTunnelsManager: Better errors
Roopesh Chander [Thu, 1 Nov 2018 11:27:40 +0000 (16:57 +0530)] 
TunnelsManager: Better errors

Signed-off-by: Roopesh Chander <roop@roopc.net>
7 years agoConfigFile: WgQuickConfigFileWriter: Fix '[Peer]' section header
Roopesh Chander [Thu, 1 Nov 2018 10:43:30 +0000 (16:13 +0530)] 
ConfigFile: WgQuickConfigFileWriter: Fix '[Peer]' section header

Signed-off-by: Roopesh Chander <roop@roopc.net>
7 years agoImporting: Account for errors in showing the 'No configurations found' error
Roopesh Chander [Thu, 1 Nov 2018 10:29:17 +0000 (15:59 +0530)] 
Importing: Account for errors in showing the 'No configurations found' error

Signed-off-by: Roopesh Chander <roop@roopc.net>
7 years agoTunnel detail: Fix deletion of tunnel
Roopesh Chander [Thu, 1 Nov 2018 10:24:37 +0000 (15:54 +0530)] 
Tunnel detail: Fix deletion of tunnel

Signed-off-by: Roopesh Chander <roop@roopc.net>
7 years agoVPN: TunnelsManager: Fix deletion code
Roopesh Chander [Thu, 1 Nov 2018 10:23:10 +0000 (15:53 +0530)] 
VPN: TunnelsManager: Fix deletion code

Signed-off-by: Roopesh Chander <roop@roopc.net>
7 years agoVPN: Restart tunnel after modifying a currently active configuration
Roopesh Chander [Thu, 1 Nov 2018 10:06:59 +0000 (15:36 +0530)] 
VPN: Restart tunnel after modifying a currently active configuration

Signed-off-by: Roopesh Chander <roop@roopc.net>
7 years agoQR code: Degrade gracefully when running on the simulator or on a device without...
Roopesh Chander [Wed, 31 Oct 2018 20:44:30 +0000 (02:14 +0530)] 
QR code: Degrade gracefully when running on the simulator or on a device without a camera

Signed-off-by: Roopesh Chander <roop@roopc.net>
7 years agoRevert "QR code: QR code scanning is not available in the simulator"
Roopesh Chander [Wed, 31 Oct 2018 20:35:03 +0000 (02:05 +0530)] 
Revert "QR code: QR code scanning is not available in the simulator"

This reverts commit 9729386406cd9543303a68e51d57b286880bb8cd.

Signed-off-by: Roopesh Chander <roop@roopc.net>
7 years agoImporting: Show error when the zip file contains no .conf files
Roopesh Chander [Wed, 31 Oct 2018 20:34:26 +0000 (02:04 +0530)] 
Importing: Show error when the zip file contains no .conf files

Signed-off-by: Roopesh Chander <roop@roopc.net>
7 years agoVPN: We have to start observing the tunnelContainer before we attempt to activate it
Roopesh Chander [Wed, 31 Oct 2018 20:24:19 +0000 (01:54 +0530)] 
VPN: We have to start observing the tunnelContainer before we attempt to activate it

Signed-off-by: Roopesh Chander <roop@roopc.net>
7 years agoImporting: Error out on duplicate name
Roopesh Chander [Wed, 31 Oct 2018 20:12:29 +0000 (01:42 +0530)] 
Importing: Error out on duplicate name

Signed-off-by: Roopesh Chander <roop@roopc.net>
7 years agoQR Code: Error out on duplicate name
Roopesh Chander [Wed, 31 Oct 2018 20:06:28 +0000 (01:36 +0530)] 
QR Code: Error out on duplicate name

Signed-off-by: Roopesh Chander <roop@roopc.net>
7 years agoTunnel edit: Error out on duplicate name when creating / modifying a tunnel
Roopesh Chander [Wed, 31 Oct 2018 19:15:09 +0000 (00:45 +0530)] 
Tunnel edit: Error out on duplicate name when creating / modifying a tunnel

Signed-off-by: Roopesh Chander <roop@roopc.net>
7 years agoVPN: An ErrorPresenter class to consolidate showing of error alerts
Roopesh Chander [Thu, 1 Nov 2018 06:15:09 +0000 (11:45 +0530)] 
VPN: An ErrorPresenter class to consolidate showing of error alerts

Signed-off-by: Roopesh Chander <roop@roopc.net>
7 years agoVPN: Introduce an error enum for adding/modifying/removing tunnels
Roopesh Chander [Thu, 1 Nov 2018 06:12:32 +0000 (11:42 +0530)] 
VPN: Introduce an error enum for adding/modifying/removing tunnels

Signed-off-by: Roopesh Chander <roop@roopc.net>
7 years agoVPN: TunnelsManager: s/TunnelsManagerError/TunnelActivationError/g;
Roopesh Chander [Wed, 31 Oct 2018 18:07:46 +0000 (23:37 +0530)] 
VPN: TunnelsManager: s/TunnelsManagerError/TunnelActivationError/g;

Signed-off-by: Roopesh Chander <roop@roopc.net>
7 years agoVPN: TunnelsManager should keep track of tunnel names to prevent duplicate names
Roopesh Chander [Wed, 31 Oct 2018 11:33:32 +0000 (17:03 +0530)] 
VPN: TunnelsManager should keep track of tunnel names to prevent duplicate names

Signed-off-by: Roopesh Chander <roop@roopc.net>
7 years agoUI: not all subclasses of CopyableLabelTableViewCell have a detailTextLabel, so gener...
Jason A. Donenfeld [Wed, 31 Oct 2018 15:38:05 +0000 (16:38 +0100)] 
UI: not all subclasses of CopyableLabelTableViewCell have a detailTextLabel, so generalize

Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
7 years agoTunnelManager: bound recursion in startActivation
Jason A. Donenfeld [Wed, 31 Oct 2018 14:58:03 +0000 (15:58 +0100)] 
TunnelManager: bound recursion in startActivation

Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
7 years agoVPN: Retry startTunnel based on error conditions
Roopesh Chander [Wed, 31 Oct 2018 11:12:29 +0000 (16:42 +0530)] 
VPN: Retry startTunnel based on error conditions

Signed-off-by: Roopesh Chander <roop@roopc.net>
7 years agoTunnel list: Fix importing zip with multiple configurations
Roopesh Chander [Wed, 31 Oct 2018 09:00:25 +0000 (14:30 +0530)] 
Tunnel list: Fix importing zip with multiple configurations

Signed-off-by: Roopesh Chander <roop@roopc.net>
7 years agoVPN: Support adding multiple configurations in one shot
Roopesh Chander [Wed, 31 Oct 2018 08:59:54 +0000 (14:29 +0530)] 
VPN: Support adding multiple configurations in one shot

Signed-off-by: Roopesh Chander <roop@roopc.net>
7 years agowireguard-go-bridge: extract version for consumption by network extension
Jason A. Donenfeld [Wed, 31 Oct 2018 03:02:36 +0000 (04:02 +0100)] 
wireguard-go-bridge: extract version for consumption by network extension

Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
7 years agowireguard-go-bridge: simplify logging and remove tags
Jason A. Donenfeld [Wed, 31 Oct 2018 02:13:00 +0000 (03:13 +0100)] 
wireguard-go-bridge: simplify logging and remove tags

Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
7 years agoNetworkExtension: close context before turning off go
Jason A. Donenfeld [Wed, 31 Oct 2018 02:03:00 +0000 (03:03 +0100)] 
NetworkExtension: close context before turning off go

The go turnOff code waits for all readers to have completed. In order to
make readers complete, we must send the signal to unblock the request.
Thus, we must reorder these.

Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
7 years agowireguard-go-bridge: handle errors in makefile
Jason A. Donenfeld [Wed, 31 Oct 2018 01:49:59 +0000 (02:49 +0100)] 
wireguard-go-bridge: handle errors in makefile

Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
7 years agoUI: More elegant copy-to-clipboard behavior
Jason A. Donenfeld [Wed, 31 Oct 2018 00:00:27 +0000 (01:00 +0100)] 
UI: More elegant copy-to-clipboard behavior

Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
7 years agowireguard-go: pull in recent change
Jason A. Donenfeld [Tue, 30 Oct 2018 21:51:05 +0000 (22:51 +0100)] 
wireguard-go: pull in recent change

Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
7 years agoQR code: QR code scanning is not available in the simulator
Roopesh Chander [Tue, 30 Oct 2018 13:52:24 +0000 (19:22 +0530)] 
QR code: QR code scanning is not available in the simulator

Signed-off-by: Roopesh Chander <roop@roopc.net>
7 years agoStyle: Remove 'Based on' attributions
Roopesh Chander [Tue, 30 Oct 2018 13:37:07 +0000 (19:07 +0530)] 
Style: Remove 'Based on' attributions

Signed-off-by: Roopesh Chander <roop@roopc.net>
7 years agoQR code: Show label overlay with info on how to generate the QR code
Roopesh Chander [Tue, 30 Oct 2018 13:34:10 +0000 (19:04 +0530)] 
QR code: Show label overlay with info on how to generate the QR code

Signed-off-by: Roopesh Chander <roop@roopc.net>
7 years agoTunnel creation: Placeholders for Listen port, Pre-shared key, Persistent Keepalive
Roopesh Chander [Tue, 30 Oct 2018 13:20:56 +0000 (18:50 +0530)] 
Tunnel creation: Placeholders for Listen port, Pre-shared key, Persistent Keepalive

Signed-off-by: Roopesh Chander <roop@roopc.net>
7 years agoVPN: Refactor use of DNS resolution while activating the tunnel
Roopesh Chander [Tue, 30 Oct 2018 11:04:46 +0000 (16:34 +0530)] 
VPN: Refactor use of DNS resolution while activating the tunnel

Signed-off-by: Roopesh Chander <roop@roopc.net>
7 years agoNE: Print error when unable to start the tunnel
Roopesh Chander [Tue, 30 Oct 2018 11:24:16 +0000 (16:54 +0530)] 
NE: Print error when unable to start the tunnel

Signed-off-by: Roopesh Chander <roop@roopc.net>
7 years agoTunnel view model: IP address can be specified without '/cidr'
Roopesh Chander [Tue, 30 Oct 2018 08:16:10 +0000 (13:46 +0530)] 
Tunnel view model: IP address can be specified without '/cidr'

Signed-off-by: Roopesh Chander <roop@roopc.net>
7 years agoModel: IP address can be specified without '/cidr'
Roopesh Chander [Tue, 30 Oct 2018 08:15:16 +0000 (13:45 +0530)] 
Model: IP address can be specified without '/cidr'

Signed-off-by: Roopesh Chander <roop@roopc.net>
7 years agoFix error message: s/atleast/at least/g;
Roopesh Chander [Tue, 30 Oct 2018 08:02:07 +0000 (13:32 +0530)] 
Fix error message: s/atleast/at least/g;

Signed-off-by: Roopesh Chander <roop@roopc.net>
7 years agoGlobal: fix up captialization in headers
Jason A. Donenfeld [Tue, 30 Oct 2018 02:57:35 +0000 (03:57 +0100)] 
Global: fix up captialization in headers

Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
7 years agoStyle: simplify remaining headers
Jason A. Donenfeld [Tue, 30 Oct 2018 02:55:43 +0000 (03:55 +0100)] 
Style: simplify remaining headers

Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
7 years agoXCode: fall back to default settings
Jason A. Donenfeld [Tue, 30 Oct 2018 02:54:00 +0000 (03:54 +0100)] 
XCode: fall back to default settings

Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
7 years agoZIP: fix linter warnings
Jason A. Donenfeld [Mon, 29 Oct 2018 23:50:01 +0000 (00:50 +0100)] 
ZIP: fix linter warnings

Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
7 years agoVPN: Better error messages
Roopesh Chander [Mon, 29 Oct 2018 18:54:50 +0000 (00:24 +0530)] 
VPN: Better error messages

Signed-off-by: Roopesh Chander <roop@roopc.net>
7 years agoVPN: Specify an error when there are no peers with an endpoint
Roopesh Chander [Mon, 29 Oct 2018 18:08:34 +0000 (23:38 +0530)] 
VPN: Specify an error when there are no peers with an endpoint

Signed-off-by: Roopesh Chander <roop@roopc.net>
7 years agoExport: Exporting config files
Roopesh Chander [Mon, 29 Oct 2018 17:26:25 +0000 (22:56 +0530)] 
Export: Exporting config files

Signed-off-by: Roopesh Chander <roop@roopc.net>
7 years agomv Parsing/ ConfigFile/
Roopesh Chander [Mon, 29 Oct 2018 13:34:27 +0000 (19:04 +0530)] 
mv Parsing/ ConfigFile/

Signed-off-by: Roopesh Chander <roop@roopc.net>
7 years agoSettings: Add a settings panel
Roopesh Chander [Mon, 29 Oct 2018 12:04:02 +0000 (17:34 +0530)] 
Settings: Add a settings panel

Signed-off-by: Roopesh Chander <roop@roopc.net>
7 years agoModel: Cap networkPrefixLengths to valid values
Roopesh Chander [Mon, 29 Oct 2018 11:19:49 +0000 (16:49 +0530)] 
Model: Cap networkPrefixLengths to valid values

Signed-off-by: Roopesh Chander <roop@roopc.net>
7 years agoTunnel edit: Support for exclude private IPs
Roopesh Chander [Mon, 29 Oct 2018 11:08:32 +0000 (16:38 +0530)] 
Tunnel edit: Support for exclude private IPs

Signed-off-by: Roopesh Chander <roop@roopc.net>
7 years agoTunnel view model: Support for exclude private IPs
Roopesh Chander [Mon, 29 Oct 2018 09:38:26 +0000 (15:08 +0530)] 
Tunnel view model: Support for exclude private IPs

Signed-off-by: Roopesh Chander <roop@roopc.net>
7 years agoTunnel edit: Fix keyboard type for reused cells
Roopesh Chander [Mon, 29 Oct 2018 09:42:19 +0000 (15:12 +0530)] 
Tunnel edit: Fix keyboard type for reused cells

Signed-off-by: Roopesh Chander <roop@roopc.net>
7 years agoTunnel detail: Assume there's just one section per peer
Roopesh Chander [Mon, 29 Oct 2018 07:23:09 +0000 (12:53 +0530)] 
Tunnel detail: Assume there's just one section per peer

Signed-off-by: Roopesh Chander <roop@roopc.net>
7 years agoTunnel edit: Assume there's just one section per peer
Roopesh Chander [Mon, 29 Oct 2018 07:16:54 +0000 (12:46 +0530)] 
Tunnel edit: Assume there's just one section per peer

Signed-off-by: Roopesh Chander <roop@roopc.net>
7 years agoTunnel edit: Set correct keyboard types
Roopesh Chander [Mon, 29 Oct 2018 00:47:48 +0000 (06:17 +0530)] 
Tunnel edit: Set correct keyboard types

Signed-off-by: Roopesh Chander <roop@roopc.net>
7 years agoVPN: If we don't have to make a DNS request, we shouldn't enter that status
Roopesh Chander [Mon, 29 Oct 2018 00:30:31 +0000 (06:00 +0530)] 
VPN: If we don't have to make a DNS request, we shouldn't enter that status

Signed-off-by: Roopesh Chander <roop@roopc.net>
7 years agoVPN: Cache DNS resolutions while the app is in memory
Roopesh Chander [Mon, 29 Oct 2018 00:25:48 +0000 (05:55 +0530)] 
VPN: Cache DNS resolutions while the app is in memory

Signed-off-by: Roopesh Chander <roop@roopc.net>
7 years agoVPN: Reload the tunnel before starting it up
Roopesh Chander [Sun, 28 Oct 2018 23:32:57 +0000 (05:02 +0530)] 
VPN: Reload the tunnel before starting it up

To avoid errors like this: https://stackoverflow.com/q/47550706

Signed-off-by: Roopesh Chander <roop@roopc.net>
7 years agoTunnel list, detail: Deletion of tunnels
Roopesh Chander [Sun, 28 Oct 2018 23:25:50 +0000 (04:55 +0530)] 
Tunnel list, detail: Deletion of tunnels

Signed-off-by: Roopesh Chander <roop@roopc.net>
7 years agoVPN: Fix deletion of tunnels
Roopesh Chander [Sun, 28 Oct 2018 23:24:57 +0000 (04:54 +0530)] 
VPN: Fix deletion of tunnels

Signed-off-by: Roopesh Chander <roop@roopc.net>
7 years agoFix: Make sure all prepareForReuse() implementations call super
Roopesh Chander [Sun, 28 Oct 2018 20:56:40 +0000 (02:26 +0530)] 
Fix: Make sure all prepareForReuse() implementations call super

Signed-off-by: Roopesh Chander <roop@roopc.net>
7 years agoTunnel edit: Set correct title when editing
Roopesh Chander [Sun, 28 Oct 2018 20:54:32 +0000 (02:24 +0530)] 
Tunnel edit: Set correct title when editing

Signed-off-by: Roopesh Chander <roop@roopc.net>
7 years agoTunnel detail: Change title after editing completes
Roopesh Chander [Sun, 28 Oct 2018 20:51:19 +0000 (02:21 +0530)] 
Tunnel detail: Change title after editing completes

Signed-off-by: Roopesh Chander <roop@roopc.net>
7 years agoTunnel detail: Copying the public key
Roopesh Chander [Sun, 28 Oct 2018 20:49:11 +0000 (02:19 +0530)] 
Tunnel detail: Copying the public key

Signed-off-by: Roopesh Chander <roop@roopc.net>
7 years agoTunnel editing: Fix cell class names
Roopesh Chander [Sun, 28 Oct 2018 20:45:43 +0000 (02:15 +0530)] 
Tunnel editing: Fix cell class names

Signed-off-by: Roopesh Chander <roop@roopc.net>
7 years agoImport: Use the refactored function for Open-in
Roopesh Chander [Sun, 28 Oct 2018 20:39:50 +0000 (02:09 +0530)] 
Import: Use the refactored function for Open-in

Signed-off-by: Roopesh Chander <roop@roopc.net>
7 years agoImport: Minor refactoring
Roopesh Chander [Sun, 28 Oct 2018 20:38:40 +0000 (02:08 +0530)] 
Import: Minor refactoring

Signed-off-by: Roopesh Chander <roop@roopc.net>
7 years agoImport: Show errors when importing fails
Roopesh Chander [Sun, 28 Oct 2018 20:33:30 +0000 (02:03 +0530)] 
Import: Show errors when importing fails

Signed-off-by: Roopesh Chander <roop@roopc.net>
7 years agoImport config: Directly add config, don't open up the editor
Roopesh Chander [Sun, 28 Oct 2018 20:28:21 +0000 (01:58 +0530)] 
Import config: Directly add config, don't open up the editor

Signed-off-by: Roopesh Chander <roop@roopc.net>
7 years agoZip: Import configs from zip files
Roopesh Chander [Sun, 28 Oct 2018 20:22:43 +0000 (01:52 +0530)] 
Zip: Import configs from zip files

Signed-off-by: Roopesh Chander <roop@roopc.net>
7 years agoZip: Add zip file reader
Roopesh Chander [Sun, 28 Oct 2018 19:34:46 +0000 (01:04 +0530)] 
Zip: Add zip file reader

Signed-off-by: Roopesh Chander <roop@roopc.net>
7 years agoZip: Include minizip in our Xcode project
Roopesh Chander [Sun, 28 Oct 2018 19:33:53 +0000 (01:03 +0530)] 
Zip: Include minizip in our Xcode project

Signed-off-by: Roopesh Chander <roop@roopc.net>
7 years agoZip: Add code from the minizip project
Roopesh Chander [Sun, 28 Oct 2018 18:14:29 +0000 (23:44 +0530)] 
Zip: Add code from the minizip project

Source: https://zlib.net/zlib-1.2.11.tar.gz

Signed-off-by: Roopesh Chander <roop@roopc.net>
7 years agoQR code: Save the scanned tunnel
Roopesh Chander [Sun, 28 Oct 2018 18:02:15 +0000 (23:32 +0530)] 
QR code: Save the scanned tunnel

Signed-off-by: Roopesh Chander <roop@roopc.net>
7 years agoQR code: Ask for title when scanning a QR code
Jeroen Leenarts [Tue, 25 Sep 2018 18:59:15 +0000 (20:59 +0200)] 
QR code: Ask for title when scanning a QR code

Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
7 years agoQR code: Minor refactoring
Roopesh Chander [Sun, 28 Oct 2018 17:27:58 +0000 (22:57 +0530)] 
QR code: Minor refactoring

Signed-off-by: Roopesh Chander <roop@roopc.net>
7 years agoQR code: Support some form of rotation.
Jeroen Leenarts [Wed, 19 Sep 2018 22:28:07 +0000 (00:28 +0200)] 
QR code: Support some form of rotation.

Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
7 years agoQR code: Make sure correct layering is used to make sure hint remains visible.
Jeroen Leenarts [Wed, 19 Sep 2018 22:27:49 +0000 (00:27 +0200)] 
QR code: Make sure correct layering is used to make sure hint remains visible.

Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
7 years agoQR code: Integrate Eric's QR code scanner
Roopesh Chander [Sun, 28 Oct 2018 16:52:27 +0000 (22:22 +0530)] 
QR code: Integrate Eric's QR code scanner

Signed-off-by: Roopesh Chander <roop@roopc.net>
7 years agoInfo.plist: Indicate that the app shall use the camera
Roopesh Chander [Sun, 28 Oct 2018 16:30:39 +0000 (22:00 +0530)] 
Info.plist: Indicate that the app shall use the camera

Signed-off-by: Roopesh Chander <roop@roopc.net>
7 years agoTunnels list: Need to pass in a name to the parser
Roopesh Chander [Sun, 28 Oct 2018 16:29:52 +0000 (21:59 +0530)] 
Tunnels list: Need to pass in a name to the parser

Signed-off-by: Roopesh Chander <roop@roopc.net>
7 years agoRevert "Parser: Interface name can be added after parsing"
Roopesh Chander [Sun, 28 Oct 2018 16:27:18 +0000 (21:57 +0530)] 
Revert "Parser: Interface name can be added after parsing"

This reverts commit d3a9e7914909fc0306921fde5ff9e215c22b6a56.

Signed-off-by: Roopesh Chander <roop@roopc.net>
7 years agoQR code: Ability to add tunnels with a QR code scan
Eric Kuck [Tue, 21 Aug 2018 16:00:41 +0000 (11:00 -0500)] 
QR code: Ability to add tunnels with a QR code scan

Signed-off-by: Eric Kuck <eric@bluelinelabs.com>
7 years agoModel: Ensure name is not empty
Roopesh Chander [Sun, 28 Oct 2018 12:42:18 +0000 (18:12 +0530)] 
Model: Ensure name is not empty

We don't need it because we don't have to open the new-config UI
after scanning a QR code.

This reverts commit db72e95.

Signed-off-by: Roopesh Chander <roop@roopc.net>
7 years agoVPN: A tunnel may be already active on app startup
Roopesh Chander [Sun, 28 Oct 2018 12:39:38 +0000 (18:09 +0530)] 
VPN: A tunnel may be already active on app startup

Signed-off-by: Roopesh Chander <roop@roopc.net>
7 years agoVPN: Remove ability to deactivate the tunnel while resolving DNS
Roopesh Chander [Sun, 28 Oct 2018 12:16:18 +0000 (17:46 +0530)] 
VPN: Remove ability to deactivate the tunnel while resolving DNS

Signed-off-by: Roopesh Chander <roop@roopc.net>
7 years agoVPN: DNSResolver: Resolve multiple endpoints in parallel
Roopesh Chander [Sun, 28 Oct 2018 10:04:07 +0000 (15:34 +0530)] 
VPN: DNSResolver: Resolve multiple endpoints in parallel

Signed-off-by: Roopesh Chander <roop@roopc.net>
7 years agoTunnels list: Add a switch and an activity indicator to the list view
Roopesh Chander [Sun, 28 Oct 2018 09:26:10 +0000 (14:56 +0530)] 
Tunnels list: Add a switch and an activity indicator to the list view

They track the status of the tunnel. The switch can also be used to
bring the tunnel up and down.

Signed-off-by: Roopesh Chander <roop@roopc.net>
7 years agoVPN: Save the tunnel name when modifying a tunnel
Roopesh Chander [Sun, 28 Oct 2018 09:25:24 +0000 (14:55 +0530)] 
VPN: Save the tunnel name when modifying a tunnel

Signed-off-by: Roopesh Chander <roop@roopc.net>
7 years agoTunnel detail: For now, don't allow cancelling when resolving domains is in progress
Roopesh Chander [Sun, 28 Oct 2018 09:24:41 +0000 (14:54 +0530)] 
Tunnel detail: For now, don't allow cancelling when resolving domains is in progress

Signed-off-by: Roopesh Chander <roop@roopc.net>
7 years agoVPN: Cleaner derivation of subnet mask from CIDR network prefix length
Roopesh Chander [Sun, 28 Oct 2018 06:21:18 +0000 (11:51 +0530)] 
VPN: Cleaner derivation of subnet mask from CIDR network prefix length

Signed-off-by: Roopesh Chander <roop@roopc.net>
7 years agoTunnel detail: The tableView should have selection disabled
Roopesh Chander [Sat, 27 Oct 2018 13:43:47 +0000 (19:13 +0530)] 
Tunnel detail: The tableView should have selection disabled

Signed-off-by: Roopesh Chander <roop@roopc.net>
7 years agoVPN: Better error and status handling
Roopesh Chander [Sat, 27 Oct 2018 13:00:07 +0000 (18:30 +0530)] 
VPN: Better error and status handling

Signed-off-by: Roopesh Chander <roop@roopc.net>
7 years agoXcode: Disable bitcode
Roopesh Chander [Sat, 27 Oct 2018 10:22:44 +0000 (15:52 +0530)] 
Xcode: Disable bitcode

Enabling bitcode generates a linker error when linking with libwg-go.a

Signed-off-by: Roopesh Chander <roop@roopc.net>
7 years agoVPN: Bring up the tunnel
Roopesh Chander [Sat, 27 Oct 2018 09:32:32 +0000 (15:02 +0530)] 
VPN: Bring up the tunnel

The app figures out all settings and passes them in the
'options' parameter of startTunnel().

The network extension just takes them as is and just plugs the supplied
values into the right places.

Signed-off-by: Roopesh Chander <roop@roopc.net>
7 years agoXcode: Make Xcode build libwg-go.a automatically
Roopesh Chander [Sat, 27 Oct 2018 10:01:32 +0000 (15:31 +0530)] 
Xcode: Make Xcode build libwg-go.a automatically

This is based on Jeroen Leenarts' work (commit a3cdb84)
and Jason Donenfeld's work (commit 9d01829).

To reproduce:

In Xcode, add a new target called 'WireGuardGoBridge' with
the Cross-platform > External build system template. Configure
that target with the 'make' build tool and ask it to build on the
wireguard-go-bridge directory.

The Makefile in wireguard-go-bridge is already configured to
handle being called from Xcode as an external build system.

In WireGuardNetworkExtension's build phases, add a dependancy to
WireGuardGoBridge, and ask it to link to libwg-go.a (the make command
shall generate this archive). Add libwg-go.a as a library to be linked
with.

Edit the Xcode pbxproj file and in the file reference entry for
libwg-go.a, set path as "libwg-go.a" and sourceTree as
BUILT_PRODUCTS_DIR.

Signed-off-by: Roopesh Chander <roop@roopc.net>
7 years agoVPN: Fix DNS resolution API
Roopesh Chander [Fri, 26 Oct 2018 23:11:05 +0000 (04:41 +0530)] 
VPN: Fix DNS resolution API

Signed-off-by: Roopesh Chander <roop@roopc.net>
7 years agoNE: Add bridging header
Roopesh Chander [Fri, 26 Oct 2018 19:18:02 +0000 (00:48 +0530)] 
NE: Add bridging header

Signed-off-by: Roopesh Chander <roop@roopc.net>
7 years agoNE: Remove entitlements we don't need for now
Roopesh Chander [Fri, 26 Oct 2018 19:03:16 +0000 (00:33 +0530)] 
NE: Remove entitlements we don't need for now

Signed-off-by: Roopesh Chander <roop@roopc.net>
7 years agowireguard-go: Upgrade submodule to version 0.0.20181018
Roopesh Chander [Fri, 26 Oct 2018 16:57:55 +0000 (22:27 +0530)] 
wireguard-go: Upgrade submodule to version 0.0.20181018

Signed-off-by: Roopesh Chander <roop@roopc.net>
7 years agoNE: Include the network extension in the project
Roopesh Chander [Fri, 26 Oct 2018 16:43:27 +0000 (22:13 +0530)] 
NE: Include the network extension in the project

Signed-off-by: Roopesh Chander <roop@roopc.net>
7 years agoVPN: Perform DNS resolution before starting the tunnel
Roopesh Chander [Fri, 26 Oct 2018 13:39:11 +0000 (19:09 +0530)] 
VPN: Perform DNS resolution before starting the tunnel

Signed-off-by: Roopesh Chander <roop@roopc.net>