Roopesh Chander
4c1b2e1258
TunnelsManager: Fix comparing tunnels with tunnelProviders in reload()
...
Signed-off-by: Roopesh Chander <roop@roopc.net>
2019-04-05 13:43:08 +05:30
Roopesh Chander
3bd611aa7c
TunnelsManager: Cache isTunnelConfigurationAvailableInKeychain
...
Signed-off-by: Roopesh Chander <roop@roopc.net>
2019-04-05 13:29:17 +05:30
Roopesh Chander
adbe0b065e
macOS: Attempt to remove keychain item only if verified
...
Signed-off-by: Roopesh Chander <roop@roopc.net>
2019-04-04 15:29:25 +05:30
Roopesh Chander
6015661beb
macOS: Simplify reusing of the detail VC when applicable
...
Signed-off-by: Roopesh Chander <roop@roopc.net>
2019-04-04 12:24:32 +05:30
Roopesh Chander
6e6a6b88fb
macOS: Hide other-user tunnels in the status menu
...
Signed-off-by: Roopesh Chander <roop@roopc.net>
2019-04-03 19:18:53 +05:30
Roopesh Chander
9690365dd4
macOS: Better handling of tunnels created by another user
...
Previously, the tunnels just got deleted.
Signed-off-by: Roopesh Chander <roop@roopc.net>
2019-04-03 19:04:12 +05:30
Roopesh Chander
0299c3929e
iOS: Log view: Make log text selectable
...
Signed-off-by: Roopesh Chander <roop@roopc.net>
2019-04-01 23:29:15 +05:30
Roopesh Chander
0043233872
macOS: Log view: Fix autoscroll to end of log
...
Looks like the tableview doesn't know how much to scroll to get to the
end when we use usesAutomaticRowHeights. So we wait for the tableview
to realize its frame has changed and then scroll to the bottom of the
frame explicitly.
Also, we keep track of whether the scroll view is scrolled to the end or
not every time scrolling happens, not just when we add log entries to
the table.
Signed-off-by: Roopesh Chander <roop@roopc.net>
2019-04-01 23:07:48 +05:30
Roopesh Chander
a74dd24578
macOS: Bring app to front before 'exiting with an active tunnel' alert
...
Signed-off-by: Roopesh Chander <roop@roopc.net>
2019-03-29 00:17:37 +05:30
Roopesh Chander
dd9506ecee
macOS: If a sheet is being shown, ignore quit and bring window to front
...
Otherwise, the 'exiting with an active tunnel' alert could get queued up
to be shown after the current sheet is dismissed.
Signed-off-by: Roopesh Chander <roop@roopc.net>
2019-03-29 00:17:37 +05:30
Roopesh Chander
f83f159f97
macOS: Log view: No need to disable Close button
...
Signed-off-by: Roopesh Chander <roop@roopc.net>
2019-03-28 19:32:58 +05:30
Roopesh Chander
6175de0438
iOS: Ability to view the log
...
Signed-off-by: Roopesh Chander <roop@roopc.net>
2019-03-28 19:28:27 +05:30
Roopesh Chander
bd61be52e6
iOS: Xcode: Minor project rearrangement
...
Signed-off-by: Roopesh Chander <roop@roopc.net>
2019-03-28 14:10:42 +05:30
Roopesh Chander
909f88be70
macOS: Ability to view the log
...
Signed-off-by: Roopesh Chander <roop@roopc.net>
2019-03-28 13:57:06 +05:30
Roopesh Chander
b7c3bd0d8c
Add LogViewHelper
...
Signed-off-by: Roopesh Chander <roop@roopc.net>
2019-03-27 17:55:52 +05:30
Roopesh Chander
4237ab4a6f
macOS: Syntax highlighter: Free spans array
...
Signed-off-by: Roopesh Chander <roop@roopc.net>
2019-03-22 17:53:34 +05:30
Roopesh Chander
0fcaf6debb
macOS: Hide exclude private IPs when PrivateKey / PublicKey is missing
...
Signed-off-by: Roopesh Chander <roop@roopc.net>
2019-03-22 16:00:45 +05:30
Roopesh Chander
dbd5ea1ff0
macOS: Syntax highlighter: Swift can bridge c strings automatically
...
Signed-off-by: Roopesh Chander <roop@roopc.net>
2019-03-22 15:31:02 +05:30
Roopesh Chander
9afe230c10
macOS: On Add new, Exclude Private IPs should remain hidden
...
because there aren't any peers in the bootstrapped config.
Signed-off-by: Roopesh Chander <roop@roopc.net>
2019-03-22 15:15:26 +05:30
Roopesh Chander
4bdfbb518e
Xcode: iOS: Remove armv7 as 'Required device capabilities'
...
Signed-off-by: Roopesh Chander <roop@roopc.net>
2019-03-20 14:23:56 +05:30
Jason A. Donenfeld
fbe101eabb
macOS: Privacy notice is provided by system dialogs
...
So it really doesn't make sense to add our own. This causes several
popups when trying to add a tunnel, which is madness.
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2019-03-20 04:24:23 +01:00
Jason A. Donenfeld
cda3170970
macOS: Login item: Add a simple login item
...
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2019-03-19 21:15:38 -06:00
Jason A. Donenfeld
a5e7c3906b
Version bump
...
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2019-03-19 21:25:38 +01:00
Roopesh Chander
5f8843e247
iOS: Delete confirmation prompt should be a question
...
Signed-off-by: Roopesh Chander <roop@roopc.net>
2019-03-19 21:23:46 +01:00
Roopesh Chander
7a3f65fd2f
macOS: Add 'Deactivate' status menu item
...
Signed-off-by: Roopesh Chander <roop@roopc.net>
2019-03-19 21:23:46 +01:00
Jason A. Donenfeld
dca0fb29f6
Version: CFBundleVersion must always increase for macOS app store
...
So we'll just start doing it like that, then.
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2019-03-19 06:00:40 +01:00
Jason A. Donenfeld
af9c800af8
Swiftlint: variable_name -> identifier_name
...
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2019-03-18 22:26:13 -06:00
Jason A. Donenfeld
a9b925c69b
Version bump
...
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2019-03-18 22:13:27 -06:00
Jason A. Donenfeld
f93f9d62f4
macos: TunnelsList: set allowsEmptySelection after making initial selection
...
Otherwise we never get the event that the selection changed, so we don't
wind up showing anything in the details pane.
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2019-03-18 22:13:27 -06:00
Roopesh Chander
fc163fc9ff
iOS: Consolidate all showConfirmationAlert()s into one place
...
Signed-off-by: Roopesh Chander <roop@roopc.net>
2019-03-18 14:54:05 -06:00
Roopesh Chander
adc5a7cac2
iOS: Tunnels list: Ability to remove multiple tunnels at a time
...
Signed-off-by: Roopesh Chander <roop@roopc.net>
2019-03-18 14:54:05 -06:00
Roopesh Chander
0dd22ca45a
iOS: Tunnel edit: Add missing enum values
...
Signed-off-by: Roopesh Chander <roop@roopc.net>
2019-03-18 14:54:05 -06:00
Roopesh Chander
bca9fead5e
macOS: ButtonedDetailViewController: Set min dimensions
...
Signed-off-by: Roopesh Chander <roop@roopc.net>
2019-03-19 01:28:52 +05:30
Jason A. Donenfeld
51822f722a
ringlogger: document races
...
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2019-03-18 12:50:00 -06:00
Roopesh Chander
121d223229
macOS: Tunnels list: Double-click to activate / deactivate
...
Signed-off-by: Roopesh Chander <roop@roopc.net>
2019-03-18 12:03:41 +05:30
Roopesh Chander
439fb6bbac
macOS: Tunnels list: Don't allow empty selection
...
Signed-off-by: Roopesh Chander <roop@roopc.net>
2019-03-18 12:03:41 +05:30
Roopesh Chander
9c8231dcf7
on-demand: macOS: Remove unused class ControlRow
...
Signed-off-by: Roopesh Chander <roop@roopc.net>
2019-03-18 06:46:56 +01:00
Roopesh Chander
0440c4a33a
on-demand: macOS: Integrate Ethernet and Wi-Fi controls in one row
...
Signed-off-by: Roopesh Chander <roop@roopc.net>
2019-03-18 06:46:56 +01:00
Roopesh Chander
01be43aa7a
on-demand: View model should account for isActivateOnDemandEnabled
...
This is needed to correctly handle NETunnelProviderManager's
isOnDemandEnabled property getting changed outside of the app.
Signed-off-by: Roopesh Chander <roop@roopc.net>
2019-03-18 06:46:56 +01:00
Roopesh Chander
e29c6900e5
on-demand: macOS: Disable SSIDs field when adding a tunnel
...
It shouldn't be editable when the VPN prompt is shown.
Signed-off-by: Roopesh Chander <roop@roopc.net>
2019-03-18 06:46:56 +01:00
Roopesh Chander
a334c25aff
on-demand: iOS: Disable selection in SSID detail table view
...
Signed-off-by: Roopesh Chander <roop@roopc.net>
2019-03-18 06:46:56 +01:00
Roopesh Chander
f56b2ad968
on-demand: macOS: Remove unused class PopupRow
...
Signed-off-by: Roopesh Chander <roop@roopc.net>
2019-03-18 06:46:56 +01:00
Roopesh Chander
503ac6c8a2
on-demand: macOS: Auto-complete SSIDs based on currently connected SSID
...
Signed-off-by: Roopesh Chander <roop@roopc.net>
2019-03-18 06:46:56 +01:00
Roopesh Chander
5f30e021ef
on-demand: iOS: Change wording for add-SSIDs rows
...
Signed-off-by: Roopesh Chander <roop@roopc.net>
2019-03-18 06:46:56 +01:00
Roopesh Chander
d748382fce
on-demand: "Only selected SSIDs" -> "Only these SSIDs"
...
Signed-off-by: Roopesh Chander <roop@roopc.net>
2019-03-18 06:46:56 +01:00
Roopesh Chander
63299a2752
on-demand: macOS: Tunnel detail: List SSIDs
...
Signed-off-by: Roopesh Chander <roop@roopc.net>
2019-03-18 06:46:55 +01:00
Roopesh Chander
b7f8f74b56
on-demand: iOS: Only n SSIDs / Except m SSIDs
...
Signed-off-by: Roopesh Chander <roop@roopc.net>
2019-03-18 06:46:55 +01:00
Roopesh Chander
8e5a9215de
on-demand: iOS: Show list of SSIDs in a separate screen
...
Signed-off-by: Roopesh Chander <roop@roopc.net>
2019-03-18 06:46:55 +01:00
Roopesh Chander
64925cab89
on-demand: iOS: SSIDs view: Always show the selected SSIDs section
...
Signed-off-by: Roopesh Chander <roop@roopc.net>
2019-03-18 06:46:55 +01:00
Roopesh Chander
062b4d4b16
on-demand: Remove ActivateOnDemandSetting type
...
The ActivateOnDemandOption type shall be used instead
Signed-off-by: Roopesh Chander <roop@roopc.net>
2019-03-18 06:46:55 +01:00