Roopesh Chander
8e1bcd3c04
Swift 5 migration: Make use of Result type
2019-04-21 17:51:42 +05:30
Roopesh Chander
43024dfcbb
Swift 5 migration: Handle changes in Data's pointer interface
2019-04-09 11:25:04 +05:30
Roopesh Chander
283462dc9b
Swift 5 migration: Fix switch warnings
...
We now get a warning when switching over enums from system
frameworks even when we handle all public cases because
there can be future cases that aren't handled.
When such a future case is introduced, we'll get a warning.
2019-04-09 11:25:04 +05:30
Roopesh Chander
8bbf4e084a
TunnelsManager: When setting a config, also set isAvailable cache
2019-04-06 00:26:06 +05:30
Roopesh Chander
740350bed5
TunnelsManager: Fix comparing tunnels with tunnelProviders in reload()
2019-04-05 13:43:08 +05:30
Roopesh Chander
3a10eb0748
TunnelsManager: Cache isTunnelConfigurationAvailableInKeychain
2019-04-05 13:29:17 +05:30
Roopesh Chander
d8d18fcb3d
macOS: Attempt to remove keychain item only if verified
2019-04-04 15:29:25 +05:30
Roopesh Chander
fb4dca6018
macOS: Better handling of tunnels created by another user
...
Previously, the tunnels just got deleted.
2019-04-03 19:04:12 +05:30
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
8ef69cd82d
on-demand: iOS: Support for SSIDs
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
Jason A. Donenfeld
fad463d449
TunnelName: sort correctly with numbers and capitals
2019-03-18 06:46:55 +01: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
8648f80877
TunnelsManager: Support for removing multiple tunnels at a time
2019-03-10 19:43:27 +05:30
Roopesh Chander
415e1e7c0c
TunnelsManager: addMultiple() should also return the last error
2019-03-05 15:29:28 +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
70923d9c87
Migrate when we notice a new tunnel in reload()
2019-02-12 17:43:40 +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
6134817b23
Global: fix swiftlint issues
2019-02-08 17:07:28 +01:00
Jason A. Donenfeld
e2c717212b
Key: Constant time encoding
2019-02-08 03:23:15 +01:00
Roopesh Chander
443ecb1e20
TunnelsManager: Ignore status changes on tunnel providers we don't have
2019-02-08 04:40:11 +05:30
Roopesh Chander
fd40b3adb8
TunnelsManager: Don't lose .restarting state
2019-02-08 02:34:30 +05:30
Roopesh Chander
9111b2723f
TunnelsManager: Log startDeactivation calls
2019-02-08 02:34:29 +05:30
Jason A. Donenfeld
2d761b4a00
PacketTunnelProvider: proper fix for 32073323
2019-02-07 15:01:37 +01:00
Roopesh Chander
af026c106e
TunnelsManager: When creating/modifying a tunnel, update the associated object
2019-02-07 18:18:04 +05:30
Jason A. Donenfeld
0407d41005
Keychain: store configurations in keychain instead of providerConfig
2019-02-06 06:20:23 +01:00
Jason A. Donenfeld
bcd475e0bc
TunnelsManager: cache access to configuration object
...
Supposedly we never change it once per object, so we do the objective C
hack of adding it cached to the extension. This prevents 1000s of calls
to the keychain and improves the speed of imports.
2019-02-06 01:52:31 +01:00
Jason A. Donenfeld
d2556d045d
TunnelsManager: Wait for 6 seconds on deactivation instead of 5
2019-02-06 01:52:31 +01:00
Roopesh Chander
60f1fee6e7
Configure timers to fire even when tracking mouse events
2019-01-31 17:04:34 +05:30
Roopesh Chander
df7bdc0baa
TunnelsManager: Invoke reload() in a subsequent runloop
2019-01-26 14:31:42 +05:30
Roopesh Chander
0c9380fe4e
macOS: Delay .deactivated status to workaround system bug
...
For some time after it's connection status becomes .disconnected,
if a tunnel gets started, it gets automatically killed by the system
after ~25 seconds.
2019-01-26 14:25:38 +05:30
Roopesh Chander
e8c644dfdf
macOS: Select the active tunnel when showing the manage tunnels window
2019-01-24 18:35:11 +05:30
Roopesh Chander
a099d6fa26
TunnelsManager: func tunnelInOperation()
2019-01-24 18:11:26 +05:30
Jason A. Donenfeld
fef3e80472
Tunnel: support getting runtime configuration
2019-01-24 01:37:57 +01:00
Roopesh Chander
d272cc2ab3
iOS: Fix stale tunnel being shown on iPad
...
When the detail view is shown in the iPad and we delete
the current tunnel with a list view swipe rather than the delete button,
the detail view should go blank.
2019-01-23 16:11:55 +05:30
Roopesh Chander
b6ad3f39e0
macOS: reload: Iterate in reverse
2019-01-22 20:06:52 +05:30
Jason A. Donenfeld
5ddb81b654
TunnelsManager: refresh status after replacing insides
2019-01-22 15:35:14 +01:00
Jason A. Donenfeld
465b9037ba
TunnelsManager: use new helper
2019-01-22 15:20:57 +01:00
Roopesh Chander
c477f721fb
macOS: Handle tunnel deletions outside the app
2019-01-22 19:30:21 +05:30
Roopesh Chander
ca827d2d10
Better os() directives
2019-01-22 04:06:37 +05:30
Roopesh Chander
02dbb4f94d
TunnelsManager: Remove unused variable
2019-01-18 09:32:49 +01:00
Roopesh Chander
b6d159ac96
macOS: Different status bar icon looks for different states
...
- Looks dimmed when no tunnel is active
- Looks normal when a tunnel is active
- Animates when a tunnel is activating
2019-01-16 01:26:10 +05:30
Roopesh Chander
1d5b04c822
On-Demand: Add support for macOS-specific values
2019-01-14 14:52:26 +05:30
Jason A. Donenfeld
7bf3d7b09d
Update copyright
2019-01-07 19:23:39 -05:00
Eric Kuck
89fd494291
Fix typo for simulator builds
2018-12-22 14:32:39 -06:00
Roopesh Chander
09a96ec2a8
TunnelErrors: Add alert text for PacketTunnelProviderError
2018-12-22 16:05:43 +05:30
Roopesh Chander
baf99733f5
TunnelStatus: Absorb NEVPNStatus+CustomStringConvertible
2018-12-22 15:46:28 +05:30
Jason A. Donenfeld
08daec71aa
Also refresh status
2018-12-22 07:07:53 +01:00
Jason A. Donenfeld
470da3ffcc
Reassign tunnelProvider if it changes from outside the app
2018-12-22 06:56:12 +01:00