Commit Graph

51 Commits

Author SHA1 Message Date
Davide De Rosa 3b5207dc8f Better reconnect than disconnect 2019-03-22 19:25:12 +01:00
Davide De Rosa c45e741750 Disconnect on masking change
To ensure that the stale log is erased immediately.
2019-03-22 19:23:32 +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 15f23dd448 Retain Pool.name internally but show .localizedName
Use name from API if available (XXX: not localized).

Make it private to avoid unintended use in app.
2019-03-21 22:21:42 +01:00
Davide De Rosa 03c8e43ce7 Tweak intent donations
- Activate -> EnableVPN
- Connect -> ConnectVPN/MoveToLocation
- Disconnect -> DisableVPN
2019-03-19 18:01:15 +01:00
Davide De Rosa c3e6e1ecd5 Move intents to Core target
Suppress responses for consistency.
2019-03-18 17:06:35 +01:00
Davide De Rosa 5237aa3916 Import Core framework into iOS target 2019-03-18 11:52:19 +01:00
Davide De Rosa 1eca19e96f Update whole views when back from backgorund 2019-03-11 09:55:25 +01:00
Davide De Rosa 1dd3ad18aa Use updateViewsIfNeeded() for consistency 2019-03-11 09:55:25 +01:00
Davide De Rosa f50cf44bab Switch to active profile on intent update
Better user experience.
2019-03-11 09:55:25 +01:00
Davide De Rosa 439c9c0b0f Set profile directly in GracefulVPN
No need to pass through prepare(). Couple with setProfile() for
robustness.
2019-03-11 09:55:25 +01:00
Davide De Rosa c8be5d0de6 Donate enable+disable on VPN on/off 2019-03-10 14:14:07 +01:00
Davide De Rosa 9dcd6de873 Always donate a MoveTo when provider 2019-03-10 14:13:30 +01:00
Davide De Rosa 7a21338042 Update copyright 2019-03-09 11:44:44 +01:00
Davide De Rosa 77c40cb169 Notify intent updates to ServiceVC
Postpone notification until VPN updates.

Fixes the following scenario:

1. Use <foo> profile
2. Send to background
3. Connect to <foo> via shortcut
4. Toggle stays disabled (too early)
2019-03-09 11:24:03 +01:00
Davide De Rosa 5d2450b985 Donate interactions
- Connect on add profile (covers first profile)
- Connect on activate profile
- Disable on connect to VPN
- Trust on add current Wi-Fi
- Trust on cellular network
- MoveTo on first connected location (if provider)
- MoveTo on location change (if provider)
2019-03-09 11:23:50 +01:00
Davide De Rosa 5ccdece72b Do not reload views on profile renaming
Use explicit accessor, implicit didSet is worrisome.

Fixes #37
2019-03-08 12:57:51 +01:00
Davide De Rosa 7774143e17 Activate profile before any action
Otherwise GracefulVPN.vpn will always return nil.

Fixes #38
2019-03-08 12:32:45 +01:00
Davide De Rosa 4eeca4c63c Forgive a nil statusIndexPath
Also drop a few unused and potentially dangerous similar methods.

Fixes #36
2019-03-05 10:32:13 +01:00
Davide De Rosa 3ddfa87b58 Disconnect before switching active profile
Make sure that completionHandler is ALWAYS called, despite vpn
object being nil.
2019-03-03 13:04:27 +01:00
Davide De Rosa d2186678de Report reviewer event on successful connection 2018-12-10 12:47:53 +01:00
Davide De Rosa 3d5c2bb8f5 Move .ovpn parser to TunnelKit 2018-11-10 11:39:36 +01:00
Davide De Rosa 2dafe9f1f2 Invert caption/logic about trusted network policy
Looks more intuitive (default ON).
2018-11-04 12:02:02 +01:00
Davide De Rosa 9e7c4960e5 Update GitHub URL in license preamble 2018-11-04 10:53:16 +01:00
Davide De Rosa 1522774c98 Temporarily remove "Test connectivity"
The action does an HTTP GET to a random well-known home page
among the following:

- Google
- Facebook
- Twitter
- Instagram
- Amazon

This was acceptable for development and beta testing. Not so much
for a release. Omit the option until more transparent.
2018-11-04 10:52:43 +01:00
Davide De Rosa 8e445e90b3 Move profile reactions to delegate
- Activation
- Removal
2018-11-04 10:49:40 +01:00
Davide De Rosa 2525467fe9 Hide "Edit" in provider profiles 2018-11-03 22:23:26 +01:00
Davide De Rosa 860750332f Handle keyboard return in rename alert 2018-11-02 16:23:34 +01:00
Davide De Rosa b051f8118f Add "Edit" item to rename host profile
Disabled in network profiles. Reuse same title style/constraints
and message strings in host wizard.

For consistency, rename activate() to activateProfile(). And it's
not even an IBAction.
2018-11-02 15:52:36 +01:00
Davide De Rosa dfde9c51e3 Fine-grain report attachments
- Debug log
- .ovpn profile (if any)
2018-10-27 09:42:41 +02:00
Davide De Rosa 821393af70 Refactor configurations in service extension
Reuse same directories of ConnectionService for storing
configuration files.
2018-10-27 09:42:41 +02:00
Davide De Rosa 8e1b67d151 Infer profile id uniqueness by context
Drop "(provider|host)." prefix, reuse as title.
2018-10-26 17:37:52 +02:00
Davide De Rosa 52cf733948 Only make host editable if original cfg available 2018-10-25 22:57:42 +02:00
Davide De Rosa 542a3e3721 Upgrade TunnelKit with configuration refactoring 2018-10-25 22:45:44 +02:00
Davide De Rosa f1f09dde2f Rename support request to join community 2018-10-24 21:57:27 +02:00
Davide De Rosa 8375fc58fc Do not confirm trusted policy change while offline 2018-10-23 23:56:53 +02:00
Davide De Rosa 4bd339d456 Remove "Report issue" from About
Will bind report to current profile.
2018-10-23 12:59:06 +02:00
Davide De Rosa 0f374fa8c9 Rename "Submit debug log" to "Report issue" 2018-10-23 12:59:06 +02:00
Davide De Rosa be17f57a5e Add reset cell to revert to original configuration
When a backing .ovpn is available.
2018-10-23 12:57:11 +02:00
Davide De Rosa a59d16077b Drop annoying table animations 2018-10-23 12:55:11 +02:00
Davide De Rosa 9292919816 Update VPN status after profile reinstall
Should now cover all scenarios.
2018-10-23 12:54:40 +02:00
Davide De Rosa e8f2aaaf08 Show tunnel failure reason in VPN status 2018-10-22 21:49:43 +02:00
Davide De Rosa 2e764ec14d Only show Reconnect if VPN is enabled 2018-10-21 10:19:42 +02:00
Davide De Rosa 6ed70feb77 Reconnect with a specific action cell 2018-10-21 10:19:42 +02:00
Davide De Rosa 5e0590184b Require credentials for providers only
Not always the case, but PIA certainly requires them. Will make it
an infrastructure option later. Only require credentials as a
configuration check, everything else has defaults.
2018-10-19 01:29:44 +02:00
Davide De Rosa ef2061de0a Update profile screen accordingly 2018-10-18 17:02:06 +02:00
Davide De Rosa 1602972c8e Replace self-hosted API with static GitHub Pages 2018-10-11 21:30:53 +02:00