Roopesh Chander
|
6fd9e7f53a
|
VPN: We should never get a status change to .disconnected if we're resolving endpoints
But we do, which we'll fix subsequently
|
2018-11-03 18:58:27 +05:30 |
|
Roopesh Chander
|
395e6fcdda
|
Revert "TunnelsManager: initialize observer on correct thread"
Rather, we'll make sure we always call startObservingTunnelStatus from
the main thread.
This reverts commit d16a6a167c .
|
2018-11-03 18:45:26 +05:30 |
|
Roopesh Chander
|
c0c1fddb75
|
Settings: Show the captioned WireGuard logo at the end
|
2018-11-03 18:41:54 +05:30 |
|
Roopesh Chander
|
1108f82489
|
Settings: Swap table view sections
|
2018-11-03 17:53:50 +05:30 |
|
Roopesh Chander
|
4f287360a8
|
Remove empty image
|
2018-11-03 17:39:43 +05:30 |
|
Jeroen Leenarts
|
f327edfc09
|
Add Wireguard logo with caption to project
|
2018-11-03 17:39:22 +05:30 |
|
Roopesh Chander
|
bfdb3efa41
|
Tunnels list: Fix status switch look after flipping it off after an error
|
2018-11-03 17:28:16 +05:30 |
|
Roopesh Chander
|
0d4218f0c7
|
ErrorPresenter: showErrorAlert takes an onPresentated handler
|
2018-11-03 17:27:07 +05:30 |
|
Roopesh Chander
|
16c9f80ed8
|
Tunnels list: Should deselect the row when handling the selection
|
2018-11-03 16:05:02 +05:30 |
|
Roopesh Chander
|
49f055465b
|
Tunnel list: Don't show the detail view after creating a config from scratch
So it's consistent with the other two "Add a configuration" menu items
|
2018-11-03 15:51:29 +05:30 |
|
Roopesh Chander
|
4ab4c79934
|
Ensure that all tunnel names are trimmed of whitespaces
|
2018-11-03 15:45:29 +05:30 |
|
Roopesh Chander
|
eb122f87e2
|
Zip archive: Handle files within folders inside the zip
|
2018-11-03 15:37:31 +05:30 |
|
Jason A. Donenfeld
|
d16a6a167c
|
TunnelsManager: initialize observer on correct thread
Because of the callback recursion, this function needs to always be called from the right thread
|
2018-11-03 07:03:23 +01:00 |
|
Jason A. Donenfeld
|
b81943aaac
|
TunnelsManager: do not track currentTunnel
It's error prone and does not give us anything.
|
2018-11-03 06:22:57 +01:00 |
|
Jason A. Donenfeld
|
8bbc49015c
|
TunnelsManager: do not change back to inactive if we are resolving the endpoint
|
2018-11-03 06:09:57 +01:00 |
|
Roopesh Chander
|
929470c693
|
Tunnels list: Remove separator lines in the table view
|
2018-11-03 10:26:15 +05:30 |
|
Roopesh Chander
|
12900e6af3
|
Tunnels list: Show an 'Add' button when there are no tunnels
|
2018-11-03 10:26:09 +05:30 |
|
Roopesh Chander
|
4bb45397f1
|
Tunnels list: Show a busy indicator before the tunnels are loaded
|
2018-11-03 10:25:47 +05:30 |
|
Roopesh Chander
|
c6df88c893
|
Tunnels list: The Add and Settings buttons should be no-ops until the tunnels are loaded
|
2018-11-03 10:25:47 +05:30 |
|
Roopesh Chander
|
e332d6cf0e
|
Tunnel edit: Use layoutMarginsGuide instead of constants
|
2018-11-03 10:25:47 +05:30 |
|
Jason A. Donenfeld
|
c025ff8024
|
TunnelsManager: fix use of arrayslice in addMultiple
|
2018-11-03 04:37:56 +01:00 |
|
Jason A. Donenfeld
|
aa5634ee27
|
TunnelsManager: get rid of name set
Instead, tunnels itself should be a sorted-set. For now it's a list,
which is probably fine though.
|
2018-11-03 03:53:08 +01:00 |
|
Jason A. Donenfeld
|
2fdbe1c492
|
TunnelsManager: get rid of index management
No need for premature optimization. There aren't that many tunnels most
of the time, and calling sort on a partially sorted array is fast.
|
2018-11-03 03:43:09 +01:00 |
|
Jason A. Donenfeld
|
6c737545aa
|
Global: no periods at the end of error messages
|
2018-11-03 03:43:09 +01:00 |
|
Jason A. Donenfeld
|
83eeb289c2
|
Import: rework addMultiple logic
|
2018-11-03 03:43:09 +01:00 |
|
Roopesh Chander
|
7077dac4e9
|
Tunnel detail: In the key-value cell, make the value label scrollable horizontally
|
2018-11-02 23:48:27 +05:30 |
|
Roopesh Chander
|
36292d570a
|
Tunnel edit: Ensure all key-value fields have a placeholder text
|
2018-11-02 18:20:32 +05:30 |
|
Roopesh Chander
|
8fee05969e
|
DNSResolver: Bugfix: Always call completion handler
|
2018-11-02 18:10:51 +05:30 |
|
Roopesh Chander
|
c04773276a
|
Info.plist: Update document icons and description
|
2018-11-02 17:40:46 +05:30 |
|
Roopesh Chander
|
dd04633b1d
|
Info.plist: Document type UTI should be consistent with exported UTI
|
2018-11-02 17:40:46 +05:30 |
|
Roopesh Chander
|
0e61d55d3e
|
Info.plist: Register zip file for open-in
|
2018-11-02 17:40:46 +05:30 |
|
Roopesh Chander
|
2c999c09de
|
Info.plist: Add .conf extension to document type
|
2018-11-02 17:40:46 +05:30 |
|
Roopesh Chander
|
2abcba8031
|
Add document icon
|
2018-11-02 17:39:43 +05:30 |
|
Roopesh Chander
|
1a169d5cc6
|
Add app icons
|
2018-11-02 16:11:24 +05:30 |
|
Roopesh Chander
|
db8c6cbc21
|
Handle cell reuse in showing delete buttons in red
|
2018-11-02 13:24:10 +05:30 |
|
Roopesh Chander
|
c643cd1478
|
Table edit: Show/hide 'Exclude Private IPs' instead of enable/disable
|
2018-11-02 13:12:10 +05:30 |
|
Roopesh Chander
|
864394cf81
|
Tunnel view model: If there's just one peer, populate the scratchpad on init
So that exclude private IPs can be computed correctly.
|
2018-11-02 13:09:45 +05:30 |
|
Roopesh Chander
|
c61491391e
|
Tunnel view model: Initialize peerData.numberOfPeers
|
2018-11-02 12:05:58 +05:30 |
|
Jason A. Donenfeld
|
799c2d96cd
|
DNSResolver: getaddrinfo returns a sockaddr and inet_ntop takes strlen
The way this was written before was totally wrong.
|
2018-11-02 05:34:17 +01:00 |
|
Jason A. Donenfeld
|
73f4a90dee
|
Global: OK over Ok
|
2018-11-01 21:22:12 +01:00 |
|
Roopesh Chander
|
2bb42ac3ec
|
Deletion buttons are shown in red
|
2018-11-01 23:53:09 +05:30 |
|
Roopesh Chander
|
bf2031776b
|
Tunnel edit: Highlight erroring field keys in red
|
2018-11-01 23:45:48 +05:30 |
|
Roopesh Chander
|
9f98e172b6
|
Tunnels list: Swipe left to delete
|
2018-11-01 23:45:48 +05:30 |
|
Jason A. Donenfeld
|
42948b2816
|
Global: fix up strings
|
2018-11-01 19:01:43 +01:00 |
|
Roopesh Chander
|
a0b24f53b5
|
QR code: Fix what happens when an error is shown
|
2018-11-01 22:08:01 +05:30 |
|
Jason A. Donenfeld
|
ae992c3deb
|
Export: fix up export format
|
2018-11-01 17:31:50 +01:00 |
|
Roopesh Chander
|
479f04a579
|
Tunnel errors: Consolidate tunnel activation errors into ErrorPresenter
|
2018-11-01 16:58:33 +05:30 |
|
Roopesh Chander
|
e222c8391e
|
TunnelsManager: Better errors
|
2018-11-01 16:57:40 +05:30 |
|
Roopesh Chander
|
c056000b55
|
ConfigFile: WgQuickConfigFileWriter: Fix '[Peer]' section header
|
2018-11-01 16:13:30 +05:30 |
|
Roopesh Chander
|
2d6426f798
|
Importing: Account for errors in showing the 'No configurations found' error
|
2018-11-01 15:59:17 +05:30 |
|
Roopesh Chander
|
1889614157
|
Tunnel detail: Fix deletion of tunnel
|
2018-11-01 15:54:37 +05:30 |
|
Roopesh Chander
|
d62c1fd84a
|
VPN: TunnelsManager: Fix deletion code
|
2018-11-01 15:53:10 +05:30 |
|
Roopesh Chander
|
c999c2a0ec
|
VPN: Restart tunnel after modifying a currently active configuration
|
2018-11-01 15:36:59 +05:30 |
|
Roopesh Chander
|
ecad18749a
|
QR code: Degrade gracefully when running on the simulator or on a device without a camera
|
2018-11-01 11:45:44 +05:30 |
|
Roopesh Chander
|
f7331997b2
|
Revert "QR code: QR code scanning is not available in the simulator"
This reverts commit 9729386406 .
|
2018-11-01 11:45:44 +05:30 |
|
Roopesh Chander
|
771aab9f0f
|
Importing: Show error when the zip file contains no .conf files
|
2018-11-01 11:45:44 +05:30 |
|
Roopesh Chander
|
c681b02f7d
|
VPN: We have to start observing the tunnelContainer before we attempt to activate it
|
2018-11-01 11:45:44 +05:30 |
|
Roopesh Chander
|
fd30ce0e0d
|
Importing: Error out on duplicate name
|
2018-11-01 11:45:44 +05:30 |
|
Roopesh Chander
|
de7bf4cf16
|
QR Code: Error out on duplicate name
|
2018-11-01 11:45:44 +05:30 |
|
Roopesh Chander
|
247396ce48
|
Tunnel edit: Error out on duplicate name when creating / modifying a tunnel
|
2018-11-01 11:45:44 +05:30 |
|
Roopesh Chander
|
02ff2f783c
|
VPN: An ErrorPresenter class to consolidate showing of error alerts
|
2018-11-01 11:45:44 +05:30 |
|
Roopesh Chander
|
d20a1ce7a4
|
VPN: Introduce an error enum for adding/modifying/removing tunnels
|
2018-11-01 11:45:44 +05:30 |
|
Roopesh Chander
|
6a586b6f98
|
VPN: TunnelsManager: s/TunnelsManagerError/TunnelActivationError/g;
|
2018-11-01 01:47:53 +05:30 |
|
Roopesh Chander
|
699ace099c
|
VPN: TunnelsManager should keep track of tunnel names to prevent duplicate names
|
2018-11-01 01:47:53 +05:30 |
|
Jason A. Donenfeld
|
56d827d04a
|
UI: not all subclasses of CopyableLabelTableViewCell have a detailTextLabel, so generalize
|
2018-10-31 16:38:05 +01:00 |
|
Jason A. Donenfeld
|
04993104b1
|
TunnelManager: bound recursion in startActivation
|
2018-10-31 15:58:03 +01:00 |
|
Roopesh Chander
|
5528be92ff
|
VPN: Retry startTunnel based on error conditions
|
2018-10-31 16:42:29 +05:30 |
|
Roopesh Chander
|
dae0e10e20
|
Tunnel list: Fix importing zip with multiple configurations
|
2018-10-31 14:30:25 +05:30 |
|
Roopesh Chander
|
efe019b643
|
VPN: Support adding multiple configurations in one shot
|
2018-10-31 14:29:54 +05:30 |
|
Jason A. Donenfeld
|
d75a89c09a
|
wireguard-go-bridge: extract version for consumption by network extension
|
2018-10-31 04:08:13 +01:00 |
|
Jason A. Donenfeld
|
34b9023f67
|
UI: More elegant copy-to-clipboard behavior
|
2018-10-31 02:17:47 +01:00 |
|
Roopesh Chander
|
9729386406
|
QR code: QR code scanning is not available in the simulator
|
2018-10-30 19:22:24 +05:30 |
|
Roopesh Chander
|
203eb46b28
|
Style: Remove 'Based on' attributions
|
2018-10-30 19:07:07 +05:30 |
|
Roopesh Chander
|
b12d7bfd95
|
QR code: Show label overlay with info on how to generate the QR code
|
2018-10-30 19:04:15 +05:30 |
|
Roopesh Chander
|
1039f1f35a
|
Tunnel creation: Placeholders for Listen port, Pre-shared key, Persistent Keepalive
|
2018-10-30 18:50:56 +05:30 |
|
Roopesh Chander
|
13e3f4ae0a
|
VPN: Refactor use of DNS resolution while activating the tunnel
|
2018-10-30 18:36:28 +05:30 |
|
Roopesh Chander
|
167f5ce55f
|
Tunnel view model: IP address can be specified without '/cidr'
|
2018-10-30 13:46:10 +05:30 |
|
Roopesh Chander
|
b372d50757
|
Model: IP address can be specified without '/cidr'
|
2018-10-30 13:45:16 +05:30 |
|
Roopesh Chander
|
46080aae63
|
Fix error message: s/atleast/at least/g;
|
2018-10-30 13:32:14 +05:30 |
|
Jason A. Donenfeld
|
f6d2feec22
|
Global: fix up captialization in headers
|
2018-10-30 03:57:35 +01:00 |
|
Jason A. Donenfeld
|
513cd7aa04
|
Style: simplify remaining headers
|
2018-10-30 03:55:43 +01:00 |
|
Jason A. Donenfeld
|
f3fa487702
|
ZIP: fix linter warnings
|
2018-10-30 00:50:01 +01:00 |
|
Roopesh Chander
|
495b017449
|
VPN: Better error messages
|
2018-10-30 00:24:50 +05:30 |
|
Roopesh Chander
|
0ef0eeb116
|
VPN: Specify an error when there are no peers with an endpoint
|
2018-10-29 23:38:40 +05:30 |
|
Roopesh Chander
|
22dd3dcc40
|
Export: Exporting config files
|
2018-10-29 23:06:55 +05:30 |
|
Roopesh Chander
|
d63ee03d66
|
mv Parsing/ ConfigFile/
|
2018-10-29 19:05:01 +05:30 |
|
Roopesh Chander
|
742da89df3
|
Settings: Add a settings panel
|
2018-10-29 17:34:09 +05:30 |
|
Roopesh Chander
|
7498e9556b
|
Model: Cap networkPrefixLengths to valid values
|
2018-10-29 16:49:49 +05:30 |
|
Roopesh Chander
|
93be31e4e6
|
Tunnel edit: Support for exclude private IPs
|
2018-10-29 16:44:47 +05:30 |
|
Roopesh Chander
|
eb61152fe0
|
Tunnel view model: Support for exclude private IPs
|
2018-10-29 16:43:53 +05:30 |
|
Roopesh Chander
|
7f69cb6118
|
Tunnel edit: Fix keyboard type for reused cells
|
2018-10-29 16:43:12 +05:30 |
|
Roopesh Chander
|
ec3b43bcdf
|
Tunnel detail: Assume there's just one section per peer
|
2018-10-29 13:02:11 +05:30 |
|
Roopesh Chander
|
e83a724d83
|
Tunnel edit: Assume there's just one section per peer
|
2018-10-29 12:47:00 +05:30 |
|
Roopesh Chander
|
641bcdea04
|
Tunnel edit: Set correct keyboard types
|
2018-10-29 06:19:50 +05:30 |
|
Roopesh Chander
|
3e1748bdd9
|
VPN: If we don't have to make a DNS request, we shouldn't enter that status
|
2018-10-29 06:19:50 +05:30 |
|
Roopesh Chander
|
5b85d58b27
|
VPN: Cache DNS resolutions while the app is in memory
|
2018-10-29 06:19:50 +05:30 |
|
Roopesh Chander
|
8d3b616fa8
|
VPN: Reload the tunnel before starting it up
To avoid errors like this: https://stackoverflow.com/q/47550706
|
2018-10-29 06:19:50 +05:30 |
|
Roopesh Chander
|
3ffd4a8280
|
Tunnel list, detail: Deletion of tunnels
|
2018-10-29 06:19:43 +05:30 |
|
Roopesh Chander
|
4e36ed43c0
|
VPN: Fix deletion of tunnels
|
2018-10-29 04:54:57 +05:30 |
|
Roopesh Chander
|
1e7fa2390d
|
Fix: Make sure all prepareForReuse() implementations call super
|
2018-10-29 02:27:14 +05:30 |
|