Commit message (Collapse) | Author | Age | Files | Lines | ||
---|---|---|---|---|---|---|
... | ||||||
* | TunnelsManager: initialize observer on correct thread | Jason A. Donenfeld | 2018-11-03 | 1 | -5/+7 | |
| | | | | | | Because of the callback recursion, this function needs to always be called from the right thread Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com> | |||||
* | TunnelsManager: do not track currentTunnel | Jason A. Donenfeld | 2018-11-03 | 1 | -33/+6 | |
| | | | | | | It's error prone and does not give us anything. Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com> | |||||
* | TunnelsManager: do not change back to inactive if we are resolving the endpoint | Jason A. Donenfeld | 2018-11-03 | 1 | -0/+5 | |
| | | | | Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com> | |||||
* | TunnelsManager: fix use of arrayslice in addMultiple | Jason A. Donenfeld | 2018-11-03 | 1 | -5/+4 | |
| | | | | Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com> | |||||
* | TunnelsManager: get rid of name set | Jason A. Donenfeld | 2018-11-03 | 1 | -16/+4 | |
| | | | | | | | Instead, tunnels itself should be a sorted-set. For now it's a list, which is probably fine though. Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com> | |||||
* | TunnelsManager: get rid of index management | Jason A. Donenfeld | 2018-11-03 | 1 | -47/+27 | |
| | | | | | | | 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. Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com> | |||||
* | Global: no periods at the end of error messages | Jason A. Donenfeld | 2018-11-03 | 1 | -5/+5 | |
| | | | | Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com> | |||||
* | Import: rework addMultiple logic | Jason A. Donenfeld | 2018-11-03 | 1 | -13/+10 | |
| | | | | Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com> | |||||
* | DNSResolver: Bugfix: Always call completion handler | Roopesh Chander | 2018-11-02 | 1 | -1/+4 | |
| | | | | Signed-off-by: Roopesh Chander <roop@roopc.net> | |||||
* | DNSResolver: getaddrinfo returns a sockaddr and inet_ntop takes strlen | Jason A. Donenfeld | 2018-11-02 | 1 | -4/+6 | |
| | | | | | | The way this was written before was totally wrong. Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com> | |||||
* | TunnelsManager: Better errors | Roopesh Chander | 2018-11-01 | 1 | -4/+4 | |
| | | | | Signed-off-by: Roopesh Chander <roop@roopc.net> | |||||
* | VPN: TunnelsManager: Fix deletion code | Roopesh Chander | 2018-11-01 | 1 | -1/+1 | |
| | | | | Signed-off-by: Roopesh Chander <roop@roopc.net> | |||||
* | VPN: Restart tunnel after modifying a currently active configuration | Roopesh Chander | 2018-11-01 | 1 | -7/+27 | |
| | | | | Signed-off-by: Roopesh Chander <roop@roopc.net> | |||||
* | VPN: We have to start observing the tunnelContainer before we attempt to activate it | Roopesh Chander | 2018-11-01 | 1 | -1/+1 | |
| | | | | Signed-off-by: Roopesh Chander <roop@roopc.net> | |||||
* | VPN: Introduce an error enum for adding/modifying/removing tunnels | Roopesh Chander | 2018-11-01 | 1 | -11/+28 | |
| | | | | Signed-off-by: Roopesh Chander <roop@roopc.net> | |||||
* | VPN: TunnelsManager: s/TunnelsManagerError/TunnelActivationError/g; | Roopesh Chander | 2018-11-01 | 1 | -6/+6 | |
| | | | | Signed-off-by: Roopesh Chander <roop@roopc.net> | |||||
* | VPN: TunnelsManager should keep track of tunnel names to prevent duplicate names | Roopesh Chander | 2018-11-01 | 1 | -0/+17 | |
| | | | | Signed-off-by: Roopesh Chander <roop@roopc.net> | |||||
* | TunnelManager: bound recursion in startActivation | Jason A. Donenfeld | 2018-10-31 | 1 | -3/+11 | |
| | | | | Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com> | |||||
* | VPN: Retry startTunnel based on error conditions | Roopesh Chander | 2018-10-31 | 1 | -11/+58 | |
| | | | | Signed-off-by: Roopesh Chander <roop@roopc.net> | |||||
* | VPN: Support adding multiple configurations in one shot | Roopesh Chander | 2018-10-31 | 1 | -0/+21 | |
| | | | | Signed-off-by: Roopesh Chander <roop@roopc.net> | |||||
* | VPN: Refactor use of DNS resolution while activating the tunnel | Roopesh Chander | 2018-10-30 | 1 | -40/+56 | |
| | | | | Signed-off-by: Roopesh Chander <roop@roopc.net> | |||||
* | Global: fix up captialization in headers | Jason A. Donenfeld | 2018-10-30 | 3 | -3/+3 | |
| | | | | Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com> | |||||
* | VPN: Better error messages | Roopesh Chander | 2018-10-30 | 1 | -1/+6 | |
| | | | | Signed-off-by: Roopesh Chander <roop@roopc.net> | |||||
* | VPN: Specify an error when there are no peers with an endpoint | Roopesh Chander | 2018-10-29 | 1 | -0/+5 | |
| | | | | Signed-off-by: Roopesh Chander <roop@roopc.net> | |||||
* | VPN: If we don't have to make a DNS request, we shouldn't enter that status | Roopesh Chander | 2018-10-29 | 2 | -13/+43 | |
| | | | | Signed-off-by: Roopesh Chander <roop@roopc.net> | |||||
* | VPN: Cache DNS resolutions while the app is in memory | Roopesh Chander | 2018-10-29 | 1 | -6/+22 | |
| | | | | Signed-off-by: Roopesh Chander <roop@roopc.net> | |||||
* | VPN: Reload the tunnel before starting it up | Roopesh Chander | 2018-10-29 | 1 | -9/+12 | |
| | | | | | | To avoid errors like this: https://stackoverflow.com/q/47550706 Signed-off-by: Roopesh Chander <roop@roopc.net> | |||||
* | VPN: Fix deletion of tunnels | Roopesh Chander | 2018-10-29 | 1 | -1/+3 | |
| | | | | Signed-off-by: Roopesh Chander <roop@roopc.net> | |||||
* | VPN: A tunnel may be already active on app startup | Roopesh Chander | 2018-10-28 | 1 | -9/+21 | |
| | | | | Signed-off-by: Roopesh Chander <roop@roopc.net> | |||||
* | VPN: Remove ability to deactivate the tunnel while resolving DNS | Roopesh Chander | 2018-10-28 | 1 | -13/+7 | |
| | | | | Signed-off-by: Roopesh Chander <roop@roopc.net> | |||||
* | VPN: DNSResolver: Resolve multiple endpoints in parallel | Roopesh Chander | 2018-10-28 | 1 | -21/+32 | |
| | | | | Signed-off-by: Roopesh Chander <roop@roopc.net> | |||||
* | VPN: Save the tunnel name when modifying a tunnel | Roopesh Chander | 2018-10-28 | 1 | -0/+3 | |
| | | | | Signed-off-by: Roopesh Chander <roop@roopc.net> | |||||
* | VPN: Cleaner derivation of subnet mask from CIDR network prefix length | Roopesh Chander | 2018-10-28 | 1 | -14/+8 | |
| | | | | Signed-off-by: Roopesh Chander <roop@roopc.net> | |||||
* | VPN: Better error and status handling | Roopesh Chander | 2018-10-27 | 1 | -73/+49 | |
| | | | | Signed-off-by: Roopesh Chander <roop@roopc.net> | |||||
* | VPN: Bring up the tunnel | Roopesh Chander | 2018-10-27 | 2 | -1/+183 | |
| | | | | | | | | | | The app figures out all settings and passes them in the 'options' parameter of startTunnel(). The network extension just takes them as is and just plugs the supplied values into the right places. Signed-off-by: Roopesh Chander <roop@roopc.net> | |||||
* | VPN: Fix DNS resolution API | Roopesh Chander | 2018-10-27 | 2 | -9/+25 | |
| | | | | Signed-off-by: Roopesh Chander <roop@roopc.net> | |||||
* | VPN: Perform DNS resolution before starting the tunnel | Roopesh Chander | 2018-10-27 | 1 | -10/+29 | |
| | | | | Signed-off-by: Roopesh Chander <roop@roopc.net> | |||||
* | VPN: DNSResolver: A class that does DNS resolution using getaddrinfo | Roopesh Chander | 2018-10-27 | 1 | -0/+93 | |
| | | | | Signed-off-by: Roopesh Chander <roop@roopc.net> | |||||
* | VPN: Activating, deactivating and tracking the status | Roopesh Chander | 2018-10-27 | 1 | -14/+159 | |
| | | | | Signed-off-by: Roopesh Chander <roop@roopc.net> | |||||
* | Model: Add a version number to the tunnel | Roopesh Chander | 2018-10-27 | 1 | -1/+2 | |
| | | | | Signed-off-by: Roopesh Chander <roop@roopc.net> | |||||
* | VPN: Adding, modifying and deleting actual NETunnelProviderManager instances | Roopesh Chander | 2018-10-27 | 1 | -40/+141 | |
| | | | | Signed-off-by: Roopesh Chander <roop@roopc.net> | |||||
* | Model: Allow creating an interface with empty name | Roopesh Chander | 2018-10-27 | 1 | -0/+1 | |
| | | | | | | | | But don't allow such a tunnel to be added to the tunnel manager. (We'll need to create an interface with an empty name when we're reading QR codes.) Signed-off-by: Roopesh Chander <roop@roopc.net> | |||||
* | VPN: Tunnel container shall provide direct access to the configuration object | Roopesh Chander | 2018-10-27 | 1 | -1/+4 | |
| | | | | Signed-off-by: Roopesh Chander <roop@roopc.net> | |||||
* | Tunnel creation: After saving the new tunnel, show the detail view | Roopesh Chander | 2018-10-27 | 1 | -2/+2 | |
| | | | | Signed-off-by: Roopesh Chander <roop@roopc.net> | |||||
* | Smaller copyright headers | Roopesh Chander | 2018-10-27 | 1 | -7/+2 | |
| | | | | Signed-off-by: Roopesh Chander <roop@roopc.net> | |||||
* | Tunnels list: Update when a tunnel is added | Roopesh Chander | 2018-10-27 | 1 | -0/+6 | |
| | | | | Signed-off-by: Roopesh Chander <roop@roopc.net> | |||||
* | Model: Name should be part of the interface, not the tunnel | Roopesh Chander | 2018-10-27 | 1 | -1/+1 | |
| | | | | Signed-off-by: Roopesh Chander <roop@roopc.net> | |||||
* | VPN: Add TunnelsManager to manage the tunnels in the app | Roopesh Chander | 2018-10-27 | 1 | -0/+82 | |
Signed-off-by: Roopesh Chander <roop@roopc.net> |