]>
git.ipfire.org Git - thirdparty/wireguard-apple.git/log
Roopesh Chander [Fri, 28 Dec 2018 13:59:09 +0000 (19:29 +0530)]
macOS: Create status bar with tunnel names
Signed-off-by: Roopesh Chander <roop@roopc.net>
Roopesh Chander [Fri, 28 Dec 2018 12:52:07 +0000 (18:22 +0530)]
macOS: Add status bar icon
Signed-off-by: Roopesh Chander <roop@roopc.net>
Roopesh Chander [Sun, 25 Nov 2018 13:12:51 +0000 (18:42 +0530)]
macOS: Remove MainMenu.xib
When there's no xib, we should explicitly set the app delegate, so we
override NSApplication and set the app delegate in NSApplication.shared
Signed-off-by: Roopesh Chander <roop@roopc.net>
Roopesh Chander [Fri, 28 Dec 2018 08:12:25 +0000 (13:42 +0530)]
macOS: NE: Add entitlements for making network connections
Signed-off-by: Roopesh Chander <roop@roopc.net>
Roopesh Chander [Thu, 27 Dec 2018 19:03:31 +0000 (00:33 +0530)]
Make app groups work on both iOS and macOS
Signed-off-by: Roopesh Chander <roop@roopc.net>
Roopesh Chander [Thu, 27 Dec 2018 14:23:15 +0000 (19:53 +0530)]
macOS: Add Network Extensions capability to app
Signed-off-by: Roopesh Chander <roop@roopc.net>
Roopesh Chander [Thu, 27 Dec 2018 13:57:59 +0000 (19:27 +0530)]
iOS: Fix WireGuardNetworkExtensioniOS target
- Rename WireGuardNetworkExtension.entitlements to WireGuardNetworkExtension_iOS.entitlements
Signed-off-by: Roopesh Chander <roop@roopc.net>
Roopesh Chander [Thu, 27 Dec 2018 13:55:14 +0000 (19:25 +0530)]
iOS: Fix WireGuardiOS target
- Move Info.plist and entitlements to WireGuard/UI/iOS/
Signed-off-by: Roopesh Chander <roop@roopc.net>
Roopesh Chander [Thu, 27 Dec 2018 13:44:15 +0000 (19:14 +0530)]
macOS: Fix WireGuardmacOS target
- Include non-UI code from iOS while building
- Add run scripts
- Move files to WireGuard/UI/macOS
- Set Swift-Obj-C bridging header
Signed-off-by: Roopesh Chander <roop@roopc.net>
Roopesh Chander [Thu, 27 Dec 2018 12:11:54 +0000 (17:41 +0530)]
macOS: Fix WireGuardNetworkExtensionmacOS target
- Build using common network extension code
- Add run scripts
- Set Info.plist to common network extension's Info.plist
- Move entitlements to common network extension folder
- Remove Xcode-generated macOS network extension code
- Set Swift-Obj-C bridging header
Signed-off-by: Roopesh Chander <roop@roopc.net>
Roopesh Chander [Thu, 27 Dec 2018 10:32:09 +0000 (16:02 +0530)]
macOS: WireGuardNetworkExtensionmacOS depends on WireGuardGoBridgemacOS
Signed-off-by: Roopesh Chander <roop@roopc.net>
Roopesh Chander [Thu, 27 Dec 2018 10:14:49 +0000 (15:44 +0530)]
macOS: Add WireGuardNetworkExtensionmacOS target
Signed-off-by: Roopesh Chander <roop@roopc.net>
Roopesh Chander [Tue, 25 Dec 2018 13:03:28 +0000 (18:33 +0530)]
macOS: Add WireGuardmacOS target
Signed-off-by: Roopesh Chander <roop@roopc.net>
Roopesh Chander [Sat, 22 Dec 2018 12:47:52 +0000 (18:17 +0530)]
Xcode: Add WireGuardGoBridgemacOS target
Signed-off-by: Roopesh Chander <roop@roopc.net>
Roopesh Chander [Sat, 22 Dec 2018 13:45:39 +0000 (19:15 +0530)]
Move iOS images and storyboard into UI/iOS/ folder
Signed-off-by: Roopesh Chander <roop@roopc.net>
Roopesh Chander [Sat, 22 Dec 2018 12:46:43 +0000 (18:16 +0530)]
Xcode: Rename iOS targets to include an 'iOS' suffix
But keep the PRODUCT_NAME as 'WireGuard', not 'WireGuardiOS'.
Signed-off-by: Roopesh Chander <roop@roopc.net>
Roopesh Chander [Wed, 21 Nov 2018 14:05:47 +0000 (19:35 +0530)]
xcconfig: Make app id platform-specific
Signed-off-by: Roopesh Chander <roop@roopc.net>
Roopesh Chander [Sat, 22 Dec 2018 13:29:23 +0000 (18:59 +0530)]
On-Demand: Add support for macOS-specific values
Signed-off-by: Roopesh Chander <roop@roopc.net>
Roopesh Chander [Sat, 22 Dec 2018 11:47:51 +0000 (17:17 +0530)]
wireguard-go-bridge: Make CFLAGS_PREFIX work for macOS as well
For macOS, Xcode doesn't set DEPLOYMENT_TARGET_CLANG_FLAG_PREFIX,
but does set DEPLOYMENT_TARGET_CLANG_FLAG_NAME.
Signed-off-by: Roopesh Chander <roop@roopc.net>
Roopesh Chander [Sat, 22 Dec 2018 11:38:55 +0000 (17:08 +0530)]
import Foundation instead of UIKit wherever possible
Signed-off-by: Roopesh Chander <roop@roopc.net>
Jason A. Donenfeld [Tue, 8 Jan 2019 01:13:44 +0000 (02:13 +0100)]
Version bump
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
Jason A. Donenfeld [Tue, 8 Jan 2019 00:51:12 +0000 (01:51 +0100)]
PacketTunnelSettingsGenerator: use 127.0.0.1 as dummy address
It turns out that using 0.0.0.0 somehow conflicts with DNS lookups when
CLAT is in use.
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
Jason A. Donenfeld [Thu, 3 Jan 2019 18:24:30 +0000 (19:24 +0100)]
Avoid dynamic MTU calculations for now
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
Jason A. Donenfeld [Wed, 2 Jan 2019 00:56:33 +0000 (01:56 +0100)]
Update copyright
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
Jason A. Donenfeld [Fri, 28 Dec 2018 18:43:11 +0000 (19:43 +0100)]
Version bump
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
Jason A. Donenfeld [Fri, 28 Dec 2018 18:34:31 +0000 (19:34 +0100)]
Rework DNS and routes in network extension
The DNS resolver prior had useless comments, awful nesting, converted
bytes into strings and back into bytes, and generally made no sense.
That's been rewritten now.
But more fundumentally, this commit made the DNS resolver actually
accomplish its objective, by passing AI_ALL to it. It turns out, though,
that the Go library isn't actually using GAI in the way we need for
parsing IP addresses, so we actually need to do another round, this time
with hints flag as zero, so that we get the DNS64 address.
Additionally, since we're now binding sockets to interfaces, we can
entirely remove the excludedRoutes logic.
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
Jason A. Donenfeld [Wed, 26 Dec 2018 00:41:22 +0000 (01:41 +0100)]
Version bump
A Christmas Special, for TestFlight, and possibly for release if things
go well there.
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
Jason A. Donenfeld [Tue, 25 Dec 2018 21:38:32 +0000 (22:38 +0100)]
NetworkExtension: rescope socket instead of tearing down socket
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
Roopesh Chander [Tue, 25 Dec 2018 07:16:59 +0000 (12:46 +0530)]
minizip: Remove zip encryption code
We can now remove -DNOCRYPT cflag while compiling
Signed-off-by: Roopesh Chander <roop@roopc.net>
Roopesh Chander [Mon, 24 Dec 2018 07:28:35 +0000 (12:58 +0530)]
Tunnel edit: Fix crash
This fixes a crash that happens when you:
1. Scroll to the end of the Edit screen
2. Delete a peer
3. Toggle the Activate On Demand switch
Signed-off-by: Roopesh Chander <roop@roopc.net>
Eric Kuck [Sat, 22 Dec 2018 21:32:29 +0000 (15:32 -0600)]
SwitchCell nits
Signed-off-by: Eric Kuck <eric@bluelinelabs.com>
Eric Kuck [Sat, 22 Dec 2018 20:32:39 +0000 (14:32 -0600)]
Fix typo for simulator builds
Signed-off-by: Eric Kuck <eric@bluelinelabs.com>
Roopesh Chander [Sat, 22 Dec 2018 19:01:20 +0000 (00:31 +0530)]
Remove more comments
Signed-off-by: Roopesh Chander <roop@roopc.net>
Jason A. Donenfeld [Sat, 22 Dec 2018 17:29:05 +0000 (18:29 +0100)]
Rely on availability of fd only after setting network settings
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
Jason A. Donenfeld [Sat, 22 Dec 2018 16:38:25 +0000 (17:38 +0100)]
Bump to latest wireguard-go release
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
Jason A. Donenfeld [Sat, 22 Dec 2018 14:45:09 +0000 (15:45 +0100)]
Retain aggressive socket reestablishment for now
This can be reverted once we've done more testing.
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
Roopesh Chander [Sat, 22 Dec 2018 10:43:31 +0000 (16:13 +0530)]
Don't set username on NETunnelProviderProtocol
The username corresponds to the Account field in iOS system VPN UI,
but if we don't set it, the field is not shown, so setting it isn't
really required.
Signed-off-by: Roopesh Chander <roop@roopc.net>
Roopesh Chander [Sat, 22 Dec 2018 10:35:35 +0000 (16:05 +0530)]
TunnelErrors: Add alert text for PacketTunnelProviderError
Signed-off-by: Roopesh Chander <roop@roopc.net>
Roopesh Chander [Sat, 22 Dec 2018 10:16:28 +0000 (15:46 +0530)]
TunnelStatus: Absorb NEVPNStatus+CustomStringConvertible
Signed-off-by: Roopesh Chander <roop@roopc.net>
Jason A. Donenfeld [Sat, 22 Dec 2018 06:07:53 +0000 (07:07 +0100)]
Also refresh status
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
Jason A. Donenfeld [Sat, 22 Dec 2018 05:56:12 +0000 (06:56 +0100)]
Reassign tunnelProvider if it changes from outside the app
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
Eric Kuck [Sat, 22 Dec 2018 04:41:54 +0000 (22:41 -0600)]
All models now Equatable
Signed-off-by: Eric Kuck <eric@bluelinelabs.com>
Jason A. Donenfeld [Sat, 22 Dec 2018 04:30:35 +0000 (05:30 +0100)]
Clean up trailing whitespace
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
Jason A. Donenfeld [Sat, 22 Dec 2018 04:12:53 +0000 (05:12 +0100)]
Do not crash if we can't get socket.fileDescriptor
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
Eric Kuck [Sat, 22 Dec 2018 03:59:43 +0000 (21:59 -0600)]
Removing a tunnel from iOS's settings is now immediately reflected in app
Signed-off-by: Eric Kuck <eric@bluelinelabs.com>
Jason A. Donenfeld [Sat, 22 Dec 2018 02:41:54 +0000 (03:41 +0100)]
Localize remaining strings in network extension
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
Eric Kuck [Sat, 22 Dec 2018 02:37:22 +0000 (20:37 -0600)]
RTL support
Signed-off-by: Eric Kuck <eric@bluelinelabs.com>
Eric Kuck [Sat, 22 Dec 2018 01:52:51 +0000 (19:52 -0600)]
Strongly recommended now appears as placeholder for DNS when needed
Signed-off-by: Eric Kuck <eric@bluelinelabs.com>
Jason A. Donenfeld [Sat, 22 Dec 2018 01:21:07 +0000 (02:21 +0100)]
Combine double log invocations
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
Jason A. Donenfeld [Sat, 22 Dec 2018 00:58:02 +0000 (01:58 +0100)]
Bump go bridge
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
Jason A. Donenfeld [Sat, 22 Dec 2018 00:55:42 +0000 (01:55 +0100)]
Attempt to strongly recommend things
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
Jason A. Donenfeld [Sat, 22 Dec 2018 00:36:33 +0000 (01:36 +0100)]
Move model helpers to model directory
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
Eric Kuck [Sat, 22 Dec 2018 00:35:01 +0000 (18:35 -0600)]
Fixes mock tunnels
Signed-off-by: Eric Kuck <eric@bluelinelabs.com>
Jason A. Donenfeld [Sat, 22 Dec 2018 00:31:59 +0000 (01:31 +0100)]
Do not set copyable back to true on reuse
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
Jason A. Donenfeld [Fri, 21 Dec 2018 23:28:18 +0000 (00:28 +0100)]
Move name from interface to tunnel
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
Jason A. Donenfeld [Fri, 21 Dec 2018 22:43:11 +0000 (23:43 +0100)]
Fix paren typo
"I am very anti-paren." --Eric
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
Jason A. Donenfeld [Fri, 21 Dec 2018 22:34:56 +0000 (23:34 +0100)]
Nuke trailing spaces
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
Eric Kuck [Fri, 21 Dec 2018 21:16:09 +0000 (15:16 -0600)]
providerConfiguration is now a WgQuickConfig
Signed-off-by: Eric Kuck <eric@bluelinelabs.com>
Jason A. Donenfeld [Fri, 21 Dec 2018 21:05:47 +0000 (22:05 +0100)]
Do not require NetworkExtension to know its own name
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
Eric Kuck [Fri, 21 Dec 2018 18:51:14 +0000 (12:51 -0600)]
All migration stuff moved to one gross file
Signed-off-by: Eric Kuck <eric@bluelinelabs.com>
Jason A. Donenfeld [Fri, 21 Dec 2018 17:58:06 +0000 (18:58 +0100)]
Simplify versioning of stored data
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
Jason A. Donenfeld [Fri, 21 Dec 2018 17:50:32 +0000 (18:50 +0100)]
Get rid of superflous isActivateOnDemandEnabled key
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
Eric Kuck [Fri, 21 Dec 2018 04:52:45 +0000 (22:52 -0600)]
Updated NETunnelProvider save format
Signed-off-by: Eric Kuck <eric@bluelinelabs.com>
Jason A. Donenfeld [Fri, 21 Dec 2018 14:56:03 +0000 (15:56 +0100)]
NE: simplify logic
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
Roopesh Chander [Fri, 21 Dec 2018 13:53:16 +0000 (19:23 +0530)]
NE: Simplify DNS resolution
Signed-off-by: Roopesh Chander <roop@roopc.net>
Roopesh Chander [Tue, 18 Dec 2018 11:00:16 +0000 (16:30 +0530)]
Localize all the things
Signed-off-by: Roopesh Chander <roop@roopc.net>
Roopesh Chander [Fri, 21 Dec 2018 12:32:18 +0000 (18:02 +0530)]
Tunnel detail: iPad: Handle deletion of tunnel correctly
Signed-off-by: Roopesh Chander <roop@roopc.net>
Roopesh Chander [Fri, 21 Dec 2018 12:02:44 +0000 (17:32 +0530)]
NE: Update listen port only when first interface changes
When handling network path changes, change the listen port
only when the first interface has changed.
Signed-off-by: Roopesh Chander <roop@roopc.net>
Roopesh Chander [Fri, 21 Dec 2018 10:10:04 +0000 (15:40 +0530)]
NE: Change handling of bad domain names and Activate On Demand
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>
Eric Kuck [Thu, 20 Dec 2018 19:51:44 +0000 (13:51 -0600)]
Added missing param in MockTunnels
Signed-off-by: Eric Kuck <eric@bluelinelabs.com>
Jason A. Donenfeld [Thu, 20 Dec 2018 19:47:42 +0000 (20:47 +0100)]
wireguard-go-bridge: SDK_DIR is not defined for simulator
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
Eric Kuck [Thu, 20 Dec 2018 17:22:37 +0000 (11:22 -0600)]
Enabled more swiftlint rules
Signed-off-by: Eric Kuck <eric@bluelinelabs.com>
Eric Kuck [Thu, 20 Dec 2018 16:46:26 +0000 (10:46 -0600)]
Added a String->[String] helper
Signed-off-by: Eric Kuck <eric@bluelinelabs.com>
Roopesh Chander [Thu, 20 Dec 2018 12:57:56 +0000 (18:27 +0530)]
TunnelErrors: Remove unused error
Signed-off-by: Roopesh Chander <roop@roopc.net>
Roopesh Chander [Wed, 19 Dec 2018 11:00:34 +0000 (16:30 +0530)]
Tunnel edit: init() need not take a tunnelConfiguration argument
Signed-off-by: Roopesh Chander <roop@roopc.net>
Roopesh Chander [Wed, 19 Dec 2018 10:56:28 +0000 (16:26 +0530)]
NE: Log whether tunnel was activated from the app or not
Signed-off-by: Roopesh Chander <roop@roopc.net>
Roopesh Chander [Wed, 19 Dec 2018 10:53:29 +0000 (16:23 +0530)]
Remove non-helpful comments
Signed-off-by: Roopesh Chander <roop@roopc.net>
Roopesh Chander [Wed, 19 Dec 2018 10:53:14 +0000 (16:23 +0530)]
Tunnel edit: Fix comment
Signed-off-by: Roopesh Chander <roop@roopc.net>
Roopesh Chander [Wed, 19 Dec 2018 10:32:48 +0000 (16:02 +0530)]
TunnelsManager: If only Activate On Demand has changed, don't restart tunnel
Signed-off-by: Roopesh Chander <roop@roopc.net>
Roopesh Chander [Wed, 19 Dec 2018 10:08:00 +0000 (15:38 +0530)]
NE: Handle bad domain names and Activate On Demand
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>
Roopesh Chander [Wed, 19 Dec 2018 07:40:42 +0000 (13:10 +0530)]
NE: No need for two startTunnel() methods
Signed-off-by: Roopesh Chander <roop@roopc.net>
Roopesh Chander [Tue, 18 Dec 2018 14:15:00 +0000 (19:45 +0530)]
TunnelsManager: Handle waiting on a stale tunnel
If we have a stale tunnel on which we don't get status updates we rely
on a timer to update the status (see commit
34a7e5b ). Previously, if
the user tries to activate another tunnel, that resulted in both tunnels
waiting indefinitely. This commit fixes that.
Signed-off-by: Roopesh Chander <roop@roopc.net>
Roopesh Chander [Tue, 18 Dec 2018 14:33:27 +0000 (20:03 +0530)]
Remove buttons and text from LaunchScreen.storyboard
With state restoration, we're not guaranteed that the
list view will get shown immediately after the launch screen.
So, generalize the launch screen as much as possible.
Signed-off-by: Roopesh Chander <roop@roopc.net>
Roopesh Chander [Tue, 18 Dec 2018 14:30:01 +0000 (20:00 +0530)]
s/Observervation/Observation/g;
Signed-off-by: Roopesh Chander <roop@roopc.net>
Roopesh Chander [Tue, 18 Dec 2018 13:57:27 +0000 (19:27 +0530)]
Tunnel detail: Update restorationIdentifier when tunnel name changes
Signed-off-by: Roopesh Chander <roop@roopc.net>
Roopesh Chander [Tue, 18 Dec 2018 10:17:17 +0000 (15:47 +0530)]
TunnelsManager: Add periods to end the system error messages
Because they can be part of a multi-sentence message when displayed
in the alert.
Signed-off-by: Roopesh Chander <roop@roopc.net>
Roopesh Chander [Mon, 17 Dec 2018 13:26:26 +0000 (18:56 +0530)]
Error handling: Add info on the underlying system error to error alerts
Signed-off-by: Roopesh Chander <roop@roopc.net>
Jason A. Donenfeld [Mon, 17 Dec 2018 13:08:17 +0000 (14:08 +0100)]
Version bump
This is our first release to the real app store.
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
Eric Kuck [Mon, 17 Dec 2018 05:51:25 +0000 (23:51 -0600)]
Got TunnelsManager back under the max file length by splitting out NEVPNStatus+CustomStringConvertible
Signed-off-by: Eric Kuck <eric@bluelinelabs.com>
Eric Kuck [Mon, 17 Dec 2018 03:11:33 +0000 (21:11 -0600)]
Potential fix for insertRowAtIndexPath crash
Signed-off-by: Eric Kuck <eric@bluelinelabs.com>
Jason A. Donenfeld [Sun, 16 Dec 2018 23:23:11 +0000 (00:23 +0100)]
More proper way to get sdk root directory
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
Jason A. Donenfeld [Sun, 16 Dec 2018 02:47:05 +0000 (03:47 +0100)]
Further generalize makefile
This should allow us to eventually build on macOS
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
Jason A. Donenfeld [Sun, 16 Dec 2018 00:55:00 +0000 (01:55 +0100)]
Bump the go runtime
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
Jason A. Donenfeld [Sun, 16 Dec 2018 00:51:14 +0000 (01:51 +0100)]
Improve mock tunnels generation
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
Roopesh Chander [Sat, 15 Dec 2018 19:41:23 +0000 (01:11 +0530)]
Provide mock tunnels for the Simulator
To help in generation of screenshots for the App Store
Signed-off-by: Roopesh Chander <roop@roopc.net>
Jason A. Donenfeld [Sat, 15 Dec 2018 05:21:49 +0000 (06:21 +0100)]
Nuke duplicate file
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
Jason A. Donenfeld [Sat, 15 Dec 2018 05:13:33 +0000 (06:13 +0100)]
Bump the go runtime
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
Jason A. Donenfeld [Sat, 15 Dec 2018 04:08:31 +0000 (05:08 +0100)]
Version bump
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
Eric Kuck [Sat, 15 Dec 2018 03:48:48 +0000 (21:48 -0600)]
Fixed editable KeyValueCells being copyable
Fixed DNS servers not saving
Signed-off-by: Eric Kuck <eric@bluelinelabs.com>
Jason A. Donenfeld [Sat, 15 Dec 2018 03:42:11 +0000 (04:42 +0100)]
Fix confusing indentation
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>