| Age | Commit message (Collapse) | Author | Files | Lines | |
|---|---|---|---|---|---|
| 2025-03-24 | Make it possible to disable IPv6 in the tunnel | Jonatan Rhodin | 1 | -1/+7 | |
| 2025-03-21 | Use regular default route for the tunnel interface on Windows | David Lönnhager | 1 | -22/+1 | |
| This replaces the /1 routes for two reasons: 1. This mitigates an issue in our fork of wireguard-nt, which intentionally allows routes back to the tunnel interface. The fork explicitly disallows this only for routes with a prefix 0, which means that the /1 routes are not exempted. This can result in an infinite routing loop if the non-tunnel route to the relay is removed (e.g., if the default interface or its routes disappear). 2. This simplifies the code and routes. The /1 routes are unnecessary since we're setting the metric on the default route and interface to the lowest value anyway, so the OS should always prefer the tunnel default route. Even if it doesn't, the firewall will prevent leaks. | |||||
| 2025-03-19 | Set MTU on IPv6 interface for wireguard-nt only if IPv6 is enabled | David Lönnhager | 2 | -3/+8 | |
| 2025-03-18 | Remove superfluous .to_vec()'s, and replace some with vec![] | Linus Färnstrand | 1 | -114/+74 | |
| 2025-02-27 | Use socket instead of ping command when pinging on android | Jonatan Rhodin | 4 | -89/+14 | |
| Previous implementation spawned a process with tokio which in turn registered a signal handler without ONASTACK flag set. When using GO code, all signal handlers needs to have this flag set otherwise a signal might be handled on a goroutine thread which has a small stack and thus can overflow. Reference: DROID-1825 Co-authored-by: David Lönnhager <david.l@mullvad.net> | |||||
| 2025-02-25 | Fix connection loop regression | David Göransson | 1 | -0/+6 | |
| 2025-02-25 | Fix comment about routes on android | David Göransson | 1 | -3/+5 | |
| 2025-02-25 | Allow undocumented_unsafe_blocks in even more modules | Joakim Hulthe | 1 | -0/+2 | |
| 2025-02-25 | Add safety comment to talpid_wireguard::wireguard_go | Joakim Hulthe | 1 | -0/+4 | |
| 2025-02-25 | Fix unaligned pointer read | Joakim Hulthe | 1 | -16/+27 | |
| 2025-02-25 | Move iface_index helper to talpid-net | Joakim Hulthe | 1 | -27/+1 | |
| 2025-02-25 | Move some safety comments to clippy recognizes them | Joakim Hulthe | 1 | -3/+3 | |
| 2025-02-25 | Reduce open_tun calls (Establish) | David Göransson | 3 | -33/+93 | |
| 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-12 | Format workspace | Sebastian Holmin | 1 | -7/+7 | |
| The 2024 edition contains new formatting rules. All of these are not compatible with the 2021 formatting style, but most of them are. To change the formatting to be as close to the new style as possible while remaining compatible with the 2021 edition, I first ran `cargo +beta fmt` with the edition set to 2024, then, with the edition set to 2021, I ran `cargo fmt`. | |||||
| 2025-02-12 | Fix `unsafe_op_in_unsafe_fn` warning | Sebastian Holmin | 3 | -26/+31 | |
| 2025-02-06 | Do not change routes between tunnel reconfiguration | Markus Pettersson | 1 | -1/+6 | |
| 2025-02-06 | Replace old waitForTunnelUp function | David Göransson | 1 | -1/+7 | |
| 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-27 | Do bikeshedding | Sebastian Holmin | 1 | -41/+19 | |
| 2025-01-27 | Refactor error message for Linux | Sebastian Holmin | 1 | -23/+12 | |
| 2025-01-27 | Split into a fn per platform | Sebastian Holmin | 1 | -100/+107 | |
| 2025-01-27 | Refactor wireguard implementation picker | Sebastian Holmin | 1 | -62/+87 | |
| 2025-01-24 | Complete leak checker and implement in daemon | Joakim Hulthe | 1 | -1/+1 | |
| 2025-01-24 | Remove block_in_place | David Lönnhager | 1 | -9/+8 | |
| 2025-01-24 | Make start_tunnel async on Windows | David Lönnhager | 2 | -13/+8 | |
| 2025-01-24 | Support `FORCE_USERSPACE_WIREGUARD` on windows | Sebastian Holmin | 1 | -3/+3 | |
| 2025-01-24 | Target macos and linux when conditionally compiling | David Lönnhager | 1 | -1/+1 | |
| 2025-01-24 | Remove more use of `#[cfg(daita)]` | Markus Pettersson | 2 | -4/+0 | |
| 2025-01-24 | Format code | David Lönnhager | 5 | -22/+25 | |
| 2025-01-24 | Fix socket rebind on default route changes when using multihop | David Lönnhager | 1 | -28/+5 | |
| 2025-01-24 | Handle network changes for wireguard-go (rebind endpoint socket) | David Lönnhager | 2 | -4/+60 | |
| 2025-01-24 | Enable DAITA v2 for Windows via wireguard-go | David Lönnhager | 6 | -32/+84 | |
| 2025-01-24 | Build wireguard-go via wireguard-go-rs on Windows | David Lönnhager | 3 | -6/+24 | |
| 2025-01-24 | Ensure tunnel is running after updating wireguard config | David Göransson | 1 | -2/+7 | |
| 2025-01-23 | Refactor connectivity check to be async | David Lönnhager | 15 | -499/+548 | |
| 2025-01-14 | Add route to obfuscator if necessary | Markus Pettersson | 1 | -1/+1 | |
| 2025-01-07 | Fix bug where `block_on` was called from an async context | Markus Pettersson | 1 | -4/+22 | |
| 2025-01-03 | Upgrade `tun` to get rid of set_address code on Linux | Markus Pettersson | 1 | -3/+9 | |
| 2024-12-20 | Remove unwrap | Sebastian Holmin | 1 | -1/+2 | |
| 2024-12-20 | Add `log_tunnel_data_usage` to Android too | Sebastian Holmin | 1 | -3/+11 | |
| 2024-12-20 | Add logging for ephemeral peer negotiation timeouts on Windows | Sebastian Holmin | 1 | -2/+29 | |
| 2024-12-20 | Revert `force_wireguard_handshake` because it was broken | Markus Pettersson | 4 | -74/+4 | |
| 2024-12-19 | Remove 'force_wireguard_handshake' on non-Windows | David Lönnhager | 2 | -2/+4 | |
| The firewall blocks the pinger in some circumstances | |||||
| 2024-12-19 | Do not block during ephemeral peer exchange | David Lönnhager | 1 | -7/+8 | |
| 2024-12-18 | Revert reset of pinger establish timeout | David Lönnhager | 1 | -2/+0 | |
| 2024-12-18 | Ignore failed ping (since multihop is flaky) | David Lönnhager | 1 | -1/+3 | |
| 2024-12-18 | Reset connection monitor state and timeout between each ping attempt | David Lönnhager | 1 | -0/+2 | |
| 2024-12-18 | Force WireGuard handshake before PQ handshake | David Lönnhager | 4 | -6/+71 | |
| 2024-12-17 | Do not drop conn checker when updating tun without toggling multihop | David Lönnhager | 1 | -6/+11 | |
| 2024-12-12 | Remove some deprecated ref patterns | Joakim Hulthe | 1 | -5/+1 | |
| 2024-12-12 | Remove unused test | David Lönnhager | 1 | -30/+0 | |
