Commit Graph

40 Commits

Author SHA1 Message Date
Davide De Rosa
60b967ee3a Make provisioning ids dynamic via .xcconfig 2019-05-25 18:29:10 +02:00
Davide De Rosa
87527ed290 Upgrade to TunnelKit 2.0
Major reorganization. No changes in logic.

Rename by_* to pod_*.
2019-05-25 18:29:10 +02:00
Davide De Rosa
2f09a41d06 Stop to download additional provider resources 2019-04-11 19:01:55 +02:00
Davide De Rosa
b4c6bfb8de Fix Xcode warnings and deprecations 2019-04-11 16:56:38 +02:00
Davide De Rosa
877dd4d990 Fix similar completionHandler bugs
See previous commit
2019-03-19 17:27:42 +01:00
Davide De Rosa
9a67918dc0 Fix disconnection handler not called when inactive
Fixes #42
2019-03-19 17:24:45 +01:00
Davide De Rosa
f661008679 Make framework internal components public 2019-03-18 11:50:52 +01:00
Davide De Rosa
29f34cd206 Report .inactiveProfile on nil GracefulVPN.vpn
Methods:

- reconnect
- reinstall
- disconnect
2019-03-11 09:55:25 +01:00
Davide De Rosa
439c9c0b0f Set profile directly in GracefulVPN
No need to pass through prepare(). Couple with setProfile() for
robustness.
2019-03-11 09:55:25 +01:00
Davide De Rosa
7a21338042 Update copyright 2019-03-09 11:44:44 +01:00
Davide De Rosa
2e4d2162ac Define custom intents
- Connect
- Disable
- (Un)Trust current network
- (Un)Trust cellular network
- Move to location
2019-03-09 11:23:47 +01:00
Davide De Rosa
3ddfa87b58 Disconnect before switching active profile
Make sure that completionHandler is ALWAYS called, despite vpn
object being nil.
2019-03-03 13:04:27 +01:00
Davide De Rosa
3d5c2bb8f5 Move .ovpn parser to TunnelKit 2018-11-10 11:39:36 +01:00
Davide De Rosa
f2b5c05d58 Test and fix behavior with compression options
Changes in #20 were insufficient.
2018-11-04 11:57:37 +01:00
Davide De Rosa
c1065751b6 Add method to parse configuration from [String]
With an optional original URL. Helps testing. Take the chance to
also disambiguate method overloads.
2018-11-04 11:45:19 +01:00
Davide De Rosa
9e7c4960e5 Update GitHub URL in license preamble 2018-11-04 10:53:16 +01:00
Davide De Rosa
4870e2233d Fix regexes to warn about compression
By not including the potential argument in the pattern:

- comp-lzo *always* raises a warning
- compress *never* raises a warning
2018-11-02 00:04:28 +01:00
Davide De Rosa
25c2308c63 Reject encrypted certificate key
Do at least a poor-man check on the PEM header.

Fixes #15
2018-11-01 14:31:24 +01:00
Davide De Rosa
0ab2244c36 Revert "Move variable declaration to proper scope"
This reverts commit 49b86c2888.

...because it was VERY WRONG.
2018-11-01 14:29:03 +01:00
Davide De Rosa
ebe8c5836b Only retain first parsing warning 2018-10-28 14:41:41 +01:00
Davide De Rosa
49b86c2888 Move variable declaration to proper scope 2018-10-28 14:41:41 +01:00
Davide De Rosa
fa59b8b5f9 Fix handling of extra whitespaces in .ovpn
Fixes #17
2018-10-27 19:49:35 +02:00
Davide De Rosa
0b7ab7bca6 Intercept potentially unsupported options
As warnings.
2018-10-27 14:51:51 +02:00
Davide De Rosa
9e933d68c5 Improve unsupported options filter 2018-10-27 12:33:30 +02:00
Davide De Rosa
422c4da09c Move ParsedFile out of WizardHostVC 2018-10-27 12:08:44 +02:00
Davide De Rosa
4b075bcc95 Improve alerts on configuration import error
Issue reporting is currently disabled because un unparsed .ovpn
may contain sensitive data.
2018-10-27 09:43:57 +02:00
Davide De Rosa
73e09fefb1 Retain unhandled mtu/mssfix lines in stripped 2018-10-27 09:43:57 +02:00
Davide De Rosa
c7639daf0d Strip configuration file before attaching
Of sensitive or private data.
2018-10-27 09:42:41 +02:00
Davide De Rosa
542a3e3721 Upgrade TunnelKit with configuration refactoring 2018-10-25 22:45:44 +02:00
Davide De Rosa
205f8a9c0e Refine regex for unsupported blocks
Was rejecting entries with shared prefix (e.g. "key" -> "keysize").
2018-10-24 10:24:45 +02:00
Davide De Rosa
f691a4f204 Raise exception on proxy in .ovpn 2018-10-24 00:24:23 +02:00
Davide De Rosa
d026004db3 Raise exception on external file in .ovpn
- ca
- cert
- key
- tls-auth
- tls-crypt
2018-10-23 19:07:09 +02:00
Davide De Rosa
9292919816 Update VPN status after profile reinstall
Should now cover all scenarios.
2018-10-23 12:54:40 +02:00
Davide De Rosa
976e47af64 Clear VPN error status before restart 2018-10-22 21:49:43 +02:00
Davide De Rosa
be6abdcf2a Move file-to-lines to String extension 2018-10-21 09:36:50 +02:00
Davide De Rosa
0954de3322 Support TLS wrapping via TunnelKit
tls-auth and tls-crypt.
2018-10-19 17:25:39 +02:00
Davide De Rosa
4774c2705f Raise exception on unrecognized option values
Do not fall back when an unhandled value is found in:

- cipher
- auth
- proto

Falling back to a default value here would break the data
connection most of the time.
2018-10-18 10:25:15 +02:00
Davide De Rosa
b62f7669f2 Match cfg lines from the beginning
E.g. cipher was matching tls-cipher.
2018-10-17 23:59:30 +02:00
Davide De Rosa
d1b0b59748 Treat unsupported option errors specifically
Show a more informative alert if the provided .ovpn file contains
an unsupported option.
2018-10-16 18:03:13 +02:00
Davide De Rosa
b9ec01945d Initial commit 2018-10-11 09:13:19 +02:00