Roopesh Chander
b7aaae7513
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>
2018-10-29 06:19:50 +05:30
Roopesh Chander
21ac338f64
VPN: Cache DNS resolutions while the app is in memory
...
Signed-off-by: Roopesh Chander <roop@roopc.net>
2018-10-29 06:19:50 +05:30
Roopesh Chander
e80e8b06c5
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>
2018-10-29 06:19:50 +05:30
Roopesh Chander
0baca8bf58
Tunnel list, detail: Deletion of tunnels
...
Signed-off-by: Roopesh Chander <roop@roopc.net>
2018-10-29 06:19:43 +05:30
Roopesh Chander
c955c5a913
VPN: Fix deletion of tunnels
...
Signed-off-by: Roopesh Chander <roop@roopc.net>
2018-10-29 04:54:57 +05:30
Roopesh Chander
7f77d87e27
Fix: Make sure all prepareForReuse() implementations call super
...
Signed-off-by: Roopesh Chander <roop@roopc.net>
2018-10-29 02:27:14 +05:30
Roopesh Chander
0396a3550c
Tunnel edit: Set correct title when editing
...
Signed-off-by: Roopesh Chander <roop@roopc.net>
2018-10-29 02:24:32 +05:30
Roopesh Chander
d48a4382b7
Tunnel detail: Change title after editing completes
...
Signed-off-by: Roopesh Chander <roop@roopc.net>
2018-10-29 02:21:19 +05:30
Roopesh Chander
335618a8db
Tunnel detail: Copying the public key
...
Signed-off-by: Roopesh Chander <roop@roopc.net>
2018-10-29 02:19:11 +05:30
Roopesh Chander
65d54d2e9f
Tunnel editing: Fix cell class names
...
Signed-off-by: Roopesh Chander <roop@roopc.net>
2018-10-29 02:15:43 +05:30
Roopesh Chander
95a451f4e1
Import: Use the refactored function for Open-in
...
Signed-off-by: Roopesh Chander <roop@roopc.net>
2018-10-29 02:09:50 +05:30
Roopesh Chander
dda43a0780
Import: Minor refactoring
...
Signed-off-by: Roopesh Chander <roop@roopc.net>
2018-10-29 02:08:40 +05:30
Roopesh Chander
b5ef62ddee
Import: Show errors when importing fails
...
Signed-off-by: Roopesh Chander <roop@roopc.net>
2018-10-29 02:03:39 +05:30
Roopesh Chander
3f97199f68
Import config: Directly add config, don't open up the editor
...
Signed-off-by: Roopesh Chander <roop@roopc.net>
2018-10-29 01:58:21 +05:30
Roopesh Chander
3356cfd688
Zip: Import configs from zip files
...
Signed-off-by: Roopesh Chander <roop@roopc.net>
2018-10-29 01:52:43 +05:30
Roopesh Chander
de3dde84fd
Zip: Add zip file reader
...
Signed-off-by: Roopesh Chander <roop@roopc.net>
2018-10-29 01:51:49 +05:30
Roopesh Chander
38b816ba4c
Zip: Include minizip in our Xcode project
...
Signed-off-by: Roopesh Chander <roop@roopc.net>
2018-10-29 01:03:53 +05:30
Roopesh Chander
718311b32c
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>
2018-10-29 01:03:44 +05:30
Roopesh Chander
e9d90a2f0d
QR code: Save the scanned tunnel
...
Signed-off-by: Roopesh Chander <roop@roopc.net>
2018-10-28 23:32:15 +05:30
Jeroen Leenarts
f57953767b
QR code: Ask for title when scanning a QR code
...
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2018-10-28 23:20:18 +05:30
Roopesh Chander
981a745bcc
QR code: Minor refactoring
...
Signed-off-by: Roopesh Chander <roop@roopc.net>
2018-10-28 23:19:56 +05:30
Jeroen Leenarts
1335724c58
QR code: Support some form of rotation.
...
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2018-10-28 23:19:52 +05:30
Jeroen Leenarts
09a2284104
QR code: Make sure correct layering is used to make sure hint remains visible.
...
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2018-10-28 23:19:45 +05:30
Roopesh Chander
08c855fce6
QR code: Integrate Eric's QR code scanner
...
Signed-off-by: Roopesh Chander <roop@roopc.net>
2018-10-28 22:22:32 +05:30
Roopesh Chander
cd7baac0fc
Info.plist: Indicate that the app shall use the camera
...
Signed-off-by: Roopesh Chander <roop@roopc.net>
2018-10-28 22:01:02 +05:30
Roopesh Chander
fa410c668a
Tunnels list: Need to pass in a name to the parser
...
Signed-off-by: Roopesh Chander <roop@roopc.net>
2018-10-28 21:59:52 +05:30
Roopesh Chander
4855eafb39
Revert "Parser: Interface name can be added after parsing"
...
This reverts commit d3a9e79149
.
Signed-off-by: Roopesh Chander <roop@roopc.net>
2018-10-28 21:57:18 +05:30
Eric Kuck
3082863fd1
QR code: Ability to add tunnels with a QR code scan
...
Signed-off-by: Eric Kuck <eric@bluelinelabs.com>
2018-10-28 18:26:41 +05:30
Roopesh Chander
3d4409fc93
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>
2018-10-28 18:13:47 +05:30
Roopesh Chander
a680fdf2bd
VPN: A tunnel may be already active on app startup
...
Signed-off-by: Roopesh Chander <roop@roopc.net>
2018-10-28 18:09:38 +05:30
Roopesh Chander
269a6c3719
VPN: Remove ability to deactivate the tunnel while resolving DNS
...
Signed-off-by: Roopesh Chander <roop@roopc.net>
2018-10-28 17:47:01 +05:30
Roopesh Chander
493166bd70
VPN: DNSResolver: Resolve multiple endpoints in parallel
...
Signed-off-by: Roopesh Chander <roop@roopc.net>
2018-10-28 17:44:25 +05:30
Roopesh Chander
dfbdcf3c28
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>
2018-10-28 14:56:15 +05:30
Roopesh Chander
1870a3d364
VPN: Save the tunnel name when modifying a tunnel
...
Signed-off-by: Roopesh Chander <roop@roopc.net>
2018-10-28 14:55:24 +05:30
Roopesh Chander
31e5d33114
Tunnel detail: For now, don't allow cancelling when resolving domains is in progress
...
Signed-off-by: Roopesh Chander <roop@roopc.net>
2018-10-28 14:54:41 +05:30
Roopesh Chander
78ab196a28
VPN: Cleaner derivation of subnet mask from CIDR network prefix length
...
Signed-off-by: Roopesh Chander <roop@roopc.net>
2018-10-28 11:51:18 +05:30
Roopesh Chander
011e1eeab8
Tunnel detail: The tableView should have selection disabled
...
Signed-off-by: Roopesh Chander <roop@roopc.net>
2018-10-27 19:14:08 +05:30
Roopesh Chander
a3e912a21f
VPN: Better error and status handling
...
Signed-off-by: Roopesh Chander <roop@roopc.net>
2018-10-27 19:07:16 +05:30
Roopesh Chander
dba3226a34
Xcode: Disable bitcode
...
Enabling bitcode generates a linker error when linking with libwg-go.a
Signed-off-by: Roopesh Chander <roop@roopc.net>
2018-10-27 19:07:16 +05:30
Roopesh Chander
793bf63989
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>
2018-10-27 19:07:16 +05:30
Roopesh Chander
a08e08fe2e
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>
2018-10-27 19:07:16 +05:30
Roopesh Chander
8d2bc4524a
VPN: Fix DNS resolution API
...
Signed-off-by: Roopesh Chander <roop@roopc.net>
2018-10-27 19:07:16 +05:30
Roopesh Chander
3044637196
NE: Add bridging header
...
Signed-off-by: Roopesh Chander <roop@roopc.net>
2018-10-27 19:07:16 +05:30
Roopesh Chander
11a6b988ce
NE: Remove entitlements we don't need for now
...
Signed-off-by: Roopesh Chander <roop@roopc.net>
2018-10-27 19:07:16 +05:30
Roopesh Chander
787d3dc501
wireguard-go: Upgrade submodule to version 0.0.20181018
...
Signed-off-by: Roopesh Chander <roop@roopc.net>
2018-10-27 19:07:16 +05:30
Roopesh Chander
2c591f33c6
NE: Include the network extension in the project
...
Signed-off-by: Roopesh Chander <roop@roopc.net>
2018-10-27 19:07:16 +05:30
Roopesh Chander
e5840a1959
VPN: Perform DNS resolution before starting the tunnel
...
Signed-off-by: Roopesh Chander <roop@roopc.net>
2018-10-27 19:07:16 +05:30
Roopesh Chander
3aed009eb6
Tunnel detail: Account for status section in peer index calculations
...
Signed-off-by: Roopesh Chander <roop@roopc.net>
2018-10-27 19:07:16 +05:30
Roopesh Chander
3f4d12c404
VPN: DNSResolver: A class that does DNS resolution using getaddrinfo
...
Signed-off-by: Roopesh Chander <roop@roopc.net>
2018-10-27 19:07:16 +05:30
Roopesh Chander
10c4085239
Tunnel detail: UI for activating and deactivating a tunnel
...
Signed-off-by: Roopesh Chander <roop@roopc.net>
2018-10-27 19:07:16 +05:30