| Age | Commit message (Collapse) | Author | Files | Lines |
|
|
|
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.
|
|
|
|
Make the daemon send two tunnel state updates, one with out IP being
empty, and another with it being filled when am.i.mullvad.net responds.
Update CLI for this change. Other front ends are left out.
|
|
|
|
Flatten the inner loop of `start_packet_monitor_for_interface` by using
`tokio::select!` instead of composing `futures::select`
|
|
- Import qualified `network_monitor`
- Add `obtain_guest_ip`
- Fix docs
|
|
|
|
|
|
Installing the app twice (or more times) should have the same observable
effect as installing it once. If the app is upgraded and the user is in
a connected state before starting the upgrade, no traffic should leak
during the installation process and the app should start up in a
connected state preserving the relay constraints.
|
|
The function `set_mullvad_daemon_service_state(on: bool) -> Result<(),
test_rpc::Error>`, which would conditionally start or stop the Mullvad
daemon in the test runner, has been superseded by two separate functions which
accomplish the same thing: `start_mullvad_daemon` & `stop_mullvad_daemon`.
|
|
Add regression test which checks that the daemon successfully recovers
from a corrupt target state cache. If the target state cache is corrupt,
the daemon will default to the `Connecting` target state on startup.
|
|
- Implement RPC for writing to a file in a test runner / guest VM.
- Implement RPC for getting app cache directory
- Implement RPC for restarting the app in a test runner / guest vm
- Implement RPC for starting the app in a test runner / guest vm
- Implement RPC for stopping the app in a test runner / guest vm
- Implement `find_cache_traces` on Window & macOS
|
|
test_bridge)
|
|
|
|
We have seen `test_bridge` fail due to high latency if slow + far-away
servers were selected. Hopefully delegating the task of picking
appropriate entry & exit relays will help mitigate this.
|
|
Prefer types from `mullvad-types` over equivavelent types defined in
`mullvad-management-interface`.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Upload e2e-test report matrix as an `.html` file and submit it to github
actions job summary: https://github.blog/2022-05-09-supercharging-github-actions-with-job-summaries/
|
|
|
|
|
|
|
|
Loosen up relay constraints in
`test_quantum_resistant_multihop_udp2tcp_tunnel`, which makes the test
more resilient to changes in the testing environment.
|
|
Co-authored-by: Jonathan <jonathan@mullvad.net>
Co-authored-by: Markus Pettersson <markus.pettersson@mullvad.net>
|