summaryrefslogtreecommitdiffhomepage
path: root/talpid-wireguard/Cargo.toml
AgeCommit message (Collapse)AuthorFilesLines
2025-10-24Bump GotaTunMarkus Pettersson1-2/+2
Co-authored-by: Joakim Hulthe <joakim.hulthe@mullvad.net>
2025-10-20Promote widestring to workspace dependencyMarkus Pettersson1-1/+1
Do not care about talpid-openvpn since it's slated for removal
2025-10-03Remove DAITA from wireguard-ntDavid Lönnhager1-4/+0
2025-10-03Add a UDS for wiresharking gotatun multihop trafficJoakim Hulthe1-0/+1
2025-09-23Upgrade `rand` to `0.9` in `talpid-wireguard`Markus Pettersson1-2/+5
Document why `rand` can't be upgraded in `wireguard_nt::daita`
2025-09-17Upgrade rtnetlink libs to latest versionMarkus Pettersson1-2/+1
Signed-off-by: Markus Pettersson <markus.pettersson@mullvad.net>
2025-09-17Promote `netlink-*` crates to workspace dependenciesMarkus Pettersson1-4/+4
Signed-off-by: Markus Pettersson <markus.pettersson@mullvad.net>
2025-09-03Add last WG handshake to statsDavid Lönnhager1-0/+1
2025-08-26Update boringtun, adding multihop fixes and GROSebastian Holmin1-1/+1
Adds: - Userspace multihop de-fragmentation - PcapSniffer - UDP GRO on Linux Also updates setup of userspace multihop on the deamon side, as `PacketChannel` has been replaced with specifc channel types that implement the `IpSend`, `IpRecv`, `UdpSend` and `UdpRecv` traits.
2025-08-05Fix Android boringtun buildDavid Lönnhager1-1/+1
2025-08-05Bump boringtun depJoakim Hulthe1-1/+1
2025-07-25Create new boringtun devices when toggling multihopDavid Lönnhager1-1/+1
2025-07-25Add userspace multihop to boringtunJoakim Hulthe1-2/+2
2025-06-10Update nix to 0.30 everywhereJoakim Hulthe1-1/+1
2025-06-03Fix boringtun device not being closedDavid Lönnhager1-1/+1
2025-05-26Add BoringtunJoakim Hulthe1-21/+33
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-02-27Use socket instead of ping command when pinging on androidJonatan Rhodin1-5/+0
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-01-24Complete leak checker and implement in daemonJoakim Hulthe1-1/+1
2025-01-24Enable DAITA v2 for Windows via wireguard-goDavid Lönnhager1-2/+0
2025-01-23Refactor connectivity check to be asyncDavid Lönnhager1-0/+1
2024-10-21Update to maybenot 2.0.0 on WindowsDavid Lönnhager1-1/+2
2024-09-25Add `futures` to workspace dependenciesSebastian Holmin1-1/+1
2024-09-24Move ephemeral negotiation to own moduleDavid Lönnhager1-1/+1
2024-08-20Move MTU helpers to talpid-net crateDavid Lönnhager1-0/+3
2024-07-25Upgrade pfctl to 0.5.0 and ipnetwork to 0.20Linus Färnstrand1-1/+1
2024-07-25Add missing feature in `talpid-wireguard`Markus Pettersson1-0/+1
Fix `cargo test -p talpid-wireguard` by adding missing `test-util` feature for `tokio`.
2024-06-25Link statically against libwgMarkus Pettersson1-1/+1
Co-authored-by: David Lönnhager <david.l@mullvad.net>
2024-06-25Use Wireguard-go when DAITA is enabledMarkus Pettersson1-0/+1
2024-06-25Add a safe FFI wrapper in `wireguard-go-rs`Sebastian Holmin1-1/+3
- Add local wireguard go import - Activate DAITA and add `wgActivateDaita` and `wgReceiveEvent` FFI - Implement `start_daita` on Wireguard-go tunnel type - Mention DAITA in `wireguard-go-rs` description - Do not compile `wireguard-go-rs` on Windows - Handle DAITA closed on `nil` event - Handle daita action timeouts in libwg - Remove noisy log lines - Remove `maybenot_on_action` callback - Remove unused link to `../build/lib` for `talpid-wireguard` - Bump the `wireguard-go` submodule to a signed release tag in Mullvad's `wireguard-go` fork. - Update path to `libwg/go.sum` in verification script Also: - Use u64 instead of *mut void as log context - Make Tunnel::set_config take a &mut self - Use dyn Error instead of i32s for wg errors Co-authored-by: Joakim Hulthe <joakim@hulthe.net>
2024-04-25Run cargo update + use new base64Joakim Hulthe1-1/+0
2024-04-16Add DAITA Windows client and updated tuncfgDavid Lönnhager1-0/+2
2024-03-27Refactor `mullvad-relay-selector`Markus Pettersson1-2/+1
Implement a system built on 'queries' for selecting appropriate relays. A query is a set of constraints which dictates which relay(s) that *can* be chosen by the relay selector. The user's settings can naturally be expressed as a query. The semantics of merging two queries in a way that always prefer user settings is defined by the new `Intersection` trait. Split `mullvad-relay-selector` into several modules: - `query.rs`: Definition of a query on different types of relays. This module is integral to the new API of `mullvad-relay-selector` - `matcher.rs`: Logic for filtering out candidate relays based on a query. - `detailer.rs`: Logic for deriving connection details for the selected relay. - `tests/`: Integration tests for the new relay selector. These tests only use the public APIs of `RelaySelector` and make sure that the output matches the expected output in different scenarios.
2024-02-27Use `tokio::time::pause` to mock time in testsSebastian Holmin1-0/+1
2024-02-27Replace err_derive with thiserrorJoakim Hulthe1-1/+1
`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-12Fix `talpid_wireguard::unix::set_mtu` for macosSebastian Holmin1-1/+1
2024-02-09Add windows MTU detection implementation.Sebastian Holmin1-1/+1
2024-02-08Add `proptest` dependencySebastian Holmin1-0/+3
2024-02-08Add automatic MTU detectionSebastian Holmin1-0/+1
2024-01-16Add rust-version to all Cargo.tomlLinus Färnstrand1-0/+1
2024-01-09Remove version and publish cargo metadataLinus Färnstrand1-2/+0
Since Rust 1.75.0 the `version` field is optional. The version defaults to "0.0.0" if it's not specified, and `publish` defaults to false if no version has been given. So by not specifying a version we get both `version = "0.0.0" and `publish = false` "for free"
2024-01-04Add workspace level lintsLinus Färnstrand1-0/+2
2023-10-20Move talpid-windows-net into talpid-windowsDavid Lönnhager1-1/+1
2023-10-11Make `once_cell` a workspace dependencyMarkus Pettersson1-1/+1
2023-09-11Move log depedency to workspace toml fileDavid Lönnhager1-1/+1
2023-09-11Make err-derive a workspace dependencyDavid Lönnhager1-1/+1
2023-08-11Upgrade socket2 from 0.4 to 0.5 in our own cratesLinus Färnstrand1-1/+1
2023-08-07Add missing clock feature to chrono in talpid-wireguardLinus Färnstrand1-1/+1
2023-08-04Replace all use of `lazy_static` with `once_cell`Markus Pettersson1-1/+1
To align more with the upcoming standardizations within the Rust ecosystem which started with the release of `1.70.0` and the inevitable deprecation of `lazy_static`.
2023-08-02Make chrono a workspace dependency and fix featuresLinus Färnstrand1-1/+1
2023-08-01Move windows-sys to a workspace dependencyLinus Färnstrand1-2/+2