]>
git.ipfire.org Git - thirdparty/wireguard-apple.git/log
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
Roopesh Chander [Fri, 26 Oct 2018 13:30:19 +0000 (19:00 +0530)]
Tunnel detail: Account for status section in peer index calculations
Signed-off-by: Roopesh Chander <roop@roopc.net>
Roopesh Chander [Fri, 26 Oct 2018 12:52:06 +0000 (18:22 +0530)]
VPN: DNSResolver: A class that does DNS resolution using getaddrinfo
Signed-off-by: Roopesh Chander <roop@roopc.net>
Roopesh Chander [Fri, 26 Oct 2018 10:26:44 +0000 (15:56 +0530)]
Tunnel detail: UI for activating and deactivating a tunnel
Signed-off-by: Roopesh Chander <roop@roopc.net>
Roopesh Chander [Fri, 26 Oct 2018 09:25:20 +0000 (14:55 +0530)]
VPN: Activating, deactivating and tracking the status
Signed-off-by: Roopesh Chander <roop@roopc.net>
Roopesh Chander [Thu, 25 Oct 2018 12:09:23 +0000 (17:39 +0530)]
Tunnel detail: Fix comment
Signed-off-by: Roopesh Chander <roop@roopc.net>
Roopesh Chander [Thu, 25 Oct 2018 12:03:42 +0000 (17:33 +0530)]
Model: Add a version number to the tunnel
Signed-off-by: Roopesh Chander <roop@roopc.net>
Roopesh Chander [Thu, 25 Oct 2018 10:20:27 +0000 (15:50 +0530)]
VPN: Adding, modifying and deleting actual NETunnelProviderManager instances
Signed-off-by: Roopesh Chander <roop@roopc.net>
Roopesh Chander [Thu, 25 Oct 2018 09:05:23 +0000 (14:35 +0530)]
Import: Support for importing a config file from file providers
Signed-off-by: Roopesh Chander <roop@roopc.net>
Roopesh Chander [Thu, 25 Oct 2018 07:53:09 +0000 (13:23 +0530)]
iPad: Fix modal presentation style
Signed-off-by: Roopesh Chander <roop@roopc.net>
Roopesh Chander [Thu, 25 Oct 2018 06:41:05 +0000 (12:11 +0530)]
iPad: Make sure the navigation bar is visible in the detail view
Signed-off-by: Roopesh Chander <roop@roopc.net>
Roopesh Chander [Thu, 25 Oct 2018 05:44:38 +0000 (11:14 +0530)]
Tunnel editing: Delegate should also report when editing is cancelled
Signed-off-by: Roopesh Chander <roop@roopc.net>
Roopesh Chander [Thu, 25 Oct 2018 05:40:18 +0000 (11:10 +0530)]
Import: Support for opening a .conf file in the app
Signed-off-by: Roopesh Chander <roop@roopc.net>
Roopesh Chander [Thu, 25 Oct 2018 02:30:12 +0000 (08:00 +0530)]
Tunnel editing: Separate init for creation and modification
Signed-off-by: Roopesh Chander <roop@roopc.net>
Roopesh Chander [Thu, 25 Oct 2018 01:33:24 +0000 (07:03 +0530)]
Parser: Interface name can be added after parsing
Signed-off-by: Roopesh Chander <roop@roopc.net>
Roopesh Chander [Thu, 25 Oct 2018 01:28:14 +0000 (06:58 +0530)]
Model: Allow creating an interface with empty name
But don't allow such a tunnel to be added to the tunnel manager.
(We'll need to create an interface with an empty name when we're reading QR codes.)
Signed-off-by: Roopesh Chander <roop@roopc.net>
Roopesh Chander [Thu, 25 Oct 2018 00:41:51 +0000 (06:11 +0530)]
Info.plist: support for opening wg-quick config (.conf) files
Signed-off-by: Roopesh Chander <roop@roopc.net>
Roopesh Chander [Wed, 24 Oct 2018 14:10:33 +0000 (19:40 +0530)]
Info.plist: Export the config file type declaration
Signed-off-by: Roopesh Chander <roop@roopc.net>
Roopesh Chander [Wed, 24 Oct 2018 13:48:05 +0000 (19:18 +0530)]
Config file: Parsing a wg-quick config file
Signed-off-by: Roopesh Chander <roop@roopc.net>
Roopesh Chander [Wed, 24 Oct 2018 13:31:33 +0000 (19:01 +0530)]
Model: MTU should be a 16-bit integer
Signed-off-by: Roopesh Chander <roop@roopc.net>
Roopesh Chander [Wed, 24 Oct 2018 11:51:39 +0000 (17:21 +0530)]
VPN: Tunnel container shall provide direct access to the configuration object
Signed-off-by: Roopesh Chander <roop@roopc.net>
Roopesh Chander [Wed, 24 Oct 2018 11:49:14 +0000 (17:19 +0530)]
Tunnel editing: Modifying a tunnel configuration
Signed-off-by: Roopesh Chander <roop@roopc.net>
Roopesh Chander [Wed, 24 Oct 2018 11:39:34 +0000 (17:09 +0530)]
Tunnel creation: After saving the new tunnel, show the detail view
Signed-off-by: Roopesh Chander <roop@roopc.net>
Roopesh Chander [Wed, 24 Oct 2018 09:55:30 +0000 (15:25 +0530)]
Tunnel detail: Don't show fields that have empty value
Signed-off-by: Roopesh Chander <roop@roopc.net>
Roopesh Chander [Wed, 24 Oct 2018 08:53:18 +0000 (14:23 +0530)]
Tunnel creation: Public key is uneditable
Signed-off-by: Roopesh Chander <roop@roopc.net>
Roopesh Chander [Wed, 24 Oct 2018 08:52:28 +0000 (14:22 +0530)]
Tunnel creation: An uneditable field's value should be grey as well
Signed-off-by: Roopesh Chander <roop@roopc.net>
Roopesh Chander [Wed, 24 Oct 2018 08:48:52 +0000 (14:18 +0530)]
Tunnel creation: Generate key pair
Signed-off-by: Roopesh Chander <roop@roopc.net>
Roopesh Chander [Wed, 24 Oct 2018 08:41:34 +0000 (14:11 +0530)]
Tunnel creation: Compute public key from private key as the text is being edited
Signed-off-by: Roopesh Chander <roop@roopc.net>
Roopesh Chander [Wed, 24 Oct 2018 06:56:21 +0000 (12:26 +0530)]
Tunnel view model: Populate interface's public key
Signed-off-by: Roopesh Chander <roop@roopc.net>
Roopesh Chander [Wed, 24 Oct 2018 06:52:48 +0000 (12:22 +0530)]
Model: Interface: Add a public key computed property
Signed-off-by: Roopesh Chander <roop@roopc.net>
Roopesh Chander [Wed, 24 Oct 2018 06:26:18 +0000 (11:56 +0530)]
Crypto: Swift wrapper for the Curve25519 C code
Signed-off-by: Roopesh Chander <roop@roopc.net>
Jeroen Leenarts [Wed, 26 Sep 2018 09:22:15 +0000 (11:22 +0200)]
Crypto: Curve25519: Add explicit cast to supress conversion warning.
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
Roopesh Chander [Wed, 24 Oct 2018 06:06:20 +0000 (11:36 +0530)]
Crypto: Add Curve25519 C code to project
Signed-off-by: Roopesh Chander <roop@roopc.net>
Jeroen Leenarts [Wed, 22 Aug 2018 06:47:20 +0000 (08:47 +0200)]
Crypto: Add key generation functions
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
Roopesh Chander [Wed, 24 Oct 2018 05:46:47 +0000 (11:16 +0530)]
Tunnel creation: Hide 'Exclude private IPs' switch till the feature is ready
Signed-off-by: Roopesh Chander <roop@roopc.net>
Roopesh Chander [Wed, 24 Oct 2018 01:48:58 +0000 (07:18 +0530)]
Set Xcode template for smaller copyright headers
Signed-off-by: Roopesh Chander <roop@roopc.net>
Roopesh Chander [Wed, 24 Oct 2018 01:37:28 +0000 (07:07 +0530)]
Smaller copyright headers
Signed-off-by: Roopesh Chander <roop@roopc.net>
Roopesh Chander [Tue, 23 Oct 2018 16:48:45 +0000 (22:18 +0530)]
Tunnel detail: Start off with the tunnel detail view
Signed-off-by: Roopesh Chander <roop@roopc.net>
Roopesh Chander [Tue, 23 Oct 2018 16:47:23 +0000 (22:17 +0530)]
Tunnel view model: Add copy public key
Signed-off-by: Roopesh Chander <roop@roopc.net>
Roopesh Chander [Tue, 23 Oct 2018 12:32:10 +0000 (18:02 +0530)]
Tunnel creation: Variable renaming
s/interfaceEditFieldsBySection/interfaceFieldsBySection/g;
s/peerEditFieldsBySection/peerFieldsBySection/g;
Signed-off-by: Roopesh Chander <roop@roopc.net>
Roopesh Chander [Tue, 23 Oct 2018 12:18:07 +0000 (17:48 +0530)]
Tunnel view model: The view model applies for both editing and viewing
Signed-off-by: Roopesh Chander <roop@roopc.net>
Roopesh Chander [Tue, 23 Oct 2018 12:11:37 +0000 (17:41 +0530)]
Tunnels list: Update when a tunnel is added
Signed-off-by: Roopesh Chander <roop@roopc.net>
Roopesh Chander [Tue, 23 Oct 2018 11:53:46 +0000 (17:23 +0530)]
Tunnel creation: Saving a configuration
Signed-off-by: Roopesh Chander <roop@roopc.net>
Roopesh Chander [Tue, 23 Oct 2018 10:58:24 +0000 (16:28 +0530)]
Model: Use DNSServer in the Configuration model
Signed-off-by: Roopesh Chander <roop@roopc.net>
Roopesh Chander [Tue, 23 Oct 2018 10:53:27 +0000 (16:23 +0530)]
Model for DNS server
Signed-off-by: Roopesh Chander <roop@roopc.net>
Roopesh Chander [Tue, 23 Oct 2018 10:44:10 +0000 (16:14 +0530)]
Model: Endpoint host should not have invalid characters
Signed-off-by: Roopesh Chander <roop@roopc.net>
Roopesh Chander [Tue, 23 Oct 2018 10:21:19 +0000 (15:51 +0530)]
Model: listenPort and persistentKeepAlive should be 16-bit integers
Signed-off-by: Roopesh Chander <roop@roopc.net>
Roopesh Chander [Tue, 23 Oct 2018 09:53:18 +0000 (15:23 +0530)]
Tunnel creation: Refactor by creating a separate view model
Signed-off-by: Roopesh Chander <roop@roopc.net>
Roopesh Chander [Mon, 22 Oct 2018 18:08:36 +0000 (23:38 +0530)]
Tunnel creation: Validate the data and prepare to save to a configuration
Signed-off-by: Roopesh Chander <roop@roopc.net>
Roopesh Chander [Mon, 22 Oct 2018 09:54:58 +0000 (15:24 +0530)]
Tunnel creation: Save typed values in a scratchpad
Signed-off-by: Roopesh Chander <roop@roopc.net>
Roopesh Chander [Mon, 22 Oct 2018 08:19:21 +0000 (13:49 +0530)]
Tunnel creation: Fix Persistent Keepalive label's look
Signed-off-by: Roopesh Chander <roop@roopc.net>
Roopesh Chander [Sat, 20 Oct 2018 13:45:53 +0000 (19:15 +0530)]
Tunnel creation: Start off with tunnel creation
Signed-off-by: Roopesh Chander <roop@roopc.net>
Roopesh Chander [Sat, 20 Oct 2018 11:00:14 +0000 (16:30 +0530)]
Model: Make InterfaceConfiguration and PeerConfiguration structs
Signed-off-by: Roopesh Chander <roop@roopc.net>
Roopesh Chander [Sat, 20 Oct 2018 10:35:25 +0000 (16:05 +0530)]
Model: Make it impossible to create invalid interface / peer configuration instances
Signed-off-by: Roopesh Chander <roop@roopc.net>
Roopesh Chander [Fri, 19 Oct 2018 14:04:51 +0000 (19:34 +0530)]
Use Endpoint in the Configuration model
Signed-off-by: Roopesh Chander <roop@roopc.net>
Roopesh Chander [Fri, 19 Oct 2018 14:03:17 +0000 (19:33 +0530)]
Model for an endpoint
Signed-off-by: Roopesh Chander <roop@roopc.net>
Roopesh Chander [Fri, 19 Oct 2018 03:45:37 +0000 (09:15 +0530)]
Model: IPAddressRange: Converting to and from String
Signed-off-by: Roopesh Chander <roop@roopc.net>
Roopesh Chander [Wed, 17 Oct 2018 10:41:22 +0000 (16:11 +0530)]
Model: Name should be part of the interface, not the tunnel
Signed-off-by: Roopesh Chander <roop@roopc.net>
Roopesh Chander [Wed, 17 Oct 2018 10:03:06 +0000 (15:33 +0530)]
Tunnels list: Show an actions list when the '+' is tapped
Signed-off-by: Roopesh Chander <roop@roopc.net>
Roopesh Chander [Wed, 17 Oct 2018 08:17:57 +0000 (13:47 +0530)]
Tunnels list: Show data from the tunnels manager
Signed-off-by: Roopesh Chander <roop@roopc.net>
Roopesh Chander [Wed, 17 Oct 2018 07:50:20 +0000 (13:20 +0530)]
Tunnels list: Make the table view style explicit
Signed-off-by: Roopesh Chander <roop@roopc.net>
Roopesh Chander [Mon, 15 Oct 2018 08:05:24 +0000 (13:35 +0530)]
VPN: Add TunnelsManager to manage the tunnels in the app
Signed-off-by: Roopesh Chander <roop@roopc.net>
Roopesh Chander [Tue, 16 Oct 2018 10:13:29 +0000 (15:43 +0530)]
Bump deployment target to iOS 12.0
Signed-off-by: Roopesh Chander <roop@roopc.net>
Roopesh Chander [Sat, 13 Oct 2018 13:35:52 +0000 (19:05 +0530)]
Use IPAddressRange in the Configuration model
Signed-off-by: Roopesh Chander <roop@roopc.net>
Roopesh Chander [Sat, 13 Oct 2018 13:29:42 +0000 (18:59 +0530)]
Model for an IP Address range
Signed-off-by: Roopesh Chander <roop@roopc.net>
Roopesh Chander [Sat, 13 Oct 2018 12:14:46 +0000 (17:44 +0530)]
Models for tunnel, interface and peer
Signed-off-by: Roopesh Chander <roop@roopc.net>
Roopesh Chander [Sat, 13 Oct 2018 10:32:42 +0000 (16:02 +0530)]
Configure the split-view controller to work in both iPhone and iPad
Signed-off-by: Roopesh Chander <roop@roopc.net>
Roopesh Chander [Sat, 13 Oct 2018 02:00:26 +0000 (07:30 +0530)]
Change copyright to WireGuard LLC
Signed-off-by: Roopesh Chander <roop@roopc.net>
Roopesh Chander [Sat, 13 Oct 2018 01:38:30 +0000 (07:08 +0530)]
Use a split-view controller as the main (root) view controller
Signed-off-by: Roopesh Chander <roop@roopc.net>
Roopesh Chander [Sat, 13 Oct 2018 01:29:59 +0000 (06:59 +0530)]
Move UI code into a separate platform-specific folder
Later, we hope to have a UI/macOS folder for developing a macOS client
from this codebase.
Signed-off-by: Roopesh Chander <roop@roopc.net>
Roopesh Chander [Sat, 13 Oct 2018 00:55:43 +0000 (06:25 +0530)]
Prepare for rewrite: Move WireGuardNetworkExtension into the new project folder
Signed-off-by: Roopesh Chander <roop@roopc.net>