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
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
74f55febab
Log migration of tunnel configuration
2019-02-12 19:17:32 +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
3cea15f6f2
Fix writing of preshared key to config format
2019-02-09 14:57:24 +05:30
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
7ebf36d0f4
Key: Use C implementation instead
...
Swift compiles so slowly and it's unclear all of the insane type punning
was even correct.
2019-02-08 03:23:15 +01:00
Jason A. Donenfeld
e2c717212b
Key: Constant time encoding
2019-02-08 03:23:15 +01:00
Jason A. Donenfeld
c005893fe7
PrivateDataConfirmation: prompt with touch/face/pin/password ID for viewing/exporting keys
2019-02-06 06:20:23 +01:00
Jason A. Donenfeld
30576a1fe6
LegacyConfig: Remove and support plaintext for .mobileconfig
2019-02-06 06:20:23 +01:00
Jason A. Donenfeld
0407d41005
Keychain: store configurations in keychain instead of providerConfig
2019-02-06 06:20:23 +01:00
Roopesh Chander
4ac1437c4b
wg-quick conf parser: Handle inline comments correctly
2019-02-05 16:45:32 +05:30
Roopesh Chander
e95cb6e6bd
Config file parsing: Fix bug when there are comments at the end
2019-01-24 16:23:07 +05:30
Jason A. Donenfeld
fef3e80472
Tunnel: support getting runtime configuration
2019-01-24 01:37:57 +01:00
Roopesh Chander
728b3ef61f
Parsing: Always error on unrecognized keys
2019-01-14 14:52:34 +05:30
Roopesh Chander
bc9f050d7f
Parsing: Error on duplicate entries
2019-01-14 14:52:34 +05:30
Roopesh Chander
309d06217f
macOS: Refactor config file parsing
...
- To report more fine grained errors
- To make the parse errors conform to WireGuardAppError
2019-01-14 14:52:34 +05:30
Jason A. Donenfeld
7bf3d7b09d
Update copyright
2019-01-07 19:23:39 -05:00
Roopesh Chander
2e37d511db
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.
2018-12-22 16:13:31 +05:30
Eric Kuck
8fb8d9a9d2
All models now Equatable
2018-12-21 22:57:17 -06:00
Jason A. Donenfeld
0b2d91a7f4
Localize remaining strings in network extension
2018-12-22 03:42:01 +01:00
Jason A. Donenfeld
30cf9a1d1d
Move model helpers to model directory
2018-12-22 01:36:42 +01:00
Jason A. Donenfeld
e1c3d9b57a
Move name from interface to tunnel
2018-12-22 00:28:18 +01:00
Jason A. Donenfeld
775e174967
Nuke trailing spaces
2018-12-21 23:34:56 +01:00
Eric Kuck
c62c56da13
providerConfiguration is now a WgQuickConfig
2018-12-21 16:32:08 -06:00
Eric Kuck
d7a27426e9
All migration stuff moved to one gross file
2018-12-21 12:51:14 -06:00
Eric Kuck
f39893685f
Updated NETunnelProvider save format
2018-12-21 16:42:16 +01:00
Roopesh Chander
8f46713b0d
Remove non-helpful comments
2018-12-19 18:35:53 +05:30
Eric Kuck
b06a43e2a2
Most similar views now shared between ViewControllers
2018-12-14 17:15:22 -06:00
Eric Kuck
42aeb8636c
More formatting nits and cyclomatic complexity fixes
2018-12-12 21:09:52 -06:00
Eric Kuck
ea29a0c7d1
Tons more swiftlint warnings fixed. Still a few remaining.
2018-12-12 12:28:27 -06:00
Eric Kuck
fa558a4019
Added swiftlint and fixed all errors (and a bunch, but not all, warnings)
2018-12-12 11:40:57 -06:00
Roopesh Chander
af018988b4
Model: Declare keyLength constant and use that wherever applicable
2018-12-09 14:07:03 +05:30
Roopesh Chander
c0eb34c755
Model, Tunnels manager: Rewrite the model for VPN-on-demand
...
The VPN-on-demand settings should not be part of the tunnel
configuration. Rather, the onDemandRules stored in the
tunnel provider configuration serve as the one place
where the VPN-on-demand settings are stored.
2018-11-12 19:24:13 +05:30
Roopesh Chander
049e9f0b05
Model: Add activationType to tunnel configuration
...
We make sure existing tunnel serializations can be deserialized correctly.
We also bump up the tunnelConfigurationVersion, because the tunnel
configuration contents have changed.
2018-11-11 01:17:36 +05:30
Roopesh Chander
75474acb59
Model: ActivityType enum to represent VPN-on-demand options
2018-11-10 19:17:24 +05:30
Roopesh Chander
ae627c5e5d
Model: TunnelConfiguration: Add explicit conformance to Decodable
2018-11-10 19:01:34 +05:30
Roopesh Chander
0db19f187b
Model: Ensure that a TunnelConfiguration always has a valid array of peers
2018-11-10 17:02:30 +05:30
Roopesh Chander
8f35d70482
Model: Endpoint.hostname()
2018-11-08 17:52:11 +05:30
Roopesh Chander
2afb2244ff
Model: Move InterfaceConfiguration.publicKey to Curve25519.swift
...
The code for public key calculation need not be shared with the extension
2018-11-08 14:48:25 +05:30
Roopesh Chander
f438f3ef6b
Move logic to extension: Move model files to Shared
2018-11-08 13:56:50 +05:30