aboutsummaryrefslogtreecommitdiffstats
path: root/WireGuard (follow)
Commit message (Collapse)AuthorAgeFilesLines
* QR code: Minor refactoringRoopesh Chander2018-10-281-5/+5
| | | | Signed-off-by: Roopesh Chander <roop@roopc.net>
* QR code: Support some form of rotation.Jeroen Leenarts2018-10-281-0/+32
| | | | Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
* QR code: Make sure correct layering is used to make sure hint remains visible.Jeroen Leenarts2018-10-281-1/+1
| | | | Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
* QR code: Integrate Eric's QR code scannerRoopesh Chander2018-10-283-14/+36
| | | | Signed-off-by: Roopesh Chander <roop@roopc.net>
* Info.plist: Indicate that the app shall use the cameraRoopesh Chander2018-10-281-0/+2
| | | | Signed-off-by: Roopesh Chander <roop@roopc.net>
* Tunnels list: Need to pass in a name to the parserRoopesh Chander2018-10-281-1/+1
| | | | Signed-off-by: Roopesh Chander <roop@roopc.net>
* Revert "Parser: Interface name can be added after parsing"Roopesh Chander2018-10-281-2/+4
| | | | | | This reverts commit d3a9e7914909fc0306921fde5ff9e215c22b6a56. Signed-off-by: Roopesh Chander <roop@roopc.net>
* QR code: Ability to add tunnels with a QR code scanEric Kuck2018-10-281-0/+107
| | | | Signed-off-by: Eric Kuck <eric@bluelinelabs.com>
* Model: Ensure name is not emptyRoopesh Chander2018-10-281-0/+1
| | | | | | | | | 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>
* VPN: A tunnel may be already active on app startupRoopesh Chander2018-10-281-9/+21
| | | | Signed-off-by: Roopesh Chander <roop@roopc.net>
* VPN: Remove ability to deactivate the tunnel while resolving DNSRoopesh Chander2018-10-281-13/+7
| | | | Signed-off-by: Roopesh Chander <roop@roopc.net>
* VPN: DNSResolver: Resolve multiple endpoints in parallelRoopesh Chander2018-10-281-21/+32
| | | | Signed-off-by: Roopesh Chander <roop@roopc.net>
* Tunnels list: Add a switch and an activity indicator to the list viewRoopesh Chander2018-10-281-4/+89
| | | | | | | 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>
* VPN: Save the tunnel name when modifying a tunnelRoopesh Chander2018-10-281-0/+3
| | | | Signed-off-by: Roopesh Chander <roop@roopc.net>
* Tunnel detail: For now, don't allow cancelling when resolving domains is in progressRoopesh Chander2018-10-281-1/+1
| | | | Signed-off-by: Roopesh Chander <roop@roopc.net>
* VPN: Cleaner derivation of subnet mask from CIDR network prefix lengthRoopesh Chander2018-10-281-14/+8
| | | | Signed-off-by: Roopesh Chander <roop@roopc.net>
* Tunnel detail: The tableView should have selection disabledRoopesh Chander2018-10-271-0/+1
| | | | Signed-off-by: Roopesh Chander <roop@roopc.net>
* VPN: Better error and status handlingRoopesh Chander2018-10-272-98/+58
| | | | Signed-off-by: Roopesh Chander <roop@roopc.net>
* Xcode: Disable bitcodeRoopesh Chander2018-10-271-0/+2
| | | | | | Enabling bitcode generates a linker error when linking with libwg-go.a Signed-off-by: Roopesh Chander <roop@roopc.net>
* VPN: Bring up the tunnelRoopesh Chander2018-10-275-70/+305
| | | | | | | | | | 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>
* Xcode: Make Xcode build libwg-go.a automaticallyRoopesh Chander2018-10-271-0/+77
| | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* VPN: Fix DNS resolution APIRoopesh Chander2018-10-272-9/+25
| | | | Signed-off-by: Roopesh Chander <roop@roopc.net>
* NE: Add bridging headerRoopesh Chander2018-10-272-2/+9
| | | | Signed-off-by: Roopesh Chander <roop@roopc.net>
* NE: Remove entitlements we don't need for nowRoopesh Chander2018-10-271-8/+0
| | | | Signed-off-by: Roopesh Chander <roop@roopc.net>
* NE: Include the network extension in the projectRoopesh Chander2018-10-271-1/+150
| | | | Signed-off-by: Roopesh Chander <roop@roopc.net>
* VPN: Perform DNS resolution before starting the tunnelRoopesh Chander2018-10-271-10/+29
| | | | Signed-off-by: Roopesh Chander <roop@roopc.net>
* Tunnel detail: Account for status section in peer index calculationsRoopesh Chander2018-10-271-2/+2
| | | | Signed-off-by: Roopesh Chander <roop@roopc.net>
* VPN: DNSResolver: A class that does DNS resolution using getaddrinfoRoopesh Chander2018-10-272-0/+97
| | | | Signed-off-by: Roopesh Chander <roop@roopc.net>
* Tunnel detail: UI for activating and deactivating a tunnelRoopesh Chander2018-10-271-15/+144
| | | | Signed-off-by: Roopesh Chander <roop@roopc.net>
* VPN: Activating, deactivating and tracking the statusRoopesh Chander2018-10-271-14/+159
| | | | Signed-off-by: Roopesh Chander <roop@roopc.net>
* Tunnel detail: Fix commentRoopesh Chander2018-10-271-1/+1
| | | | Signed-off-by: Roopesh Chander <roop@roopc.net>
* Model: Add a version number to the tunnelRoopesh Chander2018-10-271-1/+2
| | | | Signed-off-by: Roopesh Chander <roop@roopc.net>
* VPN: Adding, modifying and deleting actual NETunnelProviderManager instancesRoopesh Chander2018-10-274-46/+157
| | | | Signed-off-by: Roopesh Chander <roop@roopc.net>
* Import: Support for importing a config file from file providersRoopesh Chander2018-10-273-9/+52
| | | | Signed-off-by: Roopesh Chander <roop@roopc.net>
* iPad: Fix modal presentation styleRoopesh Chander2018-10-273-2/+2
| | | | Signed-off-by: Roopesh Chander <roop@roopc.net>
* iPad: Make sure the navigation bar is visible in the detail viewRoopesh Chander2018-10-271-2/+4
| | | | Signed-off-by: Roopesh Chander <roop@roopc.net>
* Tunnel editing: Delegate should also report when editing is cancelledRoopesh Chander2018-10-273-5/+13
| | | | Signed-off-by: Roopesh Chander <roop@roopc.net>
* Import: Support for opening a .conf file in the appRoopesh Chander2018-10-274-6/+67
| | | | Signed-off-by: Roopesh Chander <roop@roopc.net>
* Tunnel editing: Separate init for creation and modificationRoopesh Chander2018-10-271-2/+13
| | | | Signed-off-by: Roopesh Chander <roop@roopc.net>
* Parser: Interface name can be added after parsingRoopesh Chander2018-10-271-4/+2
| | | | Signed-off-by: Roopesh Chander <roop@roopc.net>
* Model: Allow creating an interface with empty nameRoopesh Chander2018-10-273-2/+2
| | | | | | | | 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>
* Info.plist: support for opening wg-quick config (.conf) filesRoopesh Chander2018-10-271-0/+19
| | | | Signed-off-by: Roopesh Chander <roop@roopc.net>
* Info.plist: Export the config file type declarationRoopesh Chander2018-10-271-0/+20
| | | | Signed-off-by: Roopesh Chander <roop@roopc.net>
* Config file: Parsing a wg-quick config fileRoopesh Chander2018-10-272-0/+169
| | | | Signed-off-by: Roopesh Chander <roop@roopc.net>
* Model: MTU should be a 16-bit integerRoopesh Chander2018-10-272-3/+3
| | | | Signed-off-by: Roopesh Chander <roop@roopc.net>
* VPN: Tunnel container shall provide direct access to the configuration objectRoopesh Chander2018-10-273-4/+7
| | | | Signed-off-by: Roopesh Chander <roop@roopc.net>
* Tunnel editing: Modifying a tunnel configurationRoopesh Chander2018-10-272-9/+35
| | | | Signed-off-by: Roopesh Chander <roop@roopc.net>
* Tunnel creation: After saving the new tunnel, show the detail viewRoopesh Chander2018-10-274-9/+32
| | | | Signed-off-by: Roopesh Chander <roop@roopc.net>
* Tunnel detail: Don't show fields that have empty valueRoopesh Chander2018-10-272-10/+52
| | | | Signed-off-by: Roopesh Chander <roop@roopc.net>
* Tunnel creation: Public key is uneditableRoopesh Chander2018-10-271-0/+4
| | | | Signed-off-by: Roopesh Chander <roop@roopc.net>