| Age | Commit message (Collapse) | Author | Files | Lines | |
|---|---|---|---|---|---|
| 2025-09-30 | Improve documentation and logging of connectivity status | Jonatan Rhodin | 2 | -4/+19 | |
| - Clarify why we need to listen for all non-VPN network events. - Log default network event types in production build. - Add log for when we try to check connectivity status. - Improve logging of when we can't access the internet via socket. | |||||
| 2025-07-03 | Fix gradle kotlinOptions warnings | David Göransson | 1 | -3/+7 | |
| 2025-06-04 | Fix connectivity manager util tests | Jonatan Rhodin | 1 | -2/+2 | |
| 2025-06-03 | Listen for all network events to fix missing default network events | Jonatan Rhodin | 1 | -39/+113 | |
| 2025-05-26 | Migrate remaining deps and versions to version catalogs | David Göransson | 1 | -4/+4 | |
| 2025-03-25 | Avoid using an unavailable ip version to connect to a relay | Jonatan Rhodin | 5 | -13/+37 | |
| Co-authored-by: Sebastian Holmin <sebastian.holmin@mullvad.net> | |||||
| 2025-03-24 | Make it possible to disable IPv6 in the tunnel | Jonatan Rhodin | 1 | -3/+3 | |
| 2025-03-07 | Use the correct connect function to detect online status | Jonatan Rhodin | 1 | -1/+1 | |
| 2025-03-07 | Track IPv6 connectivity on Android | David Lönnhager | 5 | -118/+160 | |
| Co-authored-by: Jonatan Rhoidn <jonatan.rhodin@mullvad.net> Co-authored-by: David Göransson <david.goransson@mullvad.net> | |||||
| 2025-03-04 | Improve connectivity listener online detection | David Göransson | 2 | -72/+77 | |
| Fixes incorrect filter for networkEvents. Also adds debouncing to offline state when roaming to cellular from WiFi, this would otherwise cause a full reconnection. | |||||
| 2025-03-03 | Fix connectivity listener | David Göransson | 1 | -27/+55 | |
| Fixes an issue where another VPN app or user having unfortunate timing of turning on airplane mode and connecting at almost the same time would leave a lingering network cached in the scan. This fix will start with the all networks state and give the networkEvents flow 1 second to start up and emit the actual network state. | |||||
| 2025-02-26 | Fix spamming of connectivity changed events | Jonatan Rhodin | 1 | -0/+2 | |
| 2025-02-25 | Remove cached VpnConfig in TalpidVpnService | David Göransson | 1 | -8/+1 | |
| 2025-02-25 | Reduce open_tun calls (Establish) | David Göransson | 2 | -28/+18 | |
| Each call to Establish opens a window for leaks on android. By only invoking Establish if the VpnConfig if any of the input has changed and reusing it otherwise we avoid many of these leaks. This commit also waits for android to report back that the routes have been created to ping and verify connectivity to avoid pings going outside the tunnel. | |||||
| 2025-02-25 | Fix incorrectly notifying offline | David Göransson | 1 | -19/+30 | |
| Incorrectly notifying that we are offline to the daemon would result in us enter ErrorState, and thus restarting the tunnel in a blocking state, opening a small window for leaks of traffic. | |||||
| 2025-02-25 | Allow invalidating NetworkState cache | David Göransson | 1 | -2/+13 | |
| 2025-02-25 | Refactor defaultRawNetworkStateFlow | David Göransson | 1 | -18/+13 | |
| 2025-02-06 | Replace old waitForTunnelUp function | David Göransson | 6 | -168/+244 | |
| After invoking VpnService.establish() we will get a tunnel file descriptor that corresponds to the interface that was created. However, this has no guarantee of the routing table beeing up to date, and we might thus send traffic outside the tunnel. Previously this was done through looking at the tunFd to see that traffic is sent to verify that the routing table has changed. If no traffic is seen some traffic is induced to a random IP address to ensure traffic can be seen. This new implementation is slower but won't risk sending UDP traffic to a random public address at the internet. | |||||
| 2024-12-19 | Make Number of networks log less noisy | David Göransson | 1 | -3/+6 | |
| 2024-12-12 | Add logging to connectivity listener | Jonatan Rhodin | 1 | -2/+11 | |
| 2024-11-27 | Handle legacy always-on vpn profiles | David Göransson | 4 | -16/+24 | |
| Co-authored-by: Jonatan Rhodin <jonatan.rhodin@mullvad.net> | |||||
| 2024-11-22 | Make connectivity sender static | David Lönnhager | 2 | -27/+2 | |
| 2024-11-22 | Refactor ConnectivityListener | David Göransson | 4 | -61/+207 | |
| 2024-11-22 | Simplify ConnectivityListener | David Lönnhager | 1 | -8/+5 | |
| 2024-11-22 | Expose current dns servers | David Göransson | 2 | -1/+23 | |
| 2024-10-08 | Suppress ConnectivityListener unused | David Göransson | 1 | -0/+4 | |
| 2024-10-08 | Suppress return count | David Göransson | 1 | -0/+3 | |
| 2024-10-03 | Make all compiler warnings errors | David Göransson | 1 | -1/+4 | |
| 2024-09-24 | Set build tools version to 35.0.0 | David Göransson | 1 | -0/+1 | |
| 2024-09-06 | Handle Exception when tunnel fails to establish | David Göransson | 1 | -3/+14 | |
| 2024-09-06 | Make prefixForAddress a extension function | David Göransson | 1 | -6/+8 | |
| 2024-08-28 | Reformat kotlin code using updated ktfmt plugin | Albin | 1 | -1/+1 | |
| This commit mostly adds trailing commas throughout the project, but also includes a few other formatting changes. | |||||
| 2024-08-13 | Refactor tunnel provider and TalpidVpnService | David Lönnhager | 1 | -24/+16 | |
| This also fixes the issue of the VPN service being restarted unnecessarily | |||||
| 2024-08-13 | Migrate to version catalogs | Albin | 1 | -10/+10 | |
| 2024-06-26 | Migrate log calls to kermit | Albin | 1 | -3/+2 | |
| 2024-06-26 | Add kermit dependency | Albin | 1 | -1/+2 | |
| 2024-05-29 | Migrate to gRPC | David Göransson | 19 | -230/+79 | |
| Co-authored-by: Jonatan Rhodin <jonatan.rhodin@mullvad.net> Co-authored-by: Markus Pettersson <markus.pettersson@mullvad.net> Co-authored-by: David Lönnhager <david.l@mullvad.net> | |||||
| 2024-05-08 | Set dummy DNS if none are valid | David Göransson | 1 | -0/+17 | |
| This is a fix for DNS leaks when no DNS server has been configured due to an underlying OS bug. Lockdown mode ("Block connections without VPN") would also not help in this case. More information on this issue: https://issuetracker.google.com/issues/337961996 | |||||
| 2024-02-05 | Fix too general Exception | David Göransson | 1 | -1/+1 | |
| 2023-11-17 | Add missing FirewallPolicyError class | Jonatan Rhodin | 2 | -8/+21 | |
| 2023-09-21 | Apply automatic formatting and cleanup of gradle files | Albin | 1 | -6/+2 | |
| 2023-09-12 | Perform AS Code Cleanup | David Göransson | 1 | -5/+5 | |
| 2023-08-04 | Remove targetSdk from libs | Albin | 1 | -1/+0 | |
| 2023-08-04 | Apply updated ktfmt formatting | Albin | 2 | -0/+2 | |
| 2023-08-03 | Bump container image, jdk, gradle and agp | Albin | 1 | -2/+2 | |
| 2023-07-25 | Add network permission to talpid module | Albin | 1 | -1/+3 | |
| 2023-07-25 | Move talpid classes to talpid module | Albin | 19 | -0/+471 | |
| 2023-07-25 | Add empty talpid module | Albin | 2 | -0/+35 | |
