aboutsummaryrefslogtreecommitdiffstats
path: root/WireGuard/WireGuard (unfollow)
Commit message (Collapse)AuthorFilesLines
2018-12-02Settings: Export log fileRoopesh Chander1-3/+52
Signed-off-by: Roopesh Chander <roop@roopc.net>
2018-11-30NE: Write log to fileRoopesh Chander3-10/+104
Signed-off-by: Roopesh Chander <roop@roopc.net>
2018-11-29Info.plist: Add app group id for accessing from both the app and the network extensionRoopesh Chander2-0/+4
Signed-off-by: Roopesh Chander <roop@roopc.net>
2018-11-29Xcode: Add app groups capabilityRoopesh Chander3-0/+11
Signed-off-by: Roopesh Chander <roop@roopc.net>
2018-11-28It's 'WiFi', not 'Wifi'Roopesh Chander4-17/+17
Signed-off-by: Roopesh Chander <roop@roopc.net>
2018-11-23NE: All DNS queries must first go through the VPN's DNS serversRoopesh Chander1-1/+3
Signed-off-by: Roopesh Chander <roop@roopc.net>
2018-11-19Tunnel view model: Invalidate the configuration object when updating allowedIPs using the 'Exclude private IPs' switchRoopesh Chander1-0/+1
Signed-off-by: Roopesh Chander <roop@roopc.net>
2018-11-19Config file parser: Be case-insensitive to attribute keys in the config fileRoopesh Chander1-12/+12
Signed-off-by: Roopesh Chander <roop@roopc.net>
2018-11-17Config file parser: Fix typoRoopesh Chander1-1/+1
Signed-off-by: Roopesh Chander <roop@roopc.net>
2018-11-15Exporting: Export to zip in a background threadRoopesh Chander2-23/+32
Signed-off-by: Roopesh Chander <roop@roopc.net>
2018-11-15Exporting: Refactor out zip exporting into a separate classRoopesh Chander4-21/+49
Signed-off-by: Roopesh Chander <roop@roopc.net>
2018-11-15Exporting: No need to check for duplicate names - we disallow it at creation time itselfRoopesh Chander1-9/+2
Signed-off-by: Roopesh Chander <roop@roopc.net>
2018-11-15Importing: Import from zip in a background threadRoopesh Chander2-42/+43
Signed-off-by: Roopesh Chander <roop@roopc.net>
2018-11-14Importing: Refactor out zip importing into a separate classRoopesh Chander4-43/+69
Signed-off-by: Roopesh Chander <roop@roopc.net>
2018-11-14Tunnels manager: After saving after activating on-demand, reload tunnelRoopesh Chander1-3/+16
Signed-off-by: Roopesh Chander <roop@roopc.net>
2018-11-12Tunnels manager: Need to keep VPN-on-demand tunnels's status under observationRoopesh Chander1-4/+13
Because they can turn on automatically, even while the app is in the foreground. Signed-off-by: Roopesh Chander <roop@roopc.net>
2018-11-12Tunnel detail: Show VPN-on-demand informationRoopesh Chander1-2/+67
Signed-off-by: Roopesh Chander <roop@roopc.net>
2018-11-12Tunnels manager: Keep track of NETunnelProviderManager's isOnDemandEnabled propertyRoopesh Chander2-5/+10
Signed-off-by: Roopesh Chander <roop@roopc.net>
2018-11-12Tunnel edit: Update for VPN-on-demand changesRoopesh Chander1-14/+26
Signed-off-by: Roopesh Chander <roop@roopc.net>
2018-11-12Tunnel view model: VPN-on-demand stuff shouldn't be part of the tunnel modelRoopesh Chander1-16/+22
Signed-off-by: Roopesh Chander <roop@roopc.net>
2018-11-12Model, Tunnels manager: Rewrite the model for VPN-on-demandRoopesh Chander6-130/+92
The VPN-on-demand settings should not be part of the tunnel configuration. Rather, the onDemandRules stored in the tunnel provider configuration serve as the one place where the VPN-on-demand settings are stored. Signed-off-by: Roopesh Chander <roop@roopc.net>
2018-11-11TunnelsManager: Support for on-demand rulesRoopesh Chander1-0/+36
Signed-off-by: Roopesh Chander <roop@roopc.net>
2018-11-11Tunnel edit, Tunnel view model: UI for providing On-Demand activation optionsRoopesh Chander2-6/+125
Signed-off-by: Roopesh Chander <roop@roopc.net>
2018-11-11Model: Add activationType to tunnel configurationRoopesh Chander3-19/+25
We make sure existing tunnel serializations can be deserialized correctly. We also bump up the tunnelConfigurationVersion, because the tunnel configuration contents have changed. Signed-off-by: Roopesh Chander <roop@roopc.net>
2018-11-10Model: ActivityType enum to represent VPN-on-demand optionsRoopesh Chander2-0/+72
Signed-off-by: Roopesh Chander <roop@roopc.net>
2018-11-10Model: TunnelConfiguration: Add explicit conformance to DecodableRoopesh Chander1-1/+15
Signed-off-by: Roopesh Chander <roop@roopc.net>
2018-11-10Model: Ensure that a TunnelConfiguration always has a valid array of peersRoopesh Chander3-6/+11
Signed-off-by: Roopesh Chander <roop@roopc.net>
2018-11-10VPN: When activating while another tunnel is active, deactivate the other tunnelRoopesh Chander3-22/+16
Signed-off-by: Roopesh Chander <roop@roopc.net>
2018-11-10TunnelsManager: startDeactivation() need not take a completion handlerRoopesh Chander3-8/+3
Because the completion handler pattern doesn't fit in this case. Signed-off-by: Roopesh Chander <roop@roopc.net>
2018-11-10VPN: There are no DNS errors to handle in the app nowRoopesh Chander2-3/+0
Signed-off-by: Roopesh Chander <roop@roopc.net>
2018-11-09NE: Minor refactoring to enable calling startTunnel() with a tunnelConfigurationRoopesh Chander1-1/+6
Signed-off-by: Roopesh Chander <roop@roopc.net>
2018-11-09VPN: Refresh tunnel statuses when app gets to the foregroundRoopesh Chander2-0/+14
Because the tunnel could've be activated from iOS Settings now Signed-off-by: Roopesh Chander <roop@roopc.net>
2018-11-09Remove unused codeRoopesh Chander2-24/+0
Signed-off-by: Roopesh Chander <roop@roopc.net>
2018-11-09TunnelsManager: Ability to refresh connection statusesRoopesh Chander1-0/+14
Signed-off-by: Roopesh Chander <roop@roopc.net>
2018-11-09NE: When there's an error starting the tunnel, show it to the user using displayMessage()Roopesh Chander4-1/+35
Signed-off-by: Roopesh Chander <roop@roopc.net>
2018-11-08Remove unused file PacketTunnelOptionKey.swiftRoopesh Chander2-36/+0
Signed-off-by: Roopesh Chander <roop@roopc.net>
2018-11-08Move logic to extension: Bring up the tunnel from the stored providerConfigurationRoopesh Chander1-77/+33
Signed-off-by: Roopesh Chander <roop@roopc.net>
2018-11-08DNSResolver: SimplifyRoopesh Chander1-28/+6
Signed-off-by: Roopesh Chander <roop@roopc.net>
2018-11-08DNSResolver: Let's not cache DNS resolution results anymoreRoopesh Chander1-17/+9
Signed-off-by: Roopesh Chander <roop@roopc.net>
2018-11-08DNSResolver: DNS resolution can now happen synchronouslyRoopesh Chander1-18/+23
Signed-off-by: Roopesh Chander <roop@roopc.net>
2018-11-08Model: Endpoint.hostname()Roopesh Chander1-0/+11
Signed-off-by: Roopesh Chander <roop@roopc.net>
2018-11-08Move logic to extension: NETunnelProviderProtocol extension code should be sharedRoopesh Chander3-31/+41
Signed-off-by: Roopesh Chander <roop@roopc.net>
2018-11-08Move logic to extension: Refactor PacketTunnelOptionsGenerator into a PacketTunnelSettingsGeneratorRoopesh Chander2-42/+67
Signed-off-by: Roopesh Chander <roop@roopc.net>
2018-11-08Move logic to extension: Move DNSResolver to extensionRoopesh Chander2-3/+3
Signed-off-by: Roopesh Chander <roop@roopc.net>
2018-11-08Move logic to extension: .resolvingEndpointDomains is not longer a valid statusRoopesh Chander3-9/+0
Signed-off-by: Roopesh Chander <roop@roopc.net>
2018-11-08Move logic to extension: DNS resolution no longer happens in the appRoopesh Chander1-44/+5
Signed-off-by: Roopesh Chander <roop@roopc.net>
2018-11-08Move logic to extension: Include shared model code when building the extensionRoopesh Chander1-0/+8
Signed-off-by: Roopesh Chander <roop@roopc.net>
2018-11-08Model: Move InterfaceConfiguration.publicKey to Curve25519.swiftRoopesh Chander2-4/+6
The code for public key calculation need not be shared with the extension Signed-off-by: Roopesh Chander <roop@roopc.net>
2018-11-08Move logic to extension: Move PacketTunnelOptionsGenerator to the extensionRoopesh Chander2-3/+3
Signed-off-by: Roopesh Chander <roop@roopc.net>
2018-11-08Move logic to extension: Invoke startTunnel() without any optionsRoopesh Chander1-4/+1
Signed-off-by: Roopesh Chander <roop@roopc.net>