Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Make strings consistent | Jason A. Donenfeld | 2018-12-07 | 4 | -9/+9 |
| | | | | Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com> | ||||
* | State restoration: Restore tunnel detail view | Roopesh Chander | 2018-12-07 | 5 | -1/+76 |
| | | | | Signed-off-by: Roopesh Chander <roop@roopc.net> | ||||
* | Main VC: No need to refresh statuses if the tunnelsManager isn't initialized yet | Roopesh Chander | 2018-12-07 | 1 | -4/+0 |
| | | | | Signed-off-by: Roopesh Chander <roop@roopc.net> | ||||
* | Tunnels list: Deselect rows correctly | Roopesh Chander | 2018-12-07 | 1 | -1/+7 |
| | | | | | | Do it like UITableViewController.clearsSelectionOnViewWillAppear would. Signed-off-by: Roopesh Chander <roop@roopc.net> | ||||
* | Settings: Exporting configs as zip should open document picker | Roopesh Chander | 2018-12-07 | 1 | -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> | ||||
* | Error handling: Use ErrorPresenter.showErrorAlert() instead of per-VC showErrorAlert() methods | Roopesh Chander | 2018-12-07 | 4 | -38/+9 |
| | | | | Signed-off-by: Roopesh Chander <roop@roopc.net> | ||||
* | Error handling: Use WireGuardAppError and WireGuardResult throughout the app | Roopesh Chander | 2018-12-07 | 5 | -41/+45 |
| | | | | Signed-off-by: Roopesh Chander <roop@roopc.net> | ||||
* | Error handling: Introduce a WireGuardResult type to handle errors in callbacks across the app | Roopesh Chander | 2018-12-07 | 3 | -28/+34 |
| | | | | Signed-off-by: Roopesh Chander <roop@roopc.net> | ||||
* | Error handling: Introduce a WireGuardAppError protocol to manage errors | Roopesh Chander | 2018-12-07 | 4 | -29/+39 |
| | | | | | | The alert strings shall be located next to where the errors are declared. Signed-off-by: Roopesh Chander <roop@roopc.net> | ||||
* | Error handling: Cleanup Tunnels Manager errors | Roopesh Chander | 2018-12-07 | 5 | -76/+110 |
| | | | | Signed-off-by: Roopesh Chander <roop@roopc.net> | ||||
* | Error presenter: Always handle the passed error | Roopesh Chander | 2018-12-07 | 1 | -4/+3 |
| | | | | Signed-off-by: Roopesh Chander <roop@roopc.net> | ||||
* | Tunnel detail: Cell status switch should be toggled only after the alert presentation completes | Roopesh Chander | 2018-12-07 | 1 | -4/+5 |
| | | | | Signed-off-by: Roopesh Chander <roop@roopc.net> | ||||
* | Refactoring: Consolidate file deletion into a separate function | Roopesh Chander | 2018-12-07 | 3 | -17/+16 |
| | | | | Signed-off-by: Roopesh Chander <roop@roopc.net> | ||||
* | NE: Logging: Log file should begin with version numbers and tunnel name | Roopesh Chander | 2018-12-07 | 3 | -0/+36 |
| | | | | Signed-off-by: Roopesh Chander <roop@roopc.net> | ||||
* | NE: Logging: Make it clear which calls to wg_log use String and which use StaticString | Roopesh Chander | 2018-12-04 | 1 | -11/+11 |
| | | | | Signed-off-by: Roopesh Chander <roop@roopc.net> | ||||
* | Settings: Add timestamp to exported log | Roopesh Chander | 2018-12-04 | 1 | -1/+8 |
| | | | | | | And remove the exported log afterwards. Signed-off-by: Roopesh Chander <roop@roopc.net> | ||||
* | Refactor out VPN-handling stuff from tunnels list VC to the main VC | Roopesh Chander | 2018-12-03 | 4 | -72/+94 |
| | | | | Signed-off-by: Roopesh Chander <roop@roopc.net> | ||||
* | VPN: Error out when tunnel activation fails because there's no internet | Roopesh Chander | 2018-12-03 | 5 | -7/+109 |
| | | | | Signed-off-by: Roopesh Chander <roop@roopc.net> | ||||
* | Settings: Export log file | Roopesh Chander | 2018-12-02 | 1 | -3/+52 |
| | | | | Signed-off-by: Roopesh Chander <roop@roopc.net> | ||||
* | NE: Write log to file | Roopesh Chander | 2018-11-30 | 3 | -10/+104 |
| | | | | Signed-off-by: Roopesh Chander <roop@roopc.net> | ||||
* | Info.plist: Add app group id for accessing from both the app and the network extension | Roopesh Chander | 2018-11-29 | 2 | -0/+4 |
| | | | | Signed-off-by: Roopesh Chander <roop@roopc.net> | ||||
* | Xcode: Add app groups capability | Roopesh Chander | 2018-11-29 | 3 | -0/+11 |
| | | | | Signed-off-by: Roopesh Chander <roop@roopc.net> | ||||
* | It's 'WiFi', not 'Wifi' | Roopesh Chander | 2018-11-28 | 4 | -17/+17 |
| | | | | Signed-off-by: Roopesh Chander <roop@roopc.net> | ||||
* | NE: All DNS queries must first go through the VPN's DNS servers | Roopesh Chander | 2018-11-23 | 1 | -1/+3 |
| | | | | Signed-off-by: Roopesh Chander <roop@roopc.net> | ||||
* | Tunnel view model: Invalidate the configuration object when updating allowedIPs using the 'Exclude private IPs' switch | Roopesh Chander | 2018-11-19 | 1 | -0/+1 |
| | | | | Signed-off-by: Roopesh Chander <roop@roopc.net> | ||||
* | Config file parser: Be case-insensitive to attribute keys in the config file | Roopesh Chander | 2018-11-19 | 1 | -12/+12 |
| | | | | Signed-off-by: Roopesh Chander <roop@roopc.net> | ||||
* | Config file parser: Fix typo | Roopesh Chander | 2018-11-17 | 1 | -1/+1 |
| | | | | Signed-off-by: Roopesh Chander <roop@roopc.net> | ||||
* | Exporting: Export to zip in a background thread | Roopesh Chander | 2018-11-15 | 2 | -23/+32 |
| | | | | Signed-off-by: Roopesh Chander <roop@roopc.net> | ||||
* | Exporting: Refactor out zip exporting into a separate class | Roopesh Chander | 2018-11-15 | 4 | -21/+49 |
| | | | | Signed-off-by: Roopesh Chander <roop@roopc.net> | ||||
* | Exporting: No need to check for duplicate names - we disallow it at creation time itself | Roopesh Chander | 2018-11-15 | 1 | -9/+2 |
| | | | | Signed-off-by: Roopesh Chander <roop@roopc.net> | ||||
* | Importing: Import from zip in a background thread | Roopesh Chander | 2018-11-15 | 2 | -42/+43 |
| | | | | Signed-off-by: Roopesh Chander <roop@roopc.net> | ||||
* | Importing: Refactor out zip importing into a separate class | Roopesh Chander | 2018-11-14 | 4 | -43/+69 |
| | | | | Signed-off-by: Roopesh Chander <roop@roopc.net> | ||||
* | Tunnels manager: After saving after activating on-demand, reload tunnel | Roopesh Chander | 2018-11-14 | 1 | -3/+16 |
| | | | | Signed-off-by: Roopesh Chander <roop@roopc.net> | ||||
* | Tunnels manager: Need to keep VPN-on-demand tunnels's status under observation | Roopesh Chander | 2018-11-12 | 1 | -4/+13 |
| | | | | | | Because they can turn on automatically, even while the app is in the foreground. Signed-off-by: Roopesh Chander <roop@roopc.net> | ||||
* | Tunnel detail: Show VPN-on-demand information | Roopesh Chander | 2018-11-12 | 1 | -2/+67 |
| | | | | Signed-off-by: Roopesh Chander <roop@roopc.net> | ||||
* | Tunnels manager: Keep track of NETunnelProviderManager's isOnDemandEnabled property | Roopesh Chander | 2018-11-12 | 2 | -5/+10 |
| | | | | Signed-off-by: Roopesh Chander <roop@roopc.net> | ||||
* | Tunnel edit: Update for VPN-on-demand changes | Roopesh Chander | 2018-11-12 | 1 | -14/+26 |
| | | | | Signed-off-by: Roopesh Chander <roop@roopc.net> | ||||
* | Tunnel view model: VPN-on-demand stuff shouldn't be part of the tunnel model | Roopesh Chander | 2018-11-12 | 1 | -16/+22 |
| | | | | Signed-off-by: Roopesh Chander <roop@roopc.net> | ||||
* | Model, Tunnels manager: Rewrite the model for VPN-on-demand | Roopesh Chander | 2018-11-12 | 6 | -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> | ||||
* | TunnelsManager: Support for on-demand rules | Roopesh Chander | 2018-11-11 | 1 | -0/+36 |
| | | | | Signed-off-by: Roopesh Chander <roop@roopc.net> | ||||
* | Tunnel edit, Tunnel view model: UI for providing On-Demand activation options | Roopesh Chander | 2018-11-11 | 2 | -6/+125 |
| | | | | Signed-off-by: Roopesh Chander <roop@roopc.net> | ||||
* | Model: Add activationType to tunnel configuration | Roopesh Chander | 2018-11-11 | 3 | -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> | ||||
* | Model: ActivityType enum to represent VPN-on-demand options | Roopesh Chander | 2018-11-10 | 2 | -0/+72 |
| | | | | Signed-off-by: Roopesh Chander <roop@roopc.net> | ||||
* | Model: TunnelConfiguration: Add explicit conformance to Decodable | Roopesh Chander | 2018-11-10 | 1 | -1/+15 |
| | | | | Signed-off-by: Roopesh Chander <roop@roopc.net> | ||||
* | Model: Ensure that a TunnelConfiguration always has a valid array of peers | Roopesh Chander | 2018-11-10 | 3 | -6/+11 |
| | | | | Signed-off-by: Roopesh Chander <roop@roopc.net> | ||||
* | VPN: When activating while another tunnel is active, deactivate the other tunnel | Roopesh Chander | 2018-11-10 | 3 | -22/+16 |
| | | | | Signed-off-by: Roopesh Chander <roop@roopc.net> | ||||
* | TunnelsManager: startDeactivation() need not take a completion handler | Roopesh Chander | 2018-11-10 | 3 | -8/+3 |
| | | | | | | Because the completion handler pattern doesn't fit in this case. Signed-off-by: Roopesh Chander <roop@roopc.net> | ||||
* | VPN: There are no DNS errors to handle in the app now | Roopesh Chander | 2018-11-10 | 2 | -3/+0 |
| | | | | Signed-off-by: Roopesh Chander <roop@roopc.net> | ||||
* | NE: Minor refactoring to enable calling startTunnel() with a tunnelConfiguration | Roopesh Chander | 2018-11-09 | 1 | -1/+6 |
| | | | | Signed-off-by: Roopesh Chander <roop@roopc.net> | ||||
* | VPN: Refresh tunnel statuses when app gets to the foreground | Roopesh Chander | 2018-11-09 | 2 | -0/+14 |
| | | | | | | Because the tunnel could've be activated from iOS Settings now Signed-off-by: Roopesh Chander <roop@roopc.net> |