Commit Graph

86 Commits

Author SHA1 Message Date
Davide De Rosa
8d3a5d747d Convert table model to PoolGroup 2019-04-06 16:20:01 +02:00
Davide De Rosa
caab7fa9bc Fall back to default infrastructure preset
Fixes #57
2019-04-05 19:45:20 +02:00
Davide De Rosa
485fd091aa Add shortcut for profile by key 2019-04-05 00:52:36 +02:00
Davide De Rosa
fe669bb3e0 Migrate to Configuration optionals
- cipher
- digest
- compressionFraming
2019-04-04 19:03:55 +02:00
Davide De Rosa
d53e874cac Migrate old endpoints to new format 2019-04-04 19:03:55 +02:00
Davide De Rosa
1904687a22 Upgrade to TunnelKit 1.6.0
- Make cipher/digest/compressionFraming optional
- Move endpointProtocols inside SessionProxy.Configuration
- Rename OptionsError to ConfigurationError
2019-04-04 19:03:53 +02:00
Davide De Rosa
cb2917a0a8 Fix wrong return in loadProfiles() 2019-04-04 12:00:12 +02:00
Davide De Rosa
921e57557d Render data count with closest unit
Set a 10% boundary (e.g. 100MB = 0.1GB).
2019-03-30 20:10:04 +01:00
Davide De Rosa
bc0a0d40dc Observe tunnel data count periodically (5s)
Use Timer as KVO is not possible on App Group defaults.

Be tolerant about missing sections, return type is optional.

Also reword data count cell caption.
2019-03-30 20:10:04 +01:00
Davide De Rosa
fdc3869d29 Move baseVPNConfiguration to TransientStore
Simplifies configuration update.
2019-03-22 19:09:52 +01:00
Davide De Rosa
c391663d11 Persist masking flag 2019-03-22 19:09:52 +01:00
Davide De Rosa
e4c1ea4def Delete log on masking change
It may contain stale and either sensitive or irrelevant data.
2019-03-22 18:54:54 +01:00
Davide De Rosa
96f5210c7c Control debug masking via diagnostics
Be clear about NOT logging any sensitive data. In fact, the
variable name masksPrivateData is potentially misleading.
2019-03-22 18:54:54 +01:00
Davide De Rosa
9f6307dbc2 Make default VPN configuration mutable 2019-03-22 18:46:04 +01:00
Davide De Rosa
15602f7dc9 Pick profile/location for connection intent
- Host: ConnectVPN intent
- Provider: requires Pool selection
2019-03-18 22:13:36 +01:00
Davide De Rosa
5237aa3916 Import Core framework into iOS target 2019-03-18 11:52:19 +01:00
Davide De Rosa
f661008679 Make framework internal components public 2019-03-18 11:50:52 +01:00
Davide De Rosa
c7f522f55e Create Passepartout-Core framework target
Move all sources to this target, out of Passepartout-iOS.

FIXME: TrustedNetworks uses ServiceViewController.RowType
FIXME: make iOS target depend on Core.
2019-03-18 11:19:24 +01:00
Davide De Rosa
39fb191309 Log documents migration event
If anything was moved.
2019-03-11 10:17:45 +01:00
Davide De Rosa
9005bf6c19 Skip "Inbox" during migration
No permission.
2019-03-11 10:17:01 +01:00
Davide De Rosa
87249cb8ad Migrate documents to App Group 2019-03-11 10:16:33 +01:00
Davide De Rosa
8ede1ed3d4 Use App Group container for documents and caches 2019-03-11 10:05:54 +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
ce3781e3b5 Be more formal about ProfileKey parsing 2019-03-08 10:21:08 +01:00
Davide De Rosa
b50cb4681b Fix stupid parsing of ProfileKey from String
Fixes #19
2019-03-08 00:01:52 +01:00
Davide De Rosa
e4ef4a9dbc Rearrange lines to isolate throwing code 2019-03-06 17:10:37 +01:00
Davide De Rosa
942aaecdc3 Refine profile description 2019-02-23 11:18:36 +01:00
Davide De Rosa
d0de93c60a Do not sort endpoint addresses
Defeats purpose of best-first ordering in DNS reply.
2019-01-17 09:51:42 +01:00
Davide De Rosa
3d5c2bb8f5 Move .ovpn parser to TunnelKit 2018-11-10 11:39:36 +01:00
Davide De Rosa
c7cb00f679 Move ProfileKey to separate file 2018-11-06 11:16:34 +01:00
Davide De Rosa
389746180b Move PlaceholderConnectionProfile to separate file 2018-11-06 11:16:30 +01:00
Davide De Rosa
0c389d8d8e Make caught errors warnings instead 2018-11-06 11:03:15 +01:00
Davide De Rosa
299c4088ad Improve ConnectionProfile description format
Refines 137e87a
2018-11-06 11:02:44 +01:00
Davide De Rosa
ceeda8c314 Fix default trust policy 2018-11-04 16:49:46 +01:00
Davide De Rosa
137e87ad69 Add description for generic ConnectionProfile 2018-11-04 15:56:05 +01:00
Davide De Rosa
e7d2dde972 Add/remove profile to/from filesystem immediately
Save unnecessary serialization of unaffected profiles.
2018-11-04 15:06:53 +01:00
Davide De Rosa
bc0568cc38 Do not re-save profiles on (de)activate
Only service JSON is affected.
2018-11-04 14:55:25 +01:00
Davide De Rosa
9e7c4960e5 Update GitHub URL in license preamble 2018-11-04 10:53:16 +01:00
Davide De Rosa
ef03b2b94d Leave serialization up to delegate
Ends up calling saveProfiles() multiple times otherwise.
2018-11-04 10:49:40 +01:00
Davide De Rosa
8e445e90b3 Move profile reactions to delegate
- Activation
- Removal
2018-11-04 10:49:40 +01:00
Davide De Rosa
f75fbfb4bb Remove keychain password with profile removal 2018-11-02 15:52:36 +01:00
Davide De Rosa
56c0a1a15e Add profile renaming logic
- Suspend delegation of internal add/remove.
- Review several try/throws.
2018-11-02 15:52:36 +01:00
Davide De Rosa
aa2b6bafaf Add method to rename immutable profile 2018-11-02 15:52:34 +01:00
Davide De Rosa
3f1e98f8ac Delegate profile management from ConnectionService
Makes much more sense than dumb wizard notifications. Organizer is
already a ConnectionServiceDelegate.
2018-11-02 15:20:37 +01:00
Davide De Rosa
af870e2a84 Fix migrateJSON declarations and exposure
Unit tests could not compile.
2018-11-01 23:55:59 +01:00
Davide De Rosa
52394296be Drop pre-release migration logic 2018-11-01 13:42:20 +01:00
Davide De Rosa
964a4d701b Make serviceURL an external static var 2018-11-01 13:40:15 +01:00
Davide De Rosa
36995e089b Locate profiles via relative URLs
Avoid absolute URLs, profiles directory is always relative to
documents. Assume profiles to be based in the documents root
unless directory is != nil.

Given that, starting from iOS 8, the documents location can change
from time to time, could this fix #19?
2018-11-01 13:39:55 +01:00
Davide De Rosa
2197c96bd9 Move serialization URLs to ConnectionService
Keep ProfileKey a bare struct.
2018-11-01 13:32:53 +01:00