Commit Graph

436 Commits

Author SHA1 Message Date
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 efa2c4f483 Prepare for rewrite: Remove CocoaPods and Carthage stuff from .gitignore 2018-10-27 15:13:01 +05:30