Commit Graph

468 Commits

Author SHA1 Message Date
Roopesh Chander
2b3eb5412c Keychain: Use app group when dereferencing a password reference
Co-authored-by: Davide De Rosa <keeshux@gmail.com>

Better retain access group every time keychain is written to or
read from, there is no good reason to omit it. Requires Keychain
method to be reverted to non-static.

Partially revert 4490f0c116, based
on wrong assumptions about password references.
2021-02-11 13:44:00 +01:00
Davide De Rosa
4114605520 Fix keychain method in Demo
Fixes #199
2021-02-02 09:03:18 +01:00
Davide De Rosa
1343fa592f Log time intervals better 2021-01-27 02:15:18 +01:00
Davide De Rosa
4490f0c116 Pick tunnel password reference from existing item
Assume that credentials already exist elsewhere for reuse as
password reference. Avoids a redundant keychain entry.
2021-01-27 01:28:27 +01:00
Jose Blaya
4b3f3dee5f
Check if cfg.sessionConfiguration.dnsServers is empty (#198) 2021-01-26 16:31:57 +01:00
Davide De Rosa
790ec276db Restrain DNS servers according to protocol
- Cleartext: pick any available
- HTTPS/TLS: only pick local servers, secure DNS may NEVER come
  from VPN server

Require for TLS, not for HTTPS (not even sure about their need).
2021-01-26 11:20:01 +01:00
Davide De Rosa
3abb7cbccc Fix up misleading log from condition in latest commit 2021-01-26 10:59:37 +01:00
Davide De Rosa
0f097d50af Fall back to network settings when no DNS servers
Rather than forcing CloudFlare (by default).

Fixes #197
2021-01-26 10:18:04 +01:00
Davide De Rosa
fd9d34b49c Print description of new DNS settings 2021-01-22 21:14:38 +01:00
Davide De Rosa
dd81ad7a99 Pick proper DNS settings according to protocol 2021-01-22 21:14:38 +01:00
Davide De Rosa
3c92e18c0e Add DNSProtocol 2021-01-22 21:14:38 +01:00
Davide De Rosa
e388842d37 Add fallback compression algorithm
Disabled.
2021-01-13 08:10:33 +01:00
Davide De Rosa
c15d6f521a Parse dataCiphersFallback as last resort
Prioritize over deprecate cipher.
2021-01-08 19:50:28 +01:00
Davide De Rosa
7ea088e4a1 Make peerInfo dynamic to add IV_CIPHERS
Fixes #193
2021-01-08 19:41:16 +01:00
Davide De Rosa
119d2f02e4 Add OpenVPN dataCiphers field 2021-01-08 19:26:20 +01:00
Davide De Rosa
e6a0622cc2 Bump version 2021-01-08 19:15:49 +01:00
Davide De Rosa
f4cc06adfd Bump copyright 2021-01-03 19:47:25 +01:00
Davide De Rosa
80472a6cd3 Move Demo into main project 2021-01-03 19:47:25 +01:00
Davide De Rosa
4670a5e634 Reorganize files hierarchy 2021-01-03 19:47:25 +01:00
Davide De Rosa
13af9338ae Share some resources across targets 2021-01-03 19:47:25 +01:00
Davide De Rosa
80d99cab6c Refactor legacy parsing of provider configuration
Leverage Codable implementation of OpenVPN*.Configuration
2021-01-03 10:47:06 +01:00
Davide De Rosa
e923382c81 Default to unspecified MTU
Hardcode control channel packets to 1000 bytes.
2020-12-28 16:04:15 +01:00
Davide De Rosa
1966143fe9 Parse MTU from --tun-mtu 2020-12-28 13:07:19 +01:00
Davide De Rosa
6cb04da05d Add MTU to OpenVPN layer 2020-12-28 13:02:09 +01:00
Davide De Rosa
e3ce38e47e Remove MTU from AppExtension layer 2020-12-27 22:51:58 +01:00
Davide De Rosa
ba3ead13a3 Update copyright 2020-12-27 17:29:39 +01:00
Davide De Rosa
663cab34c9 Centralize reconnection delay 2020-12-20 19:43:23 +01:00
Davide De Rosa
304d0215b6 Use keychain service as item context
Primary key = (context, username)
2020-12-20 10:57:06 +01:00
Davide De Rosa
4a5bc92fcb Remove password inside try/catch 2020-12-18 19:11:52 +01:00
Davide De Rosa
ecb2c951a8 Handle keychain cancelation
E.g. stop on "Deny" button.
2020-12-18 19:11:52 +01:00
Davide De Rosa
6b8d88fef5 Consider last appearing DOMAIN option 2020-12-15 13:59:06 +01:00
Davide De Rosa
7535458339 Parse domain option 2020-12-11 17:09:15 +01:00
Davide De Rosa
44844cfd9c Update API to access current Wi-Fi SSID 2020-11-21 19:10:58 +01:00
Davide De Rosa
e098117bf1 Drop StandardVPNProvider class name
Had only renamed file, not class.

See 945bb1b9b7
2020-11-15 22:09:02 +01:00
Davide De Rosa
945bb1b9b7 Fix context of StandardVPNProvider
Not generic, rather an OpenVPN implementation.

- Move to OpenVPN subspec
- Rename to OpenVPNProvider
- Depend OpenVPN on Manager
2020-11-15 21:12:53 +01:00
Davide De Rosa
65234cefa3
Merge pull request #178 from pahnev/master
Make IV_UI_VER flag overridable
2020-07-11 11:17:15 +02:00
Davide De Rosa
683617ddd4 Use active profile name in VPN configuration
Rather than "Passepartout", as seen in device settings.
2020-07-02 19:26:50 +02:00
Kirill Pahnev
014f8aabbd Make IV_UI_VER flag overridable 2020-06-29 16:31:20 +03:00
Davide De Rosa
e0781926e8
Merge pull request #177 from pahnev/master
Set IV_PLAT based on current OS
2020-06-29 13:35:11 +02:00
Kirill Pahnev
d3caa5c4ad Set IV_PLAT based on current OS 2020-06-29 13:00:17 +03:00
Davide De Rosa
8c405e7ea5 Add String value to VPNStatus 2020-06-13 17:51:46 +02:00
Davide De Rosa
10aec5185d Document Manager subspec
Refactor notifications to newer Swift convention.
2020-06-13 17:38:55 +02:00
Davide De Rosa
5807924202 Create "Manager" subspec
- Move VPN helpers from Passepartout
- Initialize VPN.shared explicitly
- Expose internal *VPNConfiguration constructors
2020-06-13 17:38:55 +02:00
Davide De Rosa
f424d4a064 Add missing entities from docs 2020-06-13 17:38:28 +02:00
Davide De Rosa
a232af1100 Redefine generic Session.serverConfiguration()
For reuse in Session implementations.
2020-06-13 13:32:21 +02:00
Davide De Rosa
6c3e667f80 Add a few missing nodoc 2020-06-13 13:31:15 +02:00
Davide De Rosa
74ed3cb4cd Move some initialization after logging configuration
Logging and masking were not configured at Credentials and
ConnectionStrategy initialization time, hence the missing log
entries from e.g. ConnectionStrategy.init().
2020-06-11 16:37:20 +02:00
Davide De Rosa
1ff936895f Improve logging of ConnectionStrategy 2020-06-11 16:22:45 +02:00
Davide De Rosa
7a278dba69 Fix nullability of partitioned route 2020-05-23 17:07:59 +02:00
Davide De Rosa
17cb2601be Fix unused result warning 2020-05-23 17:05:46 +02:00