Commit Graph

267 Commits

Author SHA1 Message Date
Roopesh Chander
4eb13921d2 NE: Remove entitlements we don't need for now 2018-10-27 19:07:16 +05:30
Roopesh Chander
fafb56564e wireguard-go: Upgrade submodule to version 0.0.20181018 2018-10-27 19:07:16 +05:30
Roopesh Chander
b41c6b49d5 NE: Include the network extension in the project 2018-10-27 19:07:16 +05:30
Roopesh Chander
02fb23bb45 VPN: Perform DNS resolution before starting the tunnel 2018-10-27 19:07:16 +05:30
Roopesh Chander
5cb2558fea Tunnel detail: Account for status section in peer index calculations 2018-10-27 19:07:16 +05:30
Roopesh Chander
373adc578c VPN: DNSResolver: A class that does DNS resolution using getaddrinfo 2018-10-27 19:07:16 +05:30
Roopesh Chander
c1cfed7739 Tunnel detail: UI for activating and deactivating a tunnel 2018-10-27 19:07:16 +05:30
Roopesh Chander
59133f5467 VPN: Activating, deactivating and tracking the status 2018-10-27 19:07:16 +05:30
Roopesh Chander
d586f1d619 Tunnel detail: Fix comment 2018-10-27 19:07:16 +05:30
Roopesh Chander
8c2b9432d7 Model: Add a version number to the tunnel 2018-10-27 19:07:01 +05:30
Roopesh Chander
ac60a97dee VPN: Adding, modifying and deleting actual NETunnelProviderManager instances 2018-10-27 15:13:02 +05:30
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