Commit Graph

3074 Commits

Author SHA1 Message Date
Davide
079f0ed7f4
Update Kit and binary framework 2025-01-13 17:46:23 +01:00
Davide
e90aaebf5e
Fix framework with preserved symlinks
Was failing validation.
2025-01-13 16:22:18 +01:00
Davide
b3ebcfb6c8
Fix imports in NetworkSettingsBuilder
Also drop OpenVPN prefix, reserved for public entities.
2025-01-13 16:21:13 +01:00
Davide
faf9758a5c
Update Kit 2025-01-13 15:25:47 +01:00
Davide
8117db8cb8
Bump version 2025-01-13 15:18:01 +01:00
Davide
3510f2b153
Update Kit
- Move NetworkSettingsBuilder to OpenVPN/OpenSSL
- Fix flaky tests
2025-01-13 15:14:27 +01:00
Davide
a2720d2dfc
Bump version 2025-01-13 14:33:17 +01:00
Davide
c605b89c2d
Fix Kit tests 2025-01-13 14:33:09 +01:00
Davide
834c7478c6
Drop unused token 2025-01-13 14:31:26 +01:00
Davide
305dce1816
Bump version 2025-01-13 14:17:26 +01:00
Davide
4e028d83af
Fix some issues with monorepo refactoring
- Update app library location in scripts env
- Move Demo to subfolder to only have one .xcodeproj at root
- Fix submdoule pointer
2025-01-13 14:14:48 +01:00
Davide
7841a2c4e4
Try the app locally
Fixes #793
2025-01-13 12:32:47 +01:00
Davide
a37075279d
[ci skip] Fix headers 2025-01-13 12:28:54 +01:00
Davide
1942b82ebb
Rework App+Kit as monorepository (#1055)
Simplify development and maintenance immensely by making this a
monorepository:

- Convert PassepartoutKit and VPN bindings to local packages
  - OpenVPN/OpenSSL
  - WireGuard/Go
- Make PassepartoutKit available via
  - Source submodule for production (private)
- [Binary XCFramework for
development](https://github.com/passepartoutvpn/passepartoutkit)
 - Add PassepartoutKit Demo in root
   - Deploy package later
2025-01-13 12:26:53 +01:00
Davide
537c5fd12c
Provide default values for non-frozen enums (#1054) 2025-01-12 23:12:05 +01:00
Davide
9560acff3a
Bump version 2025-01-08 00:53:46 +01:00
Davide
46206ae76f
Restore server entitlement for WireGuard to work on macOS (#1053)
The entitlement "clean-up" was pushed by the App Review, but this had
horrible consequences apparently.

In fact, the WireGuard Go adapter is unable to bind the UDP socket
without the "server" entitlement, making WireGuard on macOS silently
broken:

```
Unable to update bind: listen udp4 :0: bind: operation not permitted
```

Regression in #1042
2025-01-08 00:52:22 +01:00
Davide
ea8176047d
Read user level in tunnel too 2025-01-06 21:50:38 +01:00
Davide
b16952a852
Bump version 2025-01-05 18:10:03 +01:00
Davide
5caf6da23f
Edit OpenVPN remotes (#1052)
In a further subview. Remotes are not editable in providers.
2025-01-05 18:08:29 +01:00
Davide
a91f71345c
Log profiles decoding time 2025-01-05 16:32:18 +01:00
Davide
2f67bcbbf2
Sync local profiles consistently (#1051)
Rather than redoing ProfileManager.observeLocal() altogether:

- Keep the existing profiles subscription (localSubscription)
- Reload ALL local profiles on NE notifications

The reload is "heavy" because each profile save causes a reload of ALL
profiles, but it's the most reliable approach and in the end, it only
takes 1-2msec. It can be improved later.

Partially reverts #1049, because the app did not sync when a VPN
configuration was deleted from the OS settings.
2025-01-04 23:42:10 +01:00
Davide
236df80950
Fix on-demand SSID not being added on macOS (#1050)
Skip CoreLocation completely, not entitled.
2025-01-04 11:01:25 +01:00
Davide
c232fd18a8
Set up local profiles observer once (#1049)
Beyond being useless, reloading the repository across app
active/inactive may spoil notifications and leave the profiles list out
of sync.
2025-01-04 10:46:10 +01:00
Davide
24ddb270aa
Skip backup repository on simulator (#1048)
ProfileManager is behaving crazy because on simulator local and backup
repository point to the same container.
2025-01-04 10:45:51 +01:00
Davide
edb7c29b26
Bump version 2024-12-31 00:49:23 +01:00
Davide
fabb4c664c
Verify tunnel profile periodically (#1047)
Eligibility may have changed during connection. Repeat verification
every 10 minutes.
2024-12-31 00:48:54 +01:00
Davide
34495e88f1
Bump version 2024-12-30 10:58:57 +01:00
Davide
be72e4af61
Speed up detection of OpenVPN ping timeout 2024-12-30 10:54:10 +01:00
Davide
dadd721dc2
Bump version 2024-12-27 17:12:08 +01:00
Davide
df6f3d1fb1
Fix macOS not reconnecting on wake-up (#1046)
Resolve persistent DNS failures in the library. DNS requests were likely
going through a stale tunnel.
2024-12-27 17:10:35 +01:00
Davide
4454a198b9
Handle non-ASCII credentials in OpenVPN (#1045)
Not a regression, just a long-going drag from TunnelKit.
2024-12-27 17:01:25 +01:00
Davide
b300e0b178
Bump version 2024-12-24 09:14:26 +01:00
Davide
df64f8cabb
Use matrix for public_beta and app_review
A tolerant way to cope with scattered approvals. That is, if a
platform build fails to upload, it will not prevent other
platforms from being sent to public_beta/app_review.

The app_store environment is also allowed despite errors, as the
platform builds may have been approved at different times.

This somehow deals with the lottery of getting an approval for
multiple platforms at the same time.

Fixes #1043
2024-12-24 09:12:04 +01:00
Davide
4052a41d6b
Bump version 2024-12-24 08:42:03 +01:00
Davide
1d0661e28c
Continue CI on platform error 2024-12-24 08:41:51 +01:00
Davide
8d7351d5e2
Bump version 2024-12-23 22:48:35 +01:00
Davide
ce3e1f2c9f
Enforce phased release 2024-12-23 22:48:13 +01:00
Davide
3706268bf9
Drop broken macOS code to get SSID (#1042)
Related to #497
2024-12-23 22:47:33 +01:00
Davide
5a4efa9d15
Bump version 2024-12-22 12:24:48 +01:00
Davide
3e04f03b01
Skip local receipt on Apple TV (#1041)
App/Tunnel behavior is inconsistent.
2024-12-22 12:24:20 +01:00
Davide
5acf1982cf
Bump version 2024-12-22 11:47:59 +01:00
Davide
6d62953eff
Improve display of keep-alive options in OpenVPN configuration (#1038)
Timeout was not displayed. Move options to a separate section.
2024-12-22 10:55:56 +01:00
Davide
a187fd56e0
Import manual translations with GPT (#1037)
Save prompt for proper input format.
2024-12-22 10:10:54 +01:00
Davide
2ae615406a
Update API with fixed keep-alive 2024-12-22 08:09:13 +01:00
Davide
f112ea8061
Save last used profile (#1036)
Especially useful on macOS and tvOS where Network Extension does not
retain this information when the profile is disabled. On these
platforms, there's no native way to tell the last used profile, so save
it to UserDefaults and fall back to it when tunnel.currentProfile is
nil.
2024-12-21 22:39:55 +01:00
Davide
60336ba110
Bump version 2024-12-20 23:28:20 +01:00
Davide
e13a84cba3
Fix uncredited features on tvOS (#1033)
This was not apparent on TestFlight, but features from single iOS and
macOS "Full version" purchases were not being credited on the Apple TV
because of the incomplete `#if` conditionals.
2024-12-20 23:21:22 +01:00
Davide
9e18466e2e
Bump version 2024-12-20 21:14:05 +01:00
Davide
a9becd17ad
Fix disconnection on OpenVPN renegotiation (#1032)
Affecting servers with --tls-auth or --tls-crypt enabled. It turned out
to be an extremely old drag from TunnelKit.

See https://github.com/passepartoutvpn/passepartoutkit-source/pull/443
2024-12-20 21:12:36 +01:00