Jason A. Donenfeld
0475efb37d
Version bump
2019-03-19 21:25:38 +01:00
Roopesh Chander
998e6e43bc
iOS: Delete confirmation prompt should be a question
2019-03-19 21:23:46 +01:00
Roopesh Chander
dbeb389d26
macOS: Add 'Deactivate' status menu item
2019-03-19 21:23:46 +01:00
Jason A. Donenfeld
19efbcf679
Version: CFBundleVersion must always increase for macOS app store
...
So we'll just start doing it like that, then.
2019-03-19 06:00:40 +01:00
Jason A. Donenfeld
0b5a36a4bf
Swiftlint: variable_name -> identifier_name
2019-03-18 22:26:13 -06:00
Jason A. Donenfeld
128a485eee
Version bump
2019-03-18 22:13:27 -06:00
Jason A. Donenfeld
e6f7b7e01e
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.
2019-03-18 22:13:27 -06:00
Roopesh Chander
4eeb4696f8
iOS: Consolidate all showConfirmationAlert()s into one place
2019-03-18 14:54:05 -06:00
Roopesh Chander
2dcb23a998
iOS: Tunnels list: Ability to remove multiple tunnels at a time
2019-03-18 14:54:05 -06:00
Roopesh Chander
42d7641b98
iOS: Tunnel edit: Add missing enum values
2019-03-18 14:54:05 -06:00
Roopesh Chander
36f7340daa
macOS: ButtonedDetailViewController: Set min dimensions
2019-03-19 01:28:52 +05:30
Jason A. Donenfeld
2e86e5ac35
ringlogger: document races
2019-03-18 12:50:00 -06:00
Roopesh Chander
2a7dcac258
macOS: Tunnels list: Double-click to activate / deactivate
2019-03-18 12:03:41 +05:30
Roopesh Chander
6766644d80
macOS: Tunnels list: Don't allow empty selection
2019-03-18 12:03:41 +05:30
Roopesh Chander
b1c731f8d7
on-demand: macOS: Remove unused class ControlRow
2019-03-18 06:46:56 +01:00
Roopesh Chander
094ab4fed7
on-demand: macOS: Integrate Ethernet and Wi-Fi controls in one row
2019-03-18 06:46:56 +01:00
Roopesh Chander
f8c1837f1e
on-demand: View model should account for isActivateOnDemandEnabled
...
This is needed to correctly handle NETunnelProviderManager's
isOnDemandEnabled property getting changed outside of the app.
2019-03-18 06:46:56 +01:00
Roopesh Chander
75f4272fc0
on-demand: macOS: Disable SSIDs field when adding a tunnel
...
It shouldn't be editable when the VPN prompt is shown.
2019-03-18 06:46:56 +01:00
Roopesh Chander
bb82004d5c
on-demand: iOS: Disable selection in SSID detail table view
2019-03-18 06:46:56 +01:00
Roopesh Chander
255d53db35
on-demand: macOS: Remove unused class PopupRow
2019-03-18 06:46:56 +01:00
Roopesh Chander
c01964de4f
on-demand: macOS: Auto-complete SSIDs based on currently connected SSID
2019-03-18 06:46:56 +01:00
Roopesh Chander
1333f6dc42
on-demand: iOS: Change wording for add-SSIDs rows
2019-03-18 06:46:56 +01:00
Roopesh Chander
9193437067
on-demand: "Only selected SSIDs" -> "Only these SSIDs"
2019-03-18 06:46:56 +01:00
Roopesh Chander
986c5d3741
on-demand: macOS: Tunnel detail: List SSIDs
2019-03-18 06:46:55 +01:00
Roopesh Chander
a876386c05
on-demand: iOS: Only n SSIDs / Except m SSIDs
2019-03-18 06:46:55 +01:00
Roopesh Chander
0e04f5d337
on-demand: iOS: Show list of SSIDs in a separate screen
2019-03-18 06:46:55 +01:00
Roopesh Chander
d85717785c
on-demand: iOS: SSIDs view: Always show the selected SSIDs section
2019-03-18 06:46:55 +01:00
Roopesh Chander
8c3fcc6aee
on-demand: Remove ActivateOnDemandSetting type
...
The ActivateOnDemandOption type shall be used instead
2019-03-18 06:46:55 +01:00
Roopesh Chander
49fb621a7a
on-demand: TunnelViewModel: Remove unused on-demand-related methods
2019-03-18 06:46:55 +01:00
Roopesh Chander
0335753cb7
on-demand: macOS: Tunnel detail: Show SSID info
2019-03-18 06:46:55 +01:00
Roopesh Chander
31b22f579c
on-demand: iOS: Update on-demand info shown in tunnel edit view
2019-03-18 06:46:55 +01:00
Roopesh Chander
5be8d2f069
on-demand: ActivateOnDemandViewModel: Uniquify SSIDs list
...
And if SSIDs list is empty, fall back to .anySSID option
2019-03-18 06:46:55 +01:00
Roopesh Chander
8c1c490da2
on-demand: macOS: Support SSIDs in on demand activation
2019-03-18 06:46:55 +01:00
Roopesh Chander
583fb3ca7d
on-demand: iOS: Tunnel detail: Show SSID info
2019-03-18 06:46:55 +01:00
Roopesh Chander
a2e5166779
on-demand: iOS: Add ability to add current SSID
2019-03-18 06:46:55 +01:00
Roopesh Chander
8cc973cdac
on-demand: iOS: Xcode: Add ability to access current SSID
2019-03-18 06:46:55 +01:00
Roopesh Chander
8ef69cd82d
on-demand: iOS: Support for SSIDs
2019-03-18 06:46:55 +01:00
Roopesh Chander
008975de06
on-demand: Introducing ActivateOnDemandViewModel
2019-03-18 06:46:55 +01:00
Roopesh Chander
3b2281113a
on-demand: Infrastructure for supporting SSID-based rules
2019-03-18 06:46:55 +01:00
Roopesh Chander
94ba22945e
on-demand: Simplify OS-specific code for interface type selection
...
Previously, the enum values themselves were different for iOS and macOS.
With this commit, the enum values are common, and only how they're handled
is specific to iOS and macOS.
2019-03-18 06:46:55 +01:00
Roopesh Chander
7610dc94d4
macOS: Localize tooltips
2019-03-18 06:46:55 +01:00
Roopesh Chander
1fdc8eb13a
macOS: Tunnel detail: Make the Activate button part of the list view
2019-03-18 06:46:55 +01:00
Roopesh Chander
9622128a80
macOS: Nullify observationToken on prepareForReuse()
2019-03-18 06:46:55 +01:00
Jason A. Donenfeld
fad463d449
TunnelName: sort correctly with numbers and capitals
2019-03-18 06:46:55 +01:00
Jason A. Donenfeld
5716e3fb50
ringlogger: support mpsc for singlefile
2019-03-17 08:51:27 +01:00
Roopesh Chander
73a3029046
macOS: Tunnel detail: Activate / Deactivate is now a button
2019-03-17 02:27:46 +05:30
Roopesh Chander
9b05678bdd
macOS: Tunnel detail: Show the status in the list view
2019-03-17 02:27:46 +05:30
Roopesh Chander
62b03272ee
macOS: KeyValueImageRow class
2019-03-17 02:27:46 +05:30
Jason A. Donenfeld
1d768d4e9d
wg-quick parser: trim \r as well
...
The influx of Windows users has already begun to infect our nice
project.
Reported-by: Cosku Bas <cosku.bas@gmail.com>
2019-03-11 14:05:16 -06:00
Roopesh Chander
ce291d54a1
TunnelsManager: Don't restart if only on-demand setting has changed
2019-03-11 13:20:21 +05:30
Roopesh Chander
9c71d63254
macOS: Ability to remove multiple tunnels at a time
2019-03-10 20:02:19 +05:30
Roopesh Chander
8648f80877
TunnelsManager: Support for removing multiple tunnels at a time
2019-03-10 19:43:27 +05:30
Roopesh Chander
047da7911c
macOS: Generalize NoTunnelsDetailVC into a ButtonedDetailVC
2019-03-10 19:22:33 +05:30
Roopesh Chander
a836bcbe74
Importing: Only the main thread shall access lastFileImportErrorText
2019-03-05 16:11:57 +05:30
Roopesh Chander
f49bfbee48
Importing: Make use of lastError returned from TunnelsManager.addMultiple()
2019-03-05 16:11:41 +05:30
Roopesh Chander
415e1e7c0c
TunnelsManager: addMultiple() should also return the last error
2019-03-05 15:29:28 +05:30
Roopesh Chander
4e476dadb3
Importing: Simplify TunnelImporter
2019-03-04 14:13:49 +05:30
Roopesh Chander
c33563f848
Importing: macOS: Support importing of multiple files at a time
2019-02-25 18:43:20 +05:30
Roopesh Chander
d3299ef94e
Importing: Use case-insensitive comparison for zip extension
2019-02-25 16:21:29 +05:30
Roopesh Chander
1da882785e
iOS: Hack to restart active tunnel after adding a new tunnel
2019-02-24 19:30:14 +05:30
Roopesh Chander
4b8f2ff235
Importing: Show OS error when unable to open a .conf file
2019-02-24 16:50:57 +05:30
Roopesh Chander
e86c0d239a
macOS: Tunnel edit: Disable user interaction when OS VPN prompt is shown
2019-02-24 16:06:37 +05:30
Roopesh Chander
e8c81904db
macOS: Tunnel edit: s/populateTextFields()/populateFields()/g;
2019-02-24 15:14:35 +05:30
Roopesh Chander
255645bdf0
macOS: When programmatically selecting a tunnel, also scroll if required
2019-02-22 18:18:53 +05:30
Roopesh Chander
100fc4b855
macOS: Replace NSSegmentedControl with NSPopUpButton and NSButton
...
Thereby avoiding the hacky way of showing the menus.
2019-02-22 17:59:41 +05:30
Roopesh Chander
e6c146f8c7
Importing: Give a clearer error message on importing an invalid config
2019-02-22 13:03:53 +05:30
Roopesh Chander
926a2fa401
macOS: Show 'quitting with active tunnel' only when appropriate
...
Not when logging off or when the machine's shutting down
2019-02-22 13:03:53 +05:30
Roopesh Chander
0862faa3b7
macOS: Fix removal of DNSes from AllowedIPs when DNS has changed
2019-02-21 18:17:28 +05:30
Roopesh Chander
b787ed9f5a
iOS: On changing DNS, update AllowedIPs with the current DNS servers
2019-02-21 17:57:13 +05:30
Roopesh Chander
e5e5418307
macOS: On saving, update AllowedIPs with the current DNS servers
2019-02-21 17:57:13 +05:30
Roopesh Chander
24141baa66
Importing: Better error message when .conf file is not readable
2019-02-21 17:57:13 +05:30
Jason A. Donenfeld
e6d62f334a
macOS: Specify crypto compliance
2019-02-19 16:12:33 +01:00
Roopesh Chander
9cfdbfa1a2
TunnelViewModel: Remove DNS from AllowedIPs when unchecking 'Exclude private IPs'
2019-02-16 19:57:31 +05:30
Roopesh Chander
226911715c
macOS: Exclude private IPs
2019-02-16 18:25:17 +05:30
Roopesh Chander
549f5de700
TunnelViewModel: Minor refactoring of exclude private IPs handling
2019-02-16 17:35:33 +05:30
Jason A. Donenfeld
2a4e4e798a
ConfTextStorage: lowercase only once
...
Also fix submodule regression.
2019-02-16 17:18:10 +05:30
Roopesh Chander
89c108d00f
ConfTextStorage: Let's keep the AllowedIPs and DNS servers as strings
2019-02-16 01:20:11 +05:30
Roopesh Chander
0e124746d9
ConfTextStorage: Make fieldType an enum
2019-02-16 00:26:49 +05:30
Jason A. Donenfeld
da3b9d8077
ConfTextStorage: keep track of single peer state for exclude private IPs
2019-02-15 19:44:06 +01:00
Roopesh Chander
eb683ce18c
macOS: Tunnel detail: Set min width/height
2019-02-15 15:44:11 +05:30
Roopesh Chander
5eaef2f573
macOS: Tunnels list: Use constant width for the table view
2019-02-15 15:40:12 +05:30
Jason A. Donenfeld
40250bfbab
macOS: Show privacy notice on adding first tunnel
...
App store reviewers don't understand that this isn't a service.
Revert this as soon as they come to their senses.
2019-02-15 01:14:14 +01:00
Jason A. Donenfeld
429af207c7
Version bump
2019-02-14 23:07:06 +01:00
Roopesh Chander
9c0e001265
Preshared key field in the detail view should just say 'enabled'
2019-02-12 19:30:59 +05:30
Roopesh Chander
74f55febab
Log migration of tunnel configuration
2019-02-12 19:17:32 +05:30
Roopesh Chander
70923d9c87
Migrate when we notice a new tunnel in reload()
2019-02-12 17:43:40 +05:30
Roopesh Chander
078780a3ba
Don't migrate in asTunnelConfiguration()
...
It causes problems when installing a tunnel through a
Configuration Profile on macOS and activating it first through
Network Preferences.
2019-02-12 17:37:27 +05:30
Roopesh Chander
e49e20ca51
Info.plist: Localize with InfoPlist.strings
2019-02-11 16:08:55 +05:30
Roopesh Chander
ee80eb7614
macOS: Change keyboard shortcut for importing to Cmd+O
2019-02-10 17:55:50 +05:30
Roopesh Chander
10ca25e60f
macOS: Adapt to the new applyConfiguration API
2019-02-10 03:35:24 +05:30
Roopesh Chander
aea253a6e9
iOS: Rewrite applying runtime configuration
...
To make scrolling smoother while the fields are modified
2019-02-10 03:35:24 +05:30
Roopesh Chander
3355019408
Importing: Ignore case in matching file extensions inside zip files
2019-02-09 19:42:50 +05:30
Roopesh Chander
7cee9608d9
TunnelsManager: No need to access tunnelConfiguration on status change
2019-02-09 19:42:50 +05:30
Jason A. Donenfeld
36ccb5883d
Version bump
2019-02-08 17:32:38 +01:00
Roopesh Chander
3cea15f6f2
Fix writing of preshared key to config format
2019-02-09 14:57:24 +05:30
Jason A. Donenfeld
80f48aec81
Project: don't embed swift binaries into appex
...
Otherwise we're rejected from the app store.
2019-02-08 17:26:05 +01:00
Jason A. Donenfeld
6134817b23
Global: fix swiftlint issues
2019-02-08 17:07:28 +01:00
Jason A. Donenfeld
98866b323b
KeyEncoding: rename file to match extension filename style
2019-02-08 16:15:10 +01:00
Jason A. Donenfeld
9852a75f01
Key: we already do len checking in C
2019-02-08 14:39:59 +01:00
Jason A. Donenfeld
657915e931
Info.plist: Add missing key types
...
I worry that LSMinimumSystemVersion in the extension's plist might be
problematic, since that same plist runs on macOS and iOS. We _might_
need to bifurcate.
2019-02-08 03:47:36 +01:00