| Age | Commit message (Collapse) | Author | Files | Lines | |
|---|---|---|---|---|---|
| 2025-10-29 | Make the DAITA overhead log more compact | Sebastian Holmin | 1 | -23/+14 | |
| 2025-10-24 | Add padding packet over log on disconnect | Sebastian Holmin | 1 | -2/+34 | |
| 2025-10-24 | Propagate error if configuring GotaTun device in invalid state | Markus Pettersson | 1 | -0/+5 | |
| 2025-10-24 | Integrate GotaTun cleanly | Markus Pettersson | 1 | -37/+53 | |
| Refactor `trait Tunnel` and factor `start_daita` into `set_config`. Co-authored-by: Joakim Hulthe <joakim.hulthe@mullvad.net> | |||||
| 2025-10-08 | Block tunnel traffic when negotiating with an ephemeral peer on Android | Markus Pettersson | 1 | -0/+1 | |
| Patch tunnel config to block traffic to non-gateway destinations during PQ setup when using Boringtun on Android. Move `patch_allowed_ips` to `config` module. | |||||
| 2025-09-18 | Add multiplexer POC to daemon, TSM, and relay selector | David Lönnhager | 1 | -1/+7 | |
| 2025-08-21 | Set QUIC MTU based on route only | David Lönnhager | 1 | -55/+69 | |
| 2025-08-18 | Set clamped MTU for obfuscation | David Lönnhager | 1 | -6/+9 | |
| 2025-08-18 | Update QUIC MTU value | David Lönnhager | 1 | -0/+6 | |
| 2025-07-25 | Do not set per-route MTU for boringtun | David Lönnhager | 1 | -9/+27 | |
| 2025-07-10 | Run `cargo fmt` | Sebastian Holmin | 1 | -3/+3 | |
| 2025-07-09 | Fix returning the result of a `let` binding | Sebastian Holmin | 1 | -4/+2 | |
| 2025-05-26 | Add Boringtun | Joakim Hulthe | 1 | -182/+178 | |
| 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-05-14 | Add some comments to talpid-wireguard | Joakim Hulthe | 1 | -0/+5 | |
| 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-02-25 | Reduce open_tun calls (Establish) | David Göransson | 1 | -10/+8 | |
| 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-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 | Make start_tunnel async on Windows | David Lönnhager | 1 | -5/+3 | |
| 2025-01-24 | Support `FORCE_USERSPACE_WIREGUARD` on windows | Sebastian Holmin | 1 | -3/+3 | |
| 2025-01-24 | Remove more use of `#[cfg(daita)]` | Markus Pettersson | 1 | -2/+0 | |
| 2025-01-24 | Format code | David Lönnhager | 1 | -10/+12 | |
| 2025-01-24 | Handle network changes for wireguard-go (rebind endpoint socket) | David Lönnhager | 1 | -3/+5 | |
| 2025-01-24 | Enable DAITA v2 for Windows via wireguard-go | David Lönnhager | 1 | -15/+13 | |
| 2025-01-24 | Build wireguard-go via wireguard-go-rs on Windows | David Lönnhager | 1 | -0/+17 | |
| 2025-01-23 | Refactor connectivity check to be async | David Lönnhager | 1 | -110/+88 | |
| 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 | |
| 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 | 1 | -2/+0 | |
| 2024-12-18 | Force WireGuard handshake before PQ handshake | David Lönnhager | 1 | -0/+2 | |
| 2024-12-12 | Use dynamic DAITA machines in wireguard-go | David Lönnhager | 1 | -13/+8 | |
| Co-authored-by: Markus Pettersson <markus.pettersson@mullvad.net> | |||||
| 2024-12-02 | Replace generic with new type | Sebastian Holmin | 1 | -39/+35 | |
| 2024-12-02 | Replace dyn fn with generic | Sebastian Holmin | 1 | -25/+20 | |
| 2024-12-02 | Make tunnel connection errors recoverable | Kalle Lindström | 1 | -9/+0 | |
| 2024-11-22 | Check that that tunnel can serve traffic after starting a new tunnel | Kalle Lindström | 1 | -67/+60 | |
| - Split up "ConnectivityCheck" into more descriptive types and collect them in a new `connectivity` module. - Fix allow Wireguard-Go tunnel setup to be cancelled - Use retry param in connectivity check | |||||
| 2024-11-22 | Fix a lot of things | Markus Pettersson | 1 | -55/+35 | |
| - Fix remaining rustc warnings on non-Android platforms - Fix lookup entry peer if it exists in wireguard-go - Fix talpid-wireguard not compiling on windows - Fix entry peer config code - Fix clippy issue - Fix Daita - Remove TODOs | |||||
| 2024-11-22 | Add multihop negotiation with ephemeral peers | Kalle Lindström | 1 | -23/+51 | |
| Use `WgGoTunnel` directly on Android because a specialized implemenation of `set_config` has to be used. | |||||
| 2024-11-22 | Split up platform specific `start_tunnel` functions | Markus Pettersson | 1 | -0/+28 | |
| 2024-10-24 | Fix endpoint addr route | David Lönnhager | 1 | -2/+2 | |
| 2024-10-23 | Do not adjust MTU at all if user has overridden it | David Lönnhager | 1 | -6/+12 | |
| 2024-10-23 | Move MTU adjustment into talpid-wireguard | David Lönnhager | 1 | -4/+85 | |
| 2024-10-21 | Take obfuscation overhead into account when setting MTU | Joakim Hulthe | 1 | -1/+8 | |
| 2024-10-17 | Fix obfuscation not being applied properly on tunnel creation | David Göransson | 1 | -9/+10 | |
| 2024-09-24 | Move ephemeral negotiation to own module | David Lönnhager | 1 | -200/+4 | |
