summaryrefslogtreecommitdiffhomepage
path: root/Cargo.toml
AgeCommit message (Collapse)AuthorFilesLines
2025-02-04Add rust-toolchain.toml specifying Rust 1.83.0Linus Färnstrand1-0/+1
2025-01-24Complete leak checker and implement in daemonJoakim Hulthe1-1/+5
2025-01-24Add PoC leak checker library and CLIJoakim Hulthe1-0/+1
2025-01-22Remove libraries and not needed crates from default-membersLinus Färnstrand1-35/+5
2025-01-03Upgrade `thiserror` to version 2Markus Pettersson1-1/+1
2025-01-03Promote `tun` to a workspace dependencyMarkus Pettersson1-0/+1
2024-12-13Bump `tokio` to version 1.42Markus Pettersson1-1/+1
2024-12-11Update `idna` to version 1.0.3Markus Pettersson1-3/+3
2024-12-10Add windows-installer toolDavid Lönnhager1-0/+40
2024-11-22Add non-blocking DNS resolver for Android API requestsDavid Lönnhager1-0/+3
2024-11-21Add `nsventforwarder` to root Cargo workspaceMarkus Pettersson1-0/+1
2024-10-22Add `http1` feature to `hyper-util`Sebastian Holmin1-1/+1
2024-10-16Bump `tower`Sebastian Holmin1-1/+1
2024-10-16Update `hyper` and other deps that use `hyper`Sebastian Holmin1-1/+1
2024-10-03Move shared macos code to talpid-macosDavid Lönnhager1-0/+1
2024-10-02Bump tonic to 0.12.3Joakim Hulthe1-1/+1
2024-09-25Upgrade `tonic` to 0.12 and `prost` to 0.13Sebastian Holmin1-3/+4
Upgrading `tonic` is a prerequisite to later on upgrading `hyper` to version 1.0. As of version 1.0, `hyper` no longer uses `tokio`s `AsyncWriter` and `AsyncReader` traits, instead defining its own versions, see <https://github.com/hyperium/hyper/issues/3110>. As tonic `0.12` is updated to use the `hyper 1.0` ecosystem, it changed some of its trait-bounds to the new `hyper` traits. The `hyper-utils` crate provides the wrapper `TokioIo`, which converts between the two. `prost` had to be upgraded as well, for compatibility.
2024-09-25Add `futures` to workspace dependenciesSebastian Holmin1-0/+1
2024-09-25Add `parity-tokio-ipc` to workspace dependenciesSebastian Holmin1-0/+1
Also regroup networking-related crates
2024-09-23Add mullvad-obfuscated-dns-proxyEmīls1-0/+1
2024-09-10Expose Shadowsocks fd on AndroidDavid Lönnhager1-2/+2
2024-08-29Change Rust opt-level from 3 to "s" to optimize for binary sizeLinus Färnstrand1-3/+4
My experiments show that on Linux this change yield ~25-30% smaller binaries and ~20-30% faster compiles.
2024-08-27Update MSRVDavid Lönnhager1-1/+1
2024-08-27Use std LazyLock instead of once_cell LazyDavid Lönnhager1-1/+1
2024-08-20Move MTU helpers to talpid-net crateDavid Lönnhager1-0/+1
2024-08-07Promote serde(_json) to workspace dependenciesJoakim Hulthe1-0/+2
2024-07-25Lower priority for lint groupDavid Lönnhager1-1/+1
2024-07-25Upgrade pfctl to 0.5.0 and ipnetwork to 0.20Linus Färnstrand1-0/+2
2024-07-17Add a Rust FFI, Disable sandboxing for scriptsBug Magnet1-4/+3
2024-06-25Add a safe FFI wrapper in `wireguard-go-rs`Sebastian Holmin1-0/+1
- 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-25Update windows-sysJoakim Hulthe1-1/+1
2024-04-16Remove duplicate workspace memberDavid Lönnhager1-1/+0
2024-04-16Add DAITA Windows client and updated tuncfgDavid Lönnhager1-0/+1
2024-04-04Add macros for implementing `Intersection` traitSebastian Holmin1-0/+1
2024-04-03Enable single-use-lifetimes rustc lintLinus Färnstrand1-0/+1
Removes superfluous lifetime definitions. Simplifying the code
2024-04-02Enable more of the Allowed-by-default lints in rustcLinus Färnstrand1-1/+10
* macro_use_extern_crate - Forbid #[macro_use] to bring macros into global scope. Even using `extern crate` is deprecated by now, so just extra protection against that * explicit_outlives_requirements - Warn aginst explicit lifetime bounds that can be inferred from the code. Keeps noise away. * absolute_paths_not_starting_with_crate - Catches Rust 2015 style absolute paths and denies them. * missing_abi - Force explicitly stating the ABI of `extern` items. Less implicit code * unused_lifetimes - Warn if you have lifetimes that are not used. Same reason as warning against unused variables * unused_macro_rules - Warn if you have a declarative macro with a rule that is never used. Basically same reason as warning on unused variables. Removes dead code
2024-04-02Deny non-ascii Rust identifiersLinus Färnstrand1-0/+5
Prevents some cases of supply chain attacks where code is made to look like one thing, but does something else
2024-03-27Refactor `mullvad-relay-selector`Markus Pettersson1-0/+2
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-03-22Bump "rust-version" to 1.77 since the containers use that nowLinus Färnstrand1-1/+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-15Add `talpid-future` crateMarkus Pettersson1-8/+9
Refactor some parts of `talpid-core` to `talpid-future`.
2024-01-25Configure cargo to strip the binaries in release modeLinus Färnstrand1-0/+1
2024-01-22Bump `clap` and `clap_complete`Sebastian Holmin1-1/+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/+6
2023-12-11Categorize files based on functionalitiesmojganii1-1/+1
2023-12-11Moving MullvadTransport into MullvadRESTmojganii1-1/+1
2023-10-20Move talpid-windows-net into talpid-windowsDavid Lönnhager1-1/+1
2023-10-11Make `once_cell` a workspace dependencyMarkus Pettersson1-0/+1