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