| Age | Commit message (Collapse) | Author | Files | Lines | |
|---|---|---|---|---|---|
| 2025-10-24 | Integrate GotaTun cleanly | Markus Pettersson | 1 | -2/+2 | |
| Refactor `trait Tunnel` and factor `start_daita` into `set_config`. Co-authored-by: Joakim Hulthe <joakim.hulthe@mullvad.net> | |||||
| 2025-10-07 | Define networks as const values | Markus Pettersson | 1 | -16/+9 | |
| 2025-10-03 | Bump windows-sys version to latest | David Lönnhager | 1 | -3/+3 | |
| This also refactors and documents some code | |||||
| 2025-09-15 | Update ipnetwork and convert LazyLock to const | Joakim Hulthe | 1 | -2/+2 | |
| 2025-07-25 | Create new boringtun devices when toggling multihop | David Lönnhager | 1 | -1/+2 | |
| 2025-07-25 | Set MTU in Unix tun provider | David Lönnhager | 1 | -0/+7 | |
| 2025-07-10 | Run `cargo fmt` | Sebastian Holmin | 3 | -5/+5 | |
| 2025-07-09 | Inline format arguments | Linus Färnstrand | 1 | -6/+3 | |
| 2025-06-12 | Fix variable name | Joakim Hulthe | 1 | -4/+4 | |
| 2025-06-12 | Fix tun file descriptor ownership | Joakim Hulthe | 1 | -4/+4 | |
| We accidentally borrowed the file descriptor when we should have moved it. This commit adds more `OwnedFd` and friends to help handle ownership correctly. Signed-off-by: Joakim Hulthe <joakim.hulthe@mullvad.net> | |||||
| 2025-06-12 | Add IPv6 support to Windows tun provider | David Lönnhager | 1 | -16/+23 | |
| 2025-06-10 | Update nix to 0.30 everywhere | Joakim Hulthe | 2 | -2/+37 | |
| 2025-05-26 | Add Boringtun | Joakim Hulthe | 5 | -150/+522 | |
| Co-authored-by: Joakim Hulthe <joakim.hulthe@mullvad.net> Co-authored-by: Sebastian Holmin <sebastian.holmin@mullvad.net> Co-authored-by: David Göransson <david.goransson@mullvad.net> Co-authored-by: Markus Pettersson <markus.pettersson@mullvad.net> Co-authored-by: David Lönnhager <david.l@mullvad.net> | |||||
| 2025-03-24 | Make it possible to disable IPv6 in the tunnel | Jonatan Rhodin | 1 | -0/+6 | |
| 2025-03-19 | Set MTU on IPv6 interface for wireguard-nt only if IPv6 is enabled | David Lönnhager | 1 | -3/+10 | |
| 2025-02-25 | Rename and comment variable | David Göransson | 1 | -3/+4 | |
| 2025-02-25 | Suppress unsafe warning when cloning JavaVM | Joakim Hulthe | 1 | -0/+5 | |
| 2025-02-25 | Reduce open_tun calls (Establish) | David Göransson | 2 | -22/+76 | |
| 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-13 | Downgrade to tun 0.5.5 | David Lönnhager | 1 | -11/+14 | |
| 2025-02-06 | Replace old waitForTunnelUp function | David Göransson | 1 | -2/+5 | |
| 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. | |||||
| 2025-01-09 | Use `ip -6 addr` command for setting ipv6 addr on linux | Joakim Hulthe | 1 | -25/+25 | |
| Using tun throws strange I/O errors. There may be a bug related to ipv6 in tun 0.7.10 | |||||
| 2025-01-03 | Promote `tun` to a workspace dependency | Markus Pettersson | 1 | -1/+1 | |
| 2025-01-03 | Enable the `async` feature of `tun` | Markus Pettersson | 2 | -24/+4 | |
| Use `tun::AsyncDevice` instead of hand-rolling an async tunnel device with `tun::Device` + sys calls. | |||||
| 2025-01-03 | Clean up API for setting tunnel device name | Markus Pettersson | 2 | -4/+7 | |
| 2025-01-03 | Derive `Default` for `TunnelDeviceBuilder` | Markus Pettersson | 1 | -7/+1 | |
| 2025-01-03 | Upgrade `tun` to get rid of set_address code on Linux | Markus Pettersson | 3 | -44/+53 | |
| 2025-01-03 | Remove `duct` from `talpid-tunnel` | Markus Pettersson | 2 | -23/+15 | |
| 2024-12-18 | Fix JNI enum names | David Göransson | 1 | -5/+7 | |
| 2024-12-02 | Replace generic with new type | Sebastian Holmin | 1 | -8/+27 | |
| 2024-12-02 | Replace dyn fn with generic | Sebastian Holmin | 1 | -3/+5 | |
| 2024-11-27 | Handle legacy always-on vpn profiles | David Göransson | 1 | -4/+14 | |
| Co-authored-by: Jonatan Rhodin <jonatan.rhodin@mullvad.net> | |||||
| 2024-09-25 | Add `futures` to workspace dependencies | Sebastian Holmin | 1 | -1/+1 | |
| 2024-09-02 | Remove unused NetworkInterface trait | David Lönnhager | 1 | -52/+29 | |
| 2024-09-02 | Set tunnel name to wg0-mullvad for wireguard-go | David Lönnhager | 2 | -32/+58 | |
| Co-authored-by: Markus Pettersson <markus.pettersson@mullvad.net> | |||||
| 2024-09-02 | Run `cargo +nightly clippy --fix` | Markus Pettersson | 1 | -0/+1 | |
| 2024-08-27 | Use std LazyLock instead of once_cell Lazy | David Lönnhager | 2 | -7/+8 | |
| 2024-08-13 | Refactor tunnel provider and TalpidVpnService | David Lönnhager | 6 | -247/+221 | |
| This also fixes the issue of the VPN service being restarted unnecessarily | |||||
| 2024-08-13 | Update missing comment | David Lönnhager | 1 | -1/+1 | |
| 2024-08-13 | Remove duplicate dummy DNS fix for VpnService | David Lönnhager | 1 | -9/+0 | |
| 2024-08-13 | Don't pass in excluded apps from wireguard-go | David Lönnhager | 1 | -5/+0 | |
| 2024-07-30 | Reconnect if split tunnel state changed | Markus Pettersson | 1 | -1/+1 | |
| 2024-07-25 | Fix Android code related to ipnetwork upgrades | Linus Färnstrand | 1 | -3/+3 | |
| 2024-07-25 | Upgrade pfctl to 0.5.0 and ipnetwork to 0.20 | Linus Färnstrand | 1 | -1/+1 | |
| 2024-05-29 | Migrate to gRPC | David Göransson | 2 | -9/+35 | |
| 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 servers in blocking states | David Lönnhager | 1 | -11/+30 | |
| This is a fix for DNS leaks in blocking states due to an underlying OS bug where DNS queries leak when no DNS server is configured. 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-27 | Replace err_derive with thiserror | Joakim Hulthe | 3 | -43/+33 | |
| `err_derive` is unmaintained and will probably stop working with rust edition 2024. `thiserror` is almost a drop-in replacement. This commit simply replaces all occurences of `derive(err_derive::Error)` with `derive(thiserror::Error)` and fixes the attributes, but the Error and Display impls should be identical. | |||||
| 2024-02-08 | Removed unused function | Markus Pettersson | 1 | -9/+0 | |
| 2024-02-08 | Move constants | Sebastian Holmin | 1 | -0/+13 | |
| 2024-02-08 | Fix typos | Sebastian Holmin | 1 | -1/+1 | |
| 2024-01-16 | Add rust-version to all Cargo.toml | Linus Färnstrand | 1 | -0/+1 | |
