Roopesh Chander
f6620fed9a
Import: Support for importing a config file from file providers
2018-10-27 15:13:02 +05:30
Roopesh Chander
9d340ab873
iPad: Fix modal presentation style
2018-10-27 15:13:02 +05:30
Roopesh Chander
9aa0c1b1f8
iPad: Make sure the navigation bar is visible in the detail view
2018-10-27 15:13:02 +05:30
Roopesh Chander
b2ad15da55
Tunnel editing: Delegate should also report when editing is cancelled
2018-10-27 15:13:02 +05:30
Roopesh Chander
4e2a1aa07a
Import: Support for opening a .conf file in the app
2018-10-27 15:13:02 +05:30
Roopesh Chander
44a2eff1e0
Tunnel editing: Separate init for creation and modification
2018-10-27 15:13:02 +05:30
Roopesh Chander
d3a9e79149
Parser: Interface name can be added after parsing
2018-10-27 15:13:02 +05:30
Roopesh Chander
db72e9522a
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.)
2018-10-27 15:13:02 +05:30
Roopesh Chander
e8633b243d
Info.plist: support for opening wg-quick config (.conf) files
2018-10-27 15:13:02 +05:30
Roopesh Chander
8561b0f84c
Info.plist: Export the config file type declaration
2018-10-27 15:13:02 +05:30
Roopesh Chander
ab3fab4024
Config file: Parsing a wg-quick config file
2018-10-27 15:13:01 +05:30
Roopesh Chander
903fd02eb2
Model: MTU should be a 16-bit integer
2018-10-27 15:13:01 +05:30
Roopesh Chander
8423814876
VPN: Tunnel container shall provide direct access to the configuration object
2018-10-27 15:13:01 +05:30
Roopesh Chander
34cc14fefa
Tunnel editing: Modifying a tunnel configuration
2018-10-27 15:13:01 +05:30
Roopesh Chander
61cf3f8a5b
Tunnel creation: After saving the new tunnel, show the detail view
2018-10-27 15:13:01 +05:30
Roopesh Chander
ebb0dcd923
Tunnel detail: Don't show fields that have empty value
2018-10-27 15:13:01 +05:30
Roopesh Chander
e2663822bb
Tunnel creation: Public key is uneditable
2018-10-27 15:13:01 +05:30
Roopesh Chander
ad9e9b6666
Tunnel creation: An uneditable field's value should be grey as well
2018-10-27 15:13:01 +05:30
Roopesh Chander
9120e27f2b
Tunnel creation: Generate key pair
2018-10-27 15:13:01 +05:30
Roopesh Chander
423fc4f9e0
Tunnel creation: Compute public key from private key as the text is being edited
2018-10-27 15:13:01 +05:30
Roopesh Chander
91ea0fe7e5
Tunnel view model: Populate interface's public key
2018-10-27 15:13:01 +05:30
Roopesh Chander
a4016afd7c
Model: Interface: Add a public key computed property
2018-10-27 15:13:01 +05:30
Roopesh Chander
1f166c8d3e
Crypto: Swift wrapper for the Curve25519 C code
2018-10-27 15:13:01 +05:30
Jeroen Leenarts
3bae6c6f01
Crypto: Curve25519: Add explicit cast to supress conversion warning.
2018-10-27 15:13:01 +05:30
Roopesh Chander
c68c214cbf
Crypto: Add Curve25519 C code to project
2018-10-27 15:13:01 +05:30
Jeroen Leenarts
c2abe9f011
Crypto: Add key generation functions
2018-10-27 15:13:01 +05:30
Roopesh Chander
e6eef48c69
Tunnel creation: Hide 'Exclude private IPs' switch till the feature is ready
2018-10-27 15:13:01 +05:30
Roopesh Chander
3adb6cc15f
Set Xcode template for smaller copyright headers
2018-10-27 15:13:01 +05:30
Roopesh Chander
e0a8aedc3d
Smaller copyright headers
2018-10-27 15:13:01 +05:30
Roopesh Chander
a8138efefe
Tunnel detail: Start off with the tunnel detail view
2018-10-27 15:13:01 +05:30
Roopesh Chander
cd7d6d5152
Tunnel view model: Add copy public key
2018-10-27 15:13:01 +05:30
Roopesh Chander
6d4151eafa
Tunnel creation: Variable renaming
...
s/interfaceEditFieldsBySection/interfaceFieldsBySection/g;
s/peerEditFieldsBySection/peerFieldsBySection/g;
2018-10-27 15:13:01 +05:30
Roopesh Chander
63f96b928a
Tunnel view model: The view model applies for both editing and viewing
2018-10-27 15:13:01 +05:30
Roopesh Chander
e8350b689f
Tunnels list: Update when a tunnel is added
2018-10-27 15:13:01 +05:30
Roopesh Chander
0324cebe2b
Tunnel creation: Saving a configuration
2018-10-27 15:13:01 +05:30
Roopesh Chander
e0ee01db78
Model: Use DNSServer in the Configuration model
2018-10-27 15:13:01 +05:30
Roopesh Chander
bebbaeaa93
Model for DNS server
2018-10-27 15:13:01 +05:30
Roopesh Chander
1b5ab9a72f
Model: Endpoint host should not have invalid characters
2018-10-27 15:13:01 +05:30
Roopesh Chander
c8fa6850c2
Model: listenPort and persistentKeepAlive should be 16-bit integers
2018-10-27 15:13:01 +05:30
Roopesh Chander
0fa97c38ed
Tunnel creation: Refactor by creating a separate view model
2018-10-27 15:13:01 +05:30
Roopesh Chander
9f252d4e37
Tunnel creation: Validate the data and prepare to save to a configuration
2018-10-27 15:13:01 +05:30
Roopesh Chander
42c3d63d13
Tunnel creation: Save typed values in a scratchpad
2018-10-27 15:13:01 +05:30
Roopesh Chander
d831bd44c4
Tunnel creation: Fix Persistent Keepalive label's look
2018-10-27 15:13:01 +05:30
Roopesh Chander
bbd13ad4cf
Tunnel creation: Start off with tunnel creation
2018-10-27 15:13:01 +05:30
Roopesh Chander
e337427eae
Model: Make InterfaceConfiguration and PeerConfiguration structs
2018-10-27 15:13:01 +05:30
Roopesh Chander
3e72dcade8
Model: Make it impossible to create invalid interface / peer configuration instances
2018-10-27 15:13:01 +05:30
Roopesh Chander
255b579f4d
Use Endpoint in the Configuration model
2018-10-27 15:13:01 +05:30
Roopesh Chander
7482ee8cf5
Model for an endpoint
2018-10-27 15:13:01 +05:30
Roopesh Chander
1d01d1f85d
Model: IPAddressRange: Converting to and from String
2018-10-27 15:13:01 +05:30
Roopesh Chander
945953177e
Model: Name should be part of the interface, not the tunnel
2018-10-27 15:13:01 +05:30
Roopesh Chander
e00a577bba
Tunnels list: Show an actions list when the '+' is tapped
2018-10-27 15:13:01 +05:30
Roopesh Chander
0593a77d7a
Tunnels list: Show data from the tunnels manager
2018-10-27 15:13:01 +05:30
Roopesh Chander
052ece53a3
Tunnels list: Make the table view style explicit
2018-10-27 15:13:01 +05:30
Roopesh Chander
b690de0d14
VPN: Add TunnelsManager to manage the tunnels in the app
2018-10-27 15:13:01 +05:30
Roopesh Chander
66307fd3c5
Bump deployment target to iOS 12.0
2018-10-27 15:13:01 +05:30
Roopesh Chander
f6054775ca
Use IPAddressRange in the Configuration model
2018-10-27 15:13:01 +05:30
Roopesh Chander
0948363d5b
Model for an IP Address range
2018-10-27 15:13:01 +05:30
Roopesh Chander
995320b958
Models for tunnel, interface and peer
2018-10-27 15:13:01 +05:30
Roopesh Chander
9443ee7e30
Configure the split-view controller to work in both iPhone and iPad
2018-10-27 15:13:01 +05:30
Roopesh Chander
50d660851a
Change copyright to WireGuard LLC
2018-10-27 15:13:01 +05:30
Roopesh Chander
0c7321e923
Use a split-view controller as the main (root) view controller
2018-10-27 15:13:01 +05:30
Roopesh Chander
887678bbf9
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.
2018-10-27 15:13:01 +05:30
Roopesh Chander
8bd289c32f
Prepare for rewrite: Move WireGuardNetworkExtension into the new project folder
2018-10-27 15:13:01 +05:30
Roopesh Chander
be06f33acc
Use APP_ID in xcconfig rather than PRODUCT_BUNDLE_IDENTIFIER
...
This is required because when we add an app extension to the
project, there will be two PRODUCT_BUNDLE_IDENTIFIER fields
in our project file, so we cannot use xcconfig to set that
key directly.
2018-10-27 15:13:01 +05:30
Roopesh Chander
62987e7a32
Enable Network Extensions capability
2018-10-27 15:13:01 +05:30
Roopesh Chander
c33cf18a2f
Move App ID to Developer.xcconfig as well
2018-10-27 15:13:01 +05:30
Roopesh Chander
d15a2ee88e
Remove storyboard and create UI from code
2018-10-27 15:13:01 +05:30
Roopesh Chander
732309b2fe
Move DEVELOPMENT_TEAM into an xcconfig out of the git repo
...
This is so that other developers can work on this codebase
by copying Developer.xcconfig.template to Developer.xcconfig
and setting the DEVELOPMENT_TEAM to their respective Team IDs.
The Team IDs need not be checked into source control.
2018-10-27 15:13:01 +05:30
Roopesh Chander
c647572b18
Create a new project in Xcode
2018-10-27 15:13:01 +05:30
Roopesh Chander
8df3d72615
Prepare for rewrite: Remove UI and model code
2018-10-27 15:13:01 +05:30
Jeroen Leenarts
94afded0d2
Better handling of CIDR values.
2018-10-03 21:34:51 +02:00
Jeroen Leenarts
f27b4483da
Disable auto corrects and related helpers on UITextfields.
2018-10-03 10:54:41 +02:00
Jeroen Leenarts
e96a5c803f
Export qr scanned config to system settings.
2018-10-03 10:48:49 +02:00
Jason A. Donenfeld
0f553856b1
Remove extra comment cruft
2018-10-03 01:21:59 +02:00
Jeroen Leenarts
ae1af569d6
Remove a few prints, add some whitespace.
2018-10-02 22:36:39 +02:00
Jeroen Leenarts
03c257cfcc
Add some form of image for when no configurations are available.
2018-10-02 21:33:24 +02:00
Jeroen Leenarts
d12542a0c2
Dismiss qr scan vc on cancel.
2018-10-02 21:23:52 +02:00
Jeroen Leenarts
2fac395700
Handle persistentKeepAlive better.
2018-10-02 21:19:27 +02:00
Jeroen Leenarts
25ce33aa1f
Add Wireguard logo to bottom of settings.
2018-10-02 21:14:47 +02:00
Jeroen Leenarts
93b1f31d45
Extract WireGuardGo version at build time.
2018-10-02 21:14:18 +02:00
Jeroen Leenarts
6fa7d7bfbf
Deal with type body length warning.
2018-10-02 19:53:56 +02:00
Jeroen Leenarts
9ad7a2d3bd
Copy public key through context menu.
2018-10-02 19:39:26 +02:00
Jason A. Donenfeld
9d01829a98
Rewrite bridge build system
2018-10-02 19:15:03 +02:00
Jeroen Leenarts
41e0459521
Don't crash on failure to obtain version info and inform user on what is needed to be able to retrieve version info from the Go client.
2018-10-01 15:37:15 +02:00
Jeroen Leenarts
07be1c5398
Check and clear old configs on app start and app foreground.
2018-10-01 15:36:11 +02:00
Jeroen Leenarts
d8946babba
Add switch to info view controller.
2018-09-29 22:29:34 +02:00
Jeroen Leenarts
f29776d8e8
Deal with zero or empty input better.
2018-09-26 11:43:13 +02:00
Jeroen Leenarts
f669dd2015
Use trash instead of edit icon.
2018-09-26 11:27:24 +02:00
Jeroen Leenarts
406d72d8d9
Use message to extension to obtain version info.
2018-09-26 11:26:52 +02:00
Jeroen Leenarts
189e5181a5
Fixe base 64 regex format.
2018-09-26 11:23:13 +02:00
Jeroen Leenarts
ae7e655e37
Add explicit cast to supress conversion warning.
2018-09-26 11:22:15 +02:00
Jeroen Leenarts
3f9858a655
Fixe file/function related warnings.
2018-09-26 11:21:53 +02:00
Jeroen Leenarts
e27a3addb9
Not a gear but dots.
2018-09-26 10:24:52 +02:00
Jeroen Leenarts
2dc9392904
Present alert for title.
2018-09-25 22:30:16 +02:00
Jeroen Leenarts
0342415705
Remove default zeroes for listenPort and mtu.
2018-09-25 21:15:50 +02:00
Jeroen Leenarts
44c5b62c63
Ask for title when scaning a QR.
2018-09-25 20:59:15 +02:00
Jeroen Leenarts
c296d6ed01
Move copy button a bit up towards title line.
2018-09-25 20:15:44 +02:00
Jeroen Leenarts
de82b9f0af
Settnings icon.
2018-09-25 20:10:29 +02:00
Jeroen Leenarts
4fdc8244a1
Report the correct number of rows in the info table view.
2018-09-20 00:44:24 +02:00
Jeroen Leenarts
336f30e3c9
Get rid of a few cosmetic lines.
2018-09-20 00:43:57 +02:00