aboutsummaryrefslogtreecommitdiffstats
path: root/WireGuard/WireGuardNetworkExtension (follow)
Commit message (Collapse)AuthorAgeFilesLines
* providerConfiguration is now a WgQuickConfigEric Kuck2018-12-211-2/+1
| | | | Signed-off-by: Eric Kuck <eric@bluelinelabs.com>
* Do not require NetworkExtension to know its own nameJason A. Donenfeld2018-12-212-15/+11
| | | | Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
* Get rid of superflous isActivateOnDemandEnabled keyJason A. Donenfeld2018-12-212-32/+4
| | | | Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
* Updated NETunnelProvider save formatEric Kuck2018-12-212-7/+5
| | | | Signed-off-by: Eric Kuck <eric@bluelinelabs.com>
* NE: simplify logicJason A. Donenfeld2018-12-212-46/+27
| | | | Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
* NE: Simplify DNS resolutionRoopesh Chander2018-12-212-23/+6
| | | | Signed-off-by: Roopesh Chander <roop@roopc.net>
* NE: Update listen port only when first interface changesRoopesh Chander2018-12-212-4/+27
| | | | | | | When handling network path changes, change the listen port only when the first interface has changed. Signed-off-by: Roopesh Chander <roop@roopc.net>
* NE: Change handling of bad domain names and Activate On DemandRoopesh Chander2018-12-212-42/+30
| | | | | | | | | | | | | | | | The solution implemented in commit b8c331c causes the tunnel to remain in 'Activating' state, without the ability to cancel that. So, in this commit, instead of retrying DNS silently on Activated-On-Demand tunnels, we fail the startTunnel() silently. To summarize, if activate-on-demand is on: - If started from the WireGuard app, show error using lastErrorFile mechanism, suggesting a way to turn off Activate On Demand - If not started from WireGuard app, don't call displayMessage() (don't show error to user) and silently fail starting the tunnel Signed-off-by: Roopesh Chander <roop@roopc.net>
* Enabled more swiftlint rulesEric Kuck2018-12-202-2/+2
| | | | Signed-off-by: Eric Kuck <eric@bluelinelabs.com>
* NE: Log whether tunnel was activated from the app or notRoopesh Chander2018-12-191-0/+6
| | | | Signed-off-by: Roopesh Chander <roop@roopc.net>
* Remove non-helpful commentsRoopesh Chander2018-12-191-2/+0
| | | | Signed-off-by: Roopesh Chander <roop@roopc.net>
* NE: Handle bad domain names and Activate On DemandRoopesh Chander2018-12-192-15/+50
| | | | | | | | | | | This combination causes iOS to keep trying to bring up the tunnel, leading to a lot of displayMessage() alerts. In this fix, if we get a DNS resolution error in an Activate On Demand enabled tunnel, we silently retry 9 times (with a 4-second delay before each retry) and then show the displayMessage() alert. Signed-off-by: Roopesh Chander <roop@roopc.net>
* NE: No need for two startTunnel() methodsRoopesh Chander2018-12-191-5/+1
| | | | Signed-off-by: Roopesh Chander <roop@roopc.net>
* Got TunnelsManager back under the max file length by splitting out NEVPNStatus+CustomStringConvertibleEric Kuck2018-12-161-13/+2
| | | | Signed-off-by: Eric Kuck <eric@bluelinelabs.com>
* Most similar views now shared between ViewControllersEric Kuck2018-12-141-1/+1
| | | | Signed-off-by: Eric Kuck <eric@bluelinelabs.com>
* Simplify logging tagsJason A. Donenfeld2018-12-141-1/+1
| | | | | | | This was roop's initial idea, and it turns out to be the better one, now that we can pass cstrings more easily. Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
* NE: Communicate last error to app through a shared fileRoopesh Chander2018-12-142-13/+42
| | | | Signed-off-by: Roopesh Chander <roop@roopc.net>
* Localize swiftlintJason A. Donenfeld2018-12-131-1/+2
| | | | Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
* Reorganized ViewControllers (split out UIViews and UITableViewCells into their own classes)Eric Kuck2018-12-132-1/+4
| | | | | | All swiftlint warnings except one fixed up Signed-off-by: Eric Kuck <eric@bluelinelabs.com>
* Avoid escaping heap allocationJason A. Donenfeld2018-12-131-3/+3
| | | | Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
* Tidy up str to gostr conversionJason A. Donenfeld2018-12-131-16/+8
| | | | Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
* Rewrite LoggerJason A. Donenfeld2018-12-131-23/+4
| | | | | | | This reverts all of Roop's changes to the C code, and then rewrites the logger logic to be cleaner. Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
* Logging: Write versions from both app and extensionRoopesh Chander2018-12-131-17/+2
| | | | Signed-off-by: Roopesh Chander <roop@roopc.net>
* Logging: Use ringlogger for logging from the extensionRoopesh Chander2018-12-132-39/+3
| | | | Signed-off-by: Roopesh Chander <roop@roopc.net>
* Avoid using 'VPN' in code where possibleRoopesh Chander2018-12-131-1/+1
| | | | Signed-off-by: Roopesh Chander <roop@roopc.net>
* Remove useless whitespaceJason A. Donenfeld2018-12-131-9/+9
| | | | Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
* More formatting nits and cyclomatic complexity fixesEric Kuck2018-12-123-98/+62
| | | | Signed-off-by: Eric Kuck <eric@bluelinelabs.com>
* More linter warnings fixed, enabled more swiftlint rules, project cleanupEric Kuck2018-12-124-26/+31
| | | | Signed-off-by: Eric Kuck <eric@bluelinelabs.com>
* Tons more swiftlint warnings fixed. Still a few remaining.Eric Kuck2018-12-124-35/+32
| | | | Signed-off-by: Eric Kuck <eric@bluelinelabs.com>
* Added swiftlint and fixed all errors (and a bunch, but not all, warnings)Eric Kuck2018-12-124-21/+21
| | | | Signed-off-by: Eric Kuck <eric@bluelinelabs.com>
* Supply missing pieces of path changeJason A. Donenfeld2018-12-122-10/+12
| | | | Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
* Fixed a potential race condition, better naming on PacketTunnelSettingsGenerator methodsEric Kuck2018-12-112-18/+24
| | | | Signed-off-by: Eric Kuck <eric@bluelinelabs.com>
* Added an (unfinished) NWPathMonitor implementation for reconnecting on network changesEric Kuck2018-12-112-1/+39
| | | | Signed-off-by: Eric Kuck <eric@bluelinelabs.com>
* PacketTunnelProvider: Show log timestampJason A. Donenfeld2018-12-071-14/+3
| | | | Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
* Plist: Handle crypto exportJason A. Donenfeld2018-12-071-0/+2
| | | | Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
* NE: Logging: Log file should begin with version numbers and tunnel nameRoopesh Chander2018-12-072-0/+16
| | | | Signed-off-by: Roopesh Chander <roop@roopc.net>
* NE: Logging: Make it clear which calls to wg_log use String and which use StaticStringRoopesh Chander2018-12-041-11/+11
| | | | Signed-off-by: Roopesh Chander <roop@roopc.net>
* NE: Write log to fileRoopesh Chander2018-11-301-10/+79
| | | | Signed-off-by: Roopesh Chander <roop@roopc.net>
* Info.plist: Add app group id for accessing from both the app and the network extensionRoopesh Chander2018-11-291-0/+2
| | | | Signed-off-by: Roopesh Chander <roop@roopc.net>
* Xcode: Add app groups capabilityRoopesh Chander2018-11-291-0/+4
| | | | Signed-off-by: Roopesh Chander <roop@roopc.net>
* NE: All DNS queries must first go through the VPN's DNS serversRoopesh Chander2018-11-231-1/+3
| | | | Signed-off-by: Roopesh Chander <roop@roopc.net>
* NE: Minor refactoring to enable calling startTunnel() with a tunnelConfigurationRoopesh Chander2018-11-091-1/+6
| | | | Signed-off-by: Roopesh Chander <roop@roopc.net>
* NE: When there's an error starting the tunnel, show it to the user using displayMessage()Roopesh Chander2018-11-092-1/+30
| | | | Signed-off-by: Roopesh Chander <roop@roopc.net>
* Move logic to extension: Bring up the tunnel from the stored providerConfigurationRoopesh Chander2018-11-081-77/+33
| | | | Signed-off-by: Roopesh Chander <roop@roopc.net>
* DNSResolver: SimplifyRoopesh Chander2018-11-081-28/+6
| | | | Signed-off-by: Roopesh Chander <roop@roopc.net>
* DNSResolver: Let's not cache DNS resolution results anymoreRoopesh Chander2018-11-081-17/+9
| | | | Signed-off-by: Roopesh Chander <roop@roopc.net>
* DNSResolver: DNS resolution can now happen synchronouslyRoopesh Chander2018-11-081-18/+23
| | | | Signed-off-by: Roopesh Chander <roop@roopc.net>
* Move logic to extension: Refactor PacketTunnelOptionsGenerator into a PacketTunnelSettingsGeneratorRoopesh Chander2018-11-081-38/+63
| | | | Signed-off-by: Roopesh Chander <roop@roopc.net>
* Move logic to extension: Move DNSResolver to extensionRoopesh Chander2018-11-081-0/+158
| | | | Signed-off-by: Roopesh Chander <roop@roopc.net>
* Move logic to extension: Move PacketTunnelOptionsGenerator to the extensionRoopesh Chander2018-11-081-0/+178
| | | | Signed-off-by: Roopesh Chander <roop@roopc.net>