summaryrefslogtreecommitdiffhomepage
path: root/mullvad-daemon/src/migrations/v7.rs
AgeCommit message (Collapse)AuthorFilesLines
2025-07-22Remove unused code from settings migrationLinus Färnstrand1-54/+0
2025-07-15Allow some unused structsMarkus Pettersson1-0/+1
Do not modify closed migration code.
2025-07-10Run `cargo fmt`Sebastian Holmin1-1/+1
2024-11-28Fix clippy warningsMarkus Pettersson1-1/+1
2024-06-24Run `cargo +nightly fmt`Sebastian Holmin1-7/+9
2024-01-31Change API access methods settings formatMarkus Pettersson1-27/+286
Change API access methods settings format to encode that built-in access methods always exist by making them distinct values of the `AccessMethod` settings. This change was also propagated to the corresponding protobuf definition, such that any client may make use of this fact as well. The appropriate settings migration was added.
2024-01-12Validate SOCKS5 credentialsMarkus Pettersson1-4/+3
Validate SOCKS credentials by checking that both `username` and `password` both have a length between 1 and 255 bytes. Link to RFC detailing SOCKS5 username/password authentication: https://datatracker.ietf.org/doc/html/rfc1929
2024-01-05Run `cargo clippy --all-targets --fix`Sebastian Holmin1-2/+0
These lints where missed because the problems were inside tests. Note that "targets" does not refer to OS/architectures. ``` > cargo build --help ... Target Selection: --lib Build only this package's library --bins Build all binaries --bin [<NAME>] Build only the specified binary --examples Build all examples --example [<NAME>] Build only the specified example --tests Build all test targets --test [<NAME>] Build only the specified test target --benches Build all bench targets --bench [<NAME>] Build only the specified bench target --all-targets Build all targets ```
2024-01-03Allow app to use custom socks5 and shadwosocks proxiesJonathan1-0/+995
This PR has a couple of different purposes - Allow users to use socks5 local proxies with the CLI without having to be root nor use split-tunneling. This only works for OpenVPN. - Unify the types used by different proxy parts of the codebase, such as the Access Methods as well as some already existing OpenVPN proxy code. This PR changes the firewall on all desktop platforms as well as changes the routing table slightly on MacOS and Windows. On Linux the firewall code is modified to apply the appropriate firewall marks to all packages that go to a remote endpoint corresponding to the remote part of a local socks5 proxy. The firewall marks will allow the routing to be done without having to modify the routing table. On MacOS and Windows the routing table is modified to allow packages to go to that same endpoint to pass outside the VPN tunnel, it will additionally punch a hole in the firewall. The PR also migrates the settings file from version 7 to version 8 in order to properly and neatly unify Proxy related types. Finally it provides some slight extensions to the gRPC interface in order to allow for control over the custom proxy settings.