summaryrefslogtreecommitdiffhomepage
path: root/test
AgeCommit message (Collapse)AuthorFilesLines
2024-04-04Upgrade h2 to non-vulnerable version RUSTSEC-2024-0332Linus Färnstrand1-2/+2
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/+9
* 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 Pettersson5-32/+44
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-26Update [deny] section of the deny.toml filesLinus Färnstrand1-4/+0
2024-03-26Update [advisories] section of our deny.toml files to version 2Linus Färnstrand1-5/+1
2024-03-26Update and align [sources] section of our deny.toml filesLinus Färnstrand1-4/+9
2024-03-26Update [licenses] section of deny.toml to version 2Linus Färnstrand1-8/+2
2024-03-26Update cargo deny targetsLinus Färnstrand1-8/+11
Adds Android and iOS targets
2024-03-26Enter blocking state correctly in upgrade testDavid Lönnhager1-2/+1
2024-03-25Make sure connecting works while API is unavailableMarkus Pettersson4-45/+109
2024-03-25Bump dependenciesMarkus Pettersson2-35/+24
Get rid of transitive dependency on `is-terminal` and `termcolor`
2024-03-25Upgrade `plist`Markus Pettersson2-28/+35
2024-03-22Bump "rust-version" to 1.77 since the containers use that nowLinus Färnstrand1-1/+1
2024-03-21Fix wonky timeouts in test_split_tunnelJoakim Hulthe1-3/+14
2024-03-21Upgrade is-terminal to get rid of runtime rustix dependencyLinus Färnstrand1-4/+70
2024-03-21Upgrade rustix to fix GHSA-c827-hfw6-qwvmLinus Färnstrand1-10/+9
Fixing hypothetical denial of service due to ever growing memory usage. Not possible to exploit in our app. 2/3 usages is in build dependencies. Only usage inside the built app is via is-terminal which does not use `rustix::fs::Dir`. https://osv.dev/vulnerability/GHSA-c827-hfw6-qwvm
2024-03-20Merge test_mtu_detection_{windows,linux} testsJoakim Hulthe1-18/+2
2024-03-20Test leaking TCP/UDP/ICMP packets in split tunnelJoakim Hulthe20-172/+863
2024-03-20Group platform split tunnel tests under one testJoakim Hulthe1-4/+15
2024-03-20Add split tunnel test for windowsJoakim Hulthe1-25/+96
2024-03-20Add am-i-mullvad cli for testing split tunnelingJoakim Hulthe6-7/+225
2024-03-20Make OVMF paths configurable per VMJoakim Hulthe2-8/+36
2024-03-20Use curl for split tunnel testJoakim Hulthe1-8/+13
2024-03-20Refactor test_macro error handling without panicsJoakim Hulthe3-88/+107
2024-03-20Make e2e tests accept anyhow errorsJoakim Hulthe5-20/+18
2024-03-20Add basic split-tunnel testJoakim Hulthe2-1/+60
2024-03-20Refactor forward_messages to use select macroJoakim Hulthe1-28/+29
2024-03-13Run `cargo deny` in `test` workspaceMarkus Pettersson1-0/+98
Security advisories`RUSTSEC-2023-0081` makes `cargo deny` fail when running it from the test workspace. No fixes have been released for any of our dependencies which triggers these security advisories, so we have litle choise other than ignoring them for now and keeping an eye out for updates upstream.
2024-03-12Update test-manager dep `inventory`Joakim Hulthe4-52/+16
2024-03-08Add wrapped strings to error messagesSebastian Holmin1-8/+8
2024-03-08Add MTU detection integration test for Linux and WindowsSebastian Holmin12-136/+360
Add dependency `scopeguard` for cleaning up nftables ruleset.
2024-03-08Add `.container` to `.gitignore`Sebastian Holmin1-0/+1
2024-03-05Fix shellcheck warnings and notesJoakim Hulthe1-1/+1
2024-03-05Upgrade mio to avoid RUSTSEC-2024-0019Linus Färnstrand1-2/+2
2024-02-27Fix `clippy` lint 'suspicious_open_options'Markus Pettersson1-0/+2
2024-02-27Replace err_derive with thiserrorJoakim Hulthe18-232/+168
`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-20Move `relay_updater` to `mullvad-daemon`Markus Pettersson1-13/+0
Move `mullvad-relay-selector::relay_updater` to the `mullvad-daemon`. The implications of this is that `mullvad-relay-selector` can drop the dependency on both `mullvad-api` and `tokio`, which brings down the total amount of dependencies when running a simple `Cargo check` from 250+ down to a mere 75. :-)
2024-02-19Fix redundant importsDavid Lönnhager1-1/+1
2024-02-16Refactor API access methodsDavid Lönnhager1-4/+1
2024-02-16Run `import-settings` UI tests in test frameworkMarkus Pettersson1-0/+11
2024-02-15Enable access method GUI test in e2e testingMarkus Pettersson4-19/+111
Since `test_custom_access_methods_ui` may fail after messing with the test runner environment, we want to fail fast and abort the entire test run if the test fails before managing to clean up.
2024-02-15Fix unhelpful error messageMarkus Pettersson1-3/+4
2024-02-15Add integration tests for API access methodsMarkus Pettersson4-4/+108
Add Shadowsocks & SOCKS5 (remote) access method tests. Simply try to access the Mullvad API using these custom access methods.
2024-02-15Fix off-by-one error when choosing access method candidatesMarkus Pettersson2-14/+15
2024-02-15Update `test/Cargo.lock`Markus Pettersson1-0/+29
2024-02-08Bump `curve25519-dalek` to `4.1.2`Markus Pettersson1-2/+2
2024-02-08Bump `x25519-dalek` to `2.0.1`Markus Pettersson1-2/+2
2024-02-08Add local SOCKS bridge testDavid Lönnhager1-1/+105