aboutsummaryrefslogtreecommitdiffstats
path: root/.swiftlint.yml (unfollow)
Commit message (Collapse)AuthorFilesLines
2018-12-07Main VC: No need to refresh statuses if the tunnelsManager isn't initialized yetRoopesh Chander1-4/+0
Signed-off-by: Roopesh Chander <roop@roopc.net>
2018-12-07Tunnels list: Deselect rows correctlyRoopesh Chander1-1/+7
Do it like UITableViewController.clearsSelectionOnViewWillAppear would. Signed-off-by: Roopesh Chander <roop@roopc.net>
2018-12-07Settings: Exporting configs as zip should open document pickerRoopesh Chander1-5/+3
Because: - Exporting UI should be consistent with importing UI - UIActivityVC takes a long time to open Signed-off-by: Roopesh Chander <roop@roopc.net>
2018-12-07Error handling: Use ErrorPresenter.showErrorAlert() instead of per-VC showErrorAlert() methodsRoopesh Chander4-38/+9
Signed-off-by: Roopesh Chander <roop@roopc.net>
2018-12-07Error handling: Use WireGuardAppError and WireGuardResult throughout the appRoopesh Chander5-41/+45
Signed-off-by: Roopesh Chander <roop@roopc.net>
2018-12-07Error handling: Introduce a WireGuardResult type to handle errors in callbacks across the appRoopesh Chander3-28/+34
Signed-off-by: Roopesh Chander <roop@roopc.net>
2018-12-07Error handling: Introduce a WireGuardAppError protocol to manage errorsRoopesh Chander4-29/+39
The alert strings shall be located next to where the errors are declared. Signed-off-by: Roopesh Chander <roop@roopc.net>
2018-12-07Error handling: Cleanup Tunnels Manager errorsRoopesh Chander5-76/+110
Signed-off-by: Roopesh Chander <roop@roopc.net>
2018-12-07Error presenter: Always handle the passed errorRoopesh Chander1-4/+3
Signed-off-by: Roopesh Chander <roop@roopc.net>
2018-12-07Tunnel detail: Cell status switch should be toggled only after the alert presentation completesRoopesh Chander1-4/+5
Signed-off-by: Roopesh Chander <roop@roopc.net>
2018-12-07Refactoring: Consolidate file deletion into a separate functionRoopesh Chander3-17/+16
Signed-off-by: Roopesh Chander <roop@roopc.net>
2018-12-07NE: Logging: Log file should begin with version numbers and tunnel nameRoopesh Chander3-0/+36
Signed-off-by: Roopesh Chander <roop@roopc.net>
2018-12-04NE: Logging: Make it clear which calls to wg_log use String and which use StaticStringRoopesh Chander1-11/+11
Signed-off-by: Roopesh Chander <roop@roopc.net>
2018-12-04Settings: Add timestamp to exported logRoopesh Chander1-1/+8
And remove the exported log afterwards. Signed-off-by: Roopesh Chander <roop@roopc.net>
2018-12-03Refactor out VPN-handling stuff from tunnels list VC to the main VCRoopesh Chander4-72/+94
Signed-off-by: Roopesh Chander <roop@roopc.net>
2018-12-03VPN: Error out when tunnel activation fails because there's no internetRoopesh Chander5-7/+109
Signed-off-by: Roopesh Chander <roop@roopc.net>
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>