Commit Graph

3104 Commits

Author SHA1 Message Date
Davide
524243ebaa
Fix error alert when importing files from external apps (#1078)
URL.startAccessingSecurityScopedResource() fails in that case, but
permission is not required at all.

Could reproduce by importing .ovpn file from a Telegram chat.
2025-01-19 11:59:20 +01:00
Davide
54c66f48b5
Fix unused SecureRandom() value 2025-01-19 09:47:21 +01:00
Davide
b4d77a6443
Update 2025-01-19 00:45:59 +01:00
Davide
bd9f8d63a5
Improve debug logs and move methods to library (#1076)
- Move availableLogs() / purgeLogs() to library
- Append and rotate logs by size (500k)
- Add marker between app/tunnel launches
- Purge logs on each save (3 days)
- Unify debug log content view across platforms
    - macOS: Table + inspect full line
    - iOS/tvOS: Use List
    - Scroll to bottom onLoad()
2025-01-19 00:42:58 +01:00
Davide
a6e44872e9
Select country by typing on macOS
Fixes #1062
2025-01-19 00:18:12 +01:00
Davide
0f7530645c
Bump version 2025-01-18 18:15:20 +01:00
Davide
8972d9773e
Resolve several issues in bump script/lane (#1075)
- Simplify build/version updates by moving MARKETING_VERSION and
CURRENT_PROJECT_VERSION to Config.xcconfig
- Provide Ruby (for fastlane) and Bash (for CI) versions of
xconfig-get/set
- Copy release notes atomically inside the lane to guarantee they are
included in the version commit
- Add -nt to skip the build tag
2025-01-18 18:13:54 +01:00
Davide
72c4a11c5e
Bump version 2025-01-18 16:06:51 +01:00
Davide
8092c4fb1d
Assume .appleTV to be enough on tvOS (#1074)
Eligibility is ensured on iOS/macOS "remote" apps and profiles are not editable on TV. The day they can be edited, this will need a rework, but today it should be fine.

Regression due to BuildProducts not being credited on Apple TV.
2025-01-18 15:46:11 +01:00
Davide
d42b336908
Bump version 2025-01-18 14:02:59 +01:00
Davide
72d23cbd06
Do not fall back to AES-128-CBC when PUSH_REPLY has no cipher (#1073)
https://github.com/passepartoutvpn/passepartoutkit-source/pull/461
2025-01-18 13:57:10 +01:00
Davide
185dcf2887
Fix release job 2025-01-18 11:30:12 +01:00
Davide
59f4516e2e
Bump version 2025-01-18 11:04:30 +01:00
Davide
db7e6ae73f
Fix submodule 2025-01-18 11:04:16 +01:00
Davide
037ff19fd7
Bump version 2025-01-18 10:57:39 +01:00
Davide
2fdab4db77
Fix template 2025-01-15 22:41:04 +01:00
Davide
4cae181bc8
Verify tunnel profile every hour
10 minutes is too pedantic in logs.
2025-01-15 20:50:41 +01:00
Davide
c387b8ddfd
Fix metadata as per App Review (#1061)
- Add links to EULA and privacy policy in the app description
- Update copyright in metadata
2025-01-15 20:48:47 +01:00
Davide
4e43c14cc6
Update copyright 2025-01-15 20:22:52 +01:00
Davide
e41ac446c6
Rename submodule to PassepartoutKit-Source 2025-01-15 15:22:18 +01:00
Davide
f8e0def072
Drop .git suffix from README 2025-01-15 10:56:37 +01:00
Davide
ae7a88ff95
Delete Demo
Moved to https://github.com/passepartoutvpn/passepartoutkit
2025-01-15 10:55:05 +01:00
Davide
e87128e5b4
Retain WireGuardAdapterDelegate (#1064)
The delegate was lost due to not being retained anywhere, and the
WireGuard adapter was therefore not finalizing the connection (i.e. set
tunnel settings).

Regression in #1057
2025-01-15 10:45:17 +01:00
Davide
849234889b
Update submodule 2025-01-15 09:41:43 +01:00
Davide
7b8dbfe84a
Minimize dependencies of VPN implementations (#1057)
### OpenVPN

- Make CPassepartoutCryptoOpenSSL agnostic of PassepartoutKit
- Move Allocation/ZeroingData from PassepartoutKit to package for
internal use
  - Rename ZeroingData.count to .length for consistency with NSData
  - Duplicate some Data manipulation code in CryptoOpenSSL
- Retain a simplified version of ZeroingData in PassepartoutKit
(AutoerasingData)

### WireGuard

- Make WireGuardKit imports `internal`
2025-01-15 09:39:58 +01:00
Davide
53ee7ba457
Bump version 2025-01-13 23:14:56 +01:00
Davide
07b46da553
Fix regression in profile disconnection 2025-01-13 23:14:19 +01:00
Davide
f1d13dc6e8
Bump version 2025-01-13 18:22:12 +01:00
Davide
4a236787bc
Add EULA and privacy policy in paywall (#1056)
Follow-up from App Review.
2025-01-13 18:21:33 +01:00
Davide
a0092b3fad
Pull out VPN implementations from App library
And fix tests.
2025-01-13 18:11:45 +01:00
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