Commit Graph

94 Commits

Author SHA1 Message Date
Davide De Rosa 6ab1759e04
Update copyright 2024-01-14 14:33:14 +01:00
Davide De Rosa 3bafce9a8e
HMAC breaking due to dangling OSSL_PARAM (#405) 2024-01-05 23:13:04 +01:00
Davide De Rosa faa3c94391
Set SSL security level explicitly (#406)
Default value may have been raised in OpenSSL 3, disrupting
operation with less secure certificates.
2024-01-05 23:10:53 +01:00
Davide De Rosa a255379679
Fix regression in mapping OpenVPN errors (#404) 2024-01-05 21:09:04 +01:00
Davide De Rosa 92bc00e1fd
Skip notifications without a bundle identifier
Would raise fatalError in notification getter.
2023-12-27 17:45:49 +01:00
Davide De Rosa 6101e92c3b
Add tvOS support
- Upgrade OpenSSL for tvOS Simulator on arm64
- Use own WireGuard fork on develop

Closes #337
2023-12-27 17:28:02 +01:00
Davide De Rosa c56bfd7224
Attach user data to VPN configuration (#400) 2023-12-24 00:40:42 +01:00
Evgeny bda84bf569
Add WireGuard RX/TX data statistics (#341)
Co-authored-by: Yevgeny <y.yezub@gmail.com>
Co-authored-by: Davide De Rosa <keeshux@gmail.com>
2023-12-14 22:01:26 +01:00
Davide De Rosa b885689d8e
Drop broken/unused routing table code (#350) 2023-12-13 22:04:06 +01:00
Davide De Rosa f56dfa313c
Use OpenSSL 3 (#347)
- Replace deprecated peer cert calls
- Use atomic HMAC
- Upgrade HMAC to EVP_MAC
2023-12-13 21:17:38 +01:00
Davide De Rosa 8ca928a13b
Convert encryption tests to proper unit tests (#348) 2023-12-13 09:59:57 +01:00
Davide De Rosa d69899bbc0
Fix keychain error escaping catch block (#326) 2023-07-06 12:03:31 +02:00
Davide De Rosa 729e8973cf
Hide errors behind façade TunnelKit*Error (#325) 2023-07-02 11:56:40 +02:00
Davide De Rosa 0c77062add
Add SwiftLint (#318) 2023-04-20 21:52:45 +02:00
Davide De Rosa c62fc4adaa
Drop #available(iOS 14) (#317) 2023-04-20 21:44:32 +02:00
Davide De Rosa 422f3163d3
Reuse native WireGuard error as ConfigurationError (#316)
There was a duplicate ConfigurationError.
2023-04-02 23:42:05 +02:00
Davide De Rosa 7ce254be02
Extend WireGuard with DoH/DoT options (#314) 2023-03-19 08:22:30 +01:00
Davide De Rosa e0c0cc137f
Split DNS domain and search domains (#313) 2023-03-17 20:22:21 +01:00
Davide De Rosa 11ae9e4141
Delay tunnel disposal (#311)
Postpone reconnection due to on-demand trigger.
2023-03-17 20:20:44 +01:00
Davide De Rosa d7fbeb0d90 Update copyright 2023-03-17 16:58:36 +01:00
Davide De Rosa 3d226a20f3 Drop some extra return 2022-11-10 07:16:05 +01:00
Davide De Rosa 47281cafc9 Move kill switch to configuration extras 2022-11-10 07:11:57 +01:00
Tejas Mehta 5ecd732cc2
Add Complete XOR Patch Functionality (#255)
Co-authored-by: Davide De Rosa <keeshux@gmail.com>
2022-11-06 17:46:10 +01:00
Davide De Rosa e225ca15ff Prefix local options output in OpenVPN provider
Lost in the refactoring.
2022-11-02 20:50:34 +01:00
Davide De Rosa 0d21731e12
Set includeAllNetworks for best-effort kill switch (#300)
* Update CHANGELOG

* Make kill switch an option
2022-10-30 09:07:17 +01:00
Davide De Rosa a3b85430fd Unmask more safe things
- IPv4/6 address and default gateway within VPN

- Route destination and gateway
2022-10-29 20:29:36 +02:00
Davide De Rosa 6b42048d6a Drop leftover TODO 2022-10-29 20:24:29 +02:00
Davide De Rosa cae371bb40
Split IPv4/6 settings and routes (#298)
* Postpone setting route gateway

Resolve in NetworkSettingsBuilder.

* Store routes separately from IP*Settings

Parse as optionals to avoid empty arrays.

* Deprecate routes stored in IP*Settings

* Apply routes from new fields

* Update CHANGELOG
2022-10-29 12:24:28 +02:00
Davide De Rosa 703d1416ad
Deal with remote options properly (#297)
Some take over, some are merged.

Also:

- Drop non-existing DOMAIN-SEARCH dhcp-option

- Only first DNS domain was parsed
2022-10-29 11:00:39 +02:00
Davide De Rosa 8ac21771e3 Fix default gateway not set when --route-nopull
The "no pull" flag is already accounted for when routingPolicies is
computed (e.g. default gateway). Evaluate it properly for routes
instead.

See 31db8ebb9d
2022-10-28 15:38:29 +02:00
Davide De Rosa 65c41c257b
Unify logging of local/remote options (#295) 2022-10-27 00:40:46 +02:00
Davide De Rosa fa5aa86399 Use keypath in .map occurrences 2022-10-27 00:37:24 +02:00
Davide De Rosa 5913b801a9 Simplify hasGateway check 2022-10-27 00:23:57 +02:00
Davide De Rosa 7b6aca479b Fix dumb regression on endpoint address
Was only parsing IPv4/6 addresses, not generic hostnames.
2022-10-26 19:02:46 +02:00
Davide De Rosa 7659057888
Parse IPv6 enpdoints properly (#294)
* Fix incorrect parsing of IPv6 address in endpoint

* Use better names for space-based regex extensions
2022-10-25 11:29:36 +02:00
Davide De Rosa 31db8ebb9d
Delegate network settings to ad-hoc builder (#292)
* Delegate network settings to ad-hoc builder

- Assert network settings nil or non-empty, NOT precondition

- Fix log about local DNS, only if not gateway

- Remove non-working block-local code

Fixes #289, fixes #290

* Unmask safe and helpful network settings
2022-10-25 08:58:34 +02:00
Davide De Rosa 17c272d733
Support --remote-random-hostname (#286) 2022-10-17 09:00:23 +02:00
Davide De Rosa 769a79c4c0 Refine mock VPN actions and events 2022-10-15 08:44:39 +02:00
Davide De Rosa 36f0b2c03d Extend description of link remote with protocol 2022-10-14 08:23:23 +02:00
Davide De Rosa f17bb110c2 Adjust log of DNS settings according to gateway 2022-10-13 18:34:31 +02:00
Davide De Rosa 192f4643c2
Fix mock VPN implementation (#285) 2022-10-12 22:35:02 +02:00
Davide De Rosa 080ee35e61
Replace continuations with natively async methods (#284) 2022-10-12 22:28:33 +02:00
Davide De Rosa a3822678cf
Support --route-nopull (#280)
* Parse --route-no-pull

When provided, pull everything except:

- Routes
- DNS
- Proxy

Implement with higher granularity compared to OpenVPN.

* Apply no-pull mask in tunnel settings

Pull server settings by default to match standard OpenVPN
behavior. Library was prioritizing client over server.

* Add link in CHANGELOG
2022-10-08 08:54:55 +02:00
Davide De Rosa 9f5de0fc55 Fix misplaced tab 2022-09-30 21:43:33 +02:00
Davide De Rosa 5c84c15416 Use localOptions to clarify context
localOptions = cfg.configuration
2022-09-25 17:23:13 +02:00
Davide De Rosa 6018c30cc4 Add fallback for compression algorithm 2022-09-23 23:01:57 +02:00
Davide De Rosa 64b3fa47af Add some missing documentation 2022-09-23 21:45:04 +02:00
Davide De Rosa 6dc1140d5b Revert "Work around segfault in Xcode 13.3 "Release""
This reverts commit 02e702d97b.
2022-09-23 16:11:37 +02:00
Davide De Rosa 0db3f52931 Add methods to remove WireGuard default gateways 2022-09-14 22:07:46 +02:00
Davide De Rosa e2aaffc06f Reconnect with current manager and configuration 2022-08-05 07:38:53 +02:00