Commit Graph

222 Commits

Author SHA1 Message Date
Roopesh Chander 05efb453f3 Tunnel creation: Saving a configuration
Signed-off-by: Roopesh Chander <roop@roopc.net>
2018-10-27 15:13:01 +05:30
Roopesh Chander 722b3f6c7b Model: Use DNSServer in the Configuration model
Signed-off-by: Roopesh Chander <roop@roopc.net>
2018-10-27 15:13:01 +05:30
Roopesh Chander e1b8b67890 Model for DNS server
Signed-off-by: Roopesh Chander <roop@roopc.net>
2018-10-27 15:13:01 +05:30
Roopesh Chander bcf8abb1de Model: Endpoint host should not have invalid characters
Signed-off-by: Roopesh Chander <roop@roopc.net>
2018-10-27 15:13:01 +05:30
Roopesh Chander b2f2756d9c Model: listenPort and persistentKeepAlive should be 16-bit integers
Signed-off-by: Roopesh Chander <roop@roopc.net>
2018-10-27 15:13:01 +05:30
Roopesh Chander 607dd4bf3d Tunnel creation: Refactor by creating a separate view model
Signed-off-by: Roopesh Chander <roop@roopc.net>
2018-10-27 15:13:01 +05:30
Roopesh Chander b4554dce9b Tunnel creation: Validate the data and prepare to save to a configuration
Signed-off-by: Roopesh Chander <roop@roopc.net>
2018-10-27 15:13:01 +05:30
Roopesh Chander 28293c8029 Tunnel creation: Save typed values in a scratchpad
Signed-off-by: Roopesh Chander <roop@roopc.net>
2018-10-27 15:13:01 +05:30
Roopesh Chander 1a534faa0a Tunnel creation: Fix Persistent Keepalive label's look
Signed-off-by: Roopesh Chander <roop@roopc.net>
2018-10-27 15:13:01 +05:30
Roopesh Chander 911b16d54e Tunnel creation: Start off with tunnel creation
Signed-off-by: Roopesh Chander <roop@roopc.net>
2018-10-27 15:13:01 +05:30
Roopesh Chander 2e96dbe363 Model: Make InterfaceConfiguration and PeerConfiguration structs
Signed-off-by: Roopesh Chander <roop@roopc.net>
2018-10-27 15:13:01 +05:30
Roopesh Chander 89214e7db9 Model: Make it impossible to create invalid interface / peer configuration instances
Signed-off-by: Roopesh Chander <roop@roopc.net>
2018-10-27 15:13:01 +05:30
Roopesh Chander 3331327d82 Use Endpoint in the Configuration model
Signed-off-by: Roopesh Chander <roop@roopc.net>
2018-10-27 15:13:01 +05:30
Roopesh Chander c12f481b70 Model for an endpoint
Signed-off-by: Roopesh Chander <roop@roopc.net>
2018-10-27 15:13:01 +05:30
Roopesh Chander 8ec73025f2 Model: IPAddressRange: Converting to and from String
Signed-off-by: Roopesh Chander <roop@roopc.net>
2018-10-27 15:13:01 +05:30
Roopesh Chander 921b81e89b Model: Name should be part of the interface, not the tunnel
Signed-off-by: Roopesh Chander <roop@roopc.net>
2018-10-27 15:13:01 +05:30
Roopesh Chander 6de354b4c5 Tunnels list: Show an actions list when the '+' is tapped
Signed-off-by: Roopesh Chander <roop@roopc.net>
2018-10-27 15:13:01 +05:30
Roopesh Chander df7ea2a781 Tunnels list: Show data from the tunnels manager
Signed-off-by: Roopesh Chander <roop@roopc.net>
2018-10-27 15:13:01 +05:30
Roopesh Chander 8a11333b65 Tunnels list: Make the table view style explicit
Signed-off-by: Roopesh Chander <roop@roopc.net>
2018-10-27 15:13:01 +05:30
Roopesh Chander b63abc65c3 VPN: Add TunnelsManager to manage the tunnels in the app
Signed-off-by: Roopesh Chander <roop@roopc.net>
2018-10-27 15:13:01 +05:30
Roopesh Chander 8ca3993804 Bump deployment target to iOS 12.0
Signed-off-by: Roopesh Chander <roop@roopc.net>
2018-10-27 15:13:01 +05:30
Roopesh Chander ede2a82c3b Use IPAddressRange in the Configuration model
Signed-off-by: Roopesh Chander <roop@roopc.net>
2018-10-27 15:13:01 +05:30
Roopesh Chander 0ce6b9e79e Model for an IP Address range
Signed-off-by: Roopesh Chander <roop@roopc.net>
2018-10-27 15:13:01 +05:30
Roopesh Chander 3630543be5 Models for tunnel, interface and peer
Signed-off-by: Roopesh Chander <roop@roopc.net>
2018-10-27 15:13:01 +05:30
Roopesh Chander 78251e9a50 Configure the split-view controller to work in both iPhone and iPad
Signed-off-by: Roopesh Chander <roop@roopc.net>
2018-10-27 15:13:01 +05:30
Roopesh Chander 8d62cb3c1b Change copyright to WireGuard LLC
Signed-off-by: Roopesh Chander <roop@roopc.net>
2018-10-27 15:13:01 +05:30
Roopesh Chander 5fe60a8bef Use a split-view controller as the main (root) view controller
Signed-off-by: Roopesh Chander <roop@roopc.net>
2018-10-27 15:13:01 +05:30
Roopesh Chander c76e5933e2 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>
2018-10-27 15:13:01 +05:30
Roopesh Chander dd672d3dac Prepare for rewrite: Move WireGuardNetworkExtension into the new project folder
Signed-off-by: Roopesh Chander <roop@roopc.net>
2018-10-27 15:13:01 +05:30
Roopesh Chander 5776523bd2 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.

Signed-off-by: Roopesh Chander <roop@roopc.net>
2018-10-27 15:13:01 +05:30
Roopesh Chander 6fe8b8dbe4 Enable Network Extensions capability
Signed-off-by: Roopesh Chander <roop@roopc.net>
2018-10-27 15:13:01 +05:30
Roopesh Chander e2022d3e00 Move App ID to Developer.xcconfig as well
Signed-off-by: Roopesh Chander <roop@roopc.net>
2018-10-27 15:13:01 +05:30
Roopesh Chander 700c7221a9 Remove storyboard and create UI from code
Signed-off-by: Roopesh Chander <roop@roopc.net>
2018-10-27 15:13:01 +05:30
Roopesh Chander b6f4806fd6 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.

Signed-off-by: Roopesh Chander <roop@roopc.net>
2018-10-27 15:13:01 +05:30
Roopesh Chander 6ada0a2857 Create a new project in Xcode
Signed-off-by: Roopesh Chander <roop@roopc.net>
2018-10-27 15:13:01 +05:30
Roopesh Chander 42082a55e3 Prepare for rewrite: Remove CocoaPods and Carthage stuff from .gitignore
Signed-off-by: Roopesh Chander <roop@roopc.net>
2018-10-27 15:13:01 +05:30
Roopesh Chander cc26734d5d Prepare for rewrite: Remove UI and model code
Signed-off-by: Roopesh Chander <roop@roopc.net>
2018-10-27 15:13:01 +05:30
Roopesh Chander 4e6c9afa3a Prepare for rewrite: Remove CocoaPods
Signed-off-by: Roopesh Chander <roop@roopc.net>
2018-10-27 15:13:01 +05:30
Roopesh Chander fc931ac23e Prepare for rewrite: Remove Xcode project and workspace
Signed-off-by: Roopesh Chander <roop@roopc.net>
2018-10-27 15:13:01 +05:30
Jason A. Donenfeld 95fefbdb39 Allow customizing MTU
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2018-10-27 01:03:28 +02:00
Jason A. Donenfeld e1ebe64a47 bridge: go get requires arch paths
So we move it into the build phase. This makes sense, since ostensibly
different archs might have different required modules.

Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2018-10-26 22:40:07 +02:00
Jason A. Donenfeld ac5d2b2a9e MIT license
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2018-10-10 22:34:18 +02:00
Jason A. Donenfeld add2b2c09c Use go modules
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2018-10-09 19:51:53 +02:00
Jeroen Leenarts 6346bad069 Better handling of CIDR values.
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2018-10-03 21:34:51 +02:00
Jeroen Leenarts 24f7dcb7d6 Disable auto corrects and related helpers on UITextfields.
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2018-10-03 10:54:41 +02:00
Jeroen Leenarts 6cf4c49e21 Export qr scanned config to system settings.
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2018-10-03 10:48:49 +02:00
Jeroen Leenarts ce02b7a4c0 Do not try to resolve a valid ip address.
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2018-10-03 10:39:04 +02:00
Jason A. Donenfeld c10532acd9 Remove extra comment cruft
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2018-10-03 01:21:59 +02:00
Jeroen Leenarts 12e33681c1 Remove a few prints, add some whitespace.
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2018-10-02 22:36:39 +02:00
Jeroen Leenarts bc279b1e79 Add some form of image for when no configurations are available.
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2018-10-02 21:33:24 +02:00