Proto commits in mullvad/mullvadvpn-app

These commits are when the Protocol Buffers files have changed: (only the last 100 relevant commits are shown)

Commit:f98465a
Author:David Lönnhager
Committer:David Lönnhager

Add QUIC obfuscation to mullvad daemon and management interface

The documentation is generated from this commit.

Commit:a88a451
Author:David Lönnhager
Committer:David Lönnhager

Add QUIC obfuscation to mullvad daemon and management interface

The documentation is generated from this commit.

Commit:b0c3235
Author:David Lönnhager
Committer:David Lönnhager

Add QUIC obfuscation to mullvad daemon and management interface

The documentation is generated from this commit.

Commit:f66eb1f
Author:Sebastian Holmin

Add note on `GetVersionInfo` cancelling updates

Commit:8e2d421
Author:Linus Färnstrand
Committer:Linus Färnstrand

Update ephemeral peer proto definition to prepare for HQC-256

Commit:766f903
Author:Linus Färnstrand
Committer:Linus Färnstrand

Use HQC-256 instead of Classic McEliece in quantum-resistant handshake

Commit:c2e07b5
Author:David Lönnhager
Committer:David Lönnhager

Add QUIC obfuscation to mullvad daemon and management interface

The documentation is generated from this commit.

Commit:fc23fdd
Author:David Lönnhager
Committer:David Lönnhager

Add QUIC obfuscation to mullvad daemon and management interface

The documentation is generated from this commit.

Commit:b8f6af3
Author:Sebastian Holmin
Committer:Tobias Järvelöv

Add in app upgrades to the daemon --------- Co-authored-by: Markus Pettersson <markus.pettersson@mullvad.net>

Commit:aa583c0
Author:David Lönnhager
Committer:Tobias Järvelöv

Implement new version check and app downloader This also fixes 'latest_beta' being required in the API Co-authored-by: Sebastian Holmin <sebastian.holmin@mullvad.net> Co-authored-by: Markus Pettersson <markus.pettersson@mullvad.net>

Commit:21a1a1b
Author:Tobias Järvelöv
Committer:Tobias Järvelöv

Remove unused fields in AppVersionInfo These fields are never consumed by any client and can therefore be removed.

Commit:51f4073
Author:Tobias Järvelöv
Committer:Tobias Järvelöv

Add AppUpgrade messages and related RPC calls

Commit:8d65052
Author:Tobias Järvelöv
Committer:Tobias Järvelöv

Update AppVersionInfo field suggested_upgrade It is now its own message with more information about the suggested upgrade.

Commit:7412da2
Author:David Lönnhager

Add obfuscation type

The documentation is generated from this commit.

Commit:f014713
Author:David Lönnhager
Committer:David Lönnhager

Add QUIC obfuscation to mullvad daemon and management interface

Commit:891324a
Author:Linus Färnstrand
Committer:Linus Färnstrand

Use HQC-256 instead of Classic McEliece in quantum-resistant handshake

Commit:81e13a0
Author:Linus Färnstrand
Committer:Linus Färnstrand

Update ephemeral peer proto definition to prepare for HQC-256

Commit:70ac769
Author:David Göransson
Committer:Jonatan Rhodin

Revert smart routing logic for DAITA: Multihop feature indicator This reverts commit 5d69b1db and renames smart routing to DAITA: Multihop

Commit:0987729
Author:Sebastian Holmin
Committer:GitHub

Add in app upgrades to the daemon --------- Co-authored-by: Markus Pettersson <markus.pettersson@mullvad.net>

Commit:0db6e80
Author:Jonatan Rhodin
Committer:Jonatan Rhodin

Improve error message when an unavailable ip version is selected

Commit:e95f2d2
Author:David Lönnhager
Committer:Tobias Järvelöv

Implement new version check and app downloader This also fixes 'latest_beta' being required in the API Co-authored-by: Sebastian Holmin <sebastian.holmin@mullvad.net> Co-authored-by: Markus Pettersson <markus.pettersson@mullvad.net>

Commit:03b8270
Author:Tobias Järvelöv
Committer:Tobias Järvelöv

Remove unused fields in AppVersionInfo These fields are never consumed by any client and can therefore be removed.

Commit:a14a568
Author:Tobias Järvelöv
Committer:Tobias Järvelöv

Add AppUpgrade messages and related RPC calls

Commit:91d7465
Author:Tobias Järvelöv
Committer:Tobias Järvelöv

Update AppVersionInfo field suggested_upgrade It is now its own message with more information about the suggested upgrade.

Commit:f2a77ba
Author:Markus Pettersson
Committer:Markus Pettersson

Implement new debug commands: `relay disable` and `relay enable` Add two new `mullvad debug` subcommands: - mullvad debug relay enable <country|city|hostname|openvpn|wireguard> - mullvad debug relay disable <country|city|hostname|openvpn|wireguard> These commands are used to update the state of relays the current relay list. This is useful to mock relays going offline or coming online from an offline state. These new debug commands were conceived during the development of the feature for adding warnings for the upcoming OpenVPN deprecation, as there wasn't a convenient way of mocking this.

Commit:354baa7
Author:Markus Pettersson
Committer:Markus Pettersson

Implement new debug commands: `relay disable` and `relay enable` Add two new `mullvad debug` subcommands: - mullvad debug relay enable <country|city|hostname|openvpn|wireguard> - mullvad debug relay disable <country|city|hostname|openvpn|wireguard> These commands are used to update the state of relays the current relay list. This is useful to mock relays going offline or coming online from an offline state. These new debug commands were conceived during the development of the feature for adding warnings for the upcoming OpenVPN deprecation, as there wasn't a convenient way of mocking this.

Commit:ac87e53
Author:David Lönnhager
Committer:David Lönnhager

Implement new version check and app downloader This also fixes 'latest_beta' being required in the API Co-authored-by: Sebastian Holmin <sebastian.holmin@mullvad.net> Co-authored-by: Markus Pettersson <markus.pettersson@mullvad.net>

Commit:a166713
Author:Tobias Järvelöv
Committer:Oliver

Add AppUpgrade messages and related RPC calls

Commit:bf9d616
Author:Tobias Järvelöv
Committer:Oliver

Update AppVersionInfo field suggested_upgrade It is now its own message with more information about the suggested upgrade.

Commit:ceda91d
Author:Tobias Järvelöv
Committer:Oliver

Remove unused fields in AppVersionInfo These fields are never consumed by any client and can therefore be removed.

Commit:287729b
Author:Sebastian Holmin
Committer:Sebastian Holmin

Merge branch 'main' into tracing-instrument

Commit:2760372
Author:Tobias Järvelöv
Committer:Markus Pettersson

Remove optional for tunnel_type in NormalRelaySettings message

Commit:f568147
Author:Sebastian Holmin
Committer:Sebastian Holmin

Add `mullvad logging listen`

Commit:5b66922
Author:Sebastian Holmin
Committer:Sebastian Holmin

Add `mullvad logging set-level` cmd

Commit:5ffb4e1
Author:Sebastian Holmin
Committer:Sebastian Holmin

Simplify log filter

Commit:46bc014
Author:Sebastian Holmin
Committer:Sebastian Holmin

Add log reload handle

Commit:541fc4d
Author:David Lönnhager

Set correct DAITA platform on Windows

Commit:af5cd2e
Author:David Göransson
Committer:David Göransson

Typed create account

Commit:975ab55
Author:Markus Pettersson

WIP Use `LoginResult` message

Commit:9d00d2b
Author:David Göransson

Typed login

Commit:8fb29be
Author:David Göransson
Committer:David Göransson

Update changelog presentation

Commit:32e7246
Author:Kalle Lindström
Committer:David Göransson

Add proto datastore dependency

Commit:8580f9a
Author:David Lönnhager
Committer:David Lönnhager

Add support for DAITA v2 to talpid tunnel config client Co-authored-by: Markus Pettersson <markus.pettersson@mullvad.net>

Commit:1bb7fc7
Author:David Göransson
Committer:David Göransson

Handle legacy always-on vpn profiles Co-authored-by: Jonatan Rhodin <jonatan.rhodin@mullvad.net>

Commit:0b277b7
Author:David Lönnhager
Committer:David Lönnhager

Add RPC for checking if TCC approval is needed

Commit:23da8da
Author:Sebastian Holmin
Committer:Sebastian Holmin

Add `mullvad logging listen`

Commit:7062ba0
Author:Sebastian Holmin
Committer:Sebastian Holmin

Add `mullvad logging set-level` cmd

Commit:12f8968
Author:Sebastian Holmin
Committer:Sebastian Holmin

Simplify log filter

Commit:28e844c
Author:Sebastian Holmin
Committer:Sebastian Holmin

Add log reload handle

Commit:4d51fe6
Author:Markus Pettersson
Committer:Markus Pettersson

Define the built-in access method "Encrypted DNS proxy"

Commit:d5c7876
Author:Linus Färnstrand
Committer:Linus Färnstrand

Replace pqc_kyber with ml-kem Upgrading one of the key encapsulation mechanism algorithms we use for quantum-resistant tunnels from Kyber (draft) to ML-KEM (standardized FIPS 203)

Commit:0be8f2f
Author:Sebastian Holmin
Committer:Sebastian Holmin

Merge branch 'rename-smart_routing-to-use_multihop_if_necessary-des-1292'

Commit:0578e79
Author:Sebastian Holmin
Committer:Sebastian Holmin

Rename "smart routing" to "direct only" in the API Also invert the behavior

Commit:5d69b1d
Author:Sebastian Holmin
Committer:Sebastian Holmin

Replace `smart_routing` with `use_multihop_if_necessary` in daemon Simplify the logic for feature indicators

Commit:2c092bc
Author:David Lönnhager
Committer:David Lönnhager

Route unexpected primary interface traffic via VPN utun Co-authored-by: Joakim Hulthe <joakim.hulthe@mullvad.net>

Commit:ee849a4
Author:David Lönnhager
Committer:David Lönnhager

Remove setting to leak traffic to apple networks

Commit:fd8f186
Author:Joakim Hulthe
Committer:Joakim Hulthe

Rename account "token" to account "number"

Commit:be940cf
Author:Joakim Hulthe
Committer:Joakim Hulthe

Add setting to leak traffic to apple networks Co-authored-by: David Lönnhager <david.l@mullvad.net>

Commit:d0b2b24
Author:Joakim Hulthe
Committer:Joakim Hulthe

Add setting to leak traffic to apple networks Co-authored-by: David Lönnhager <david.l@mullvad.net>

Commit:cd78ee2
Author:Joakim Hulthe
Committer:Joakim Hulthe

Align Smart routing GUI with design spec

Commit:3fac6f5
Author:Joakim Hulthe
Committer:Joakim Hulthe

Add daita.enabled and daita.use_anywhere rpc calls

Commit:3373ca2
Author:Joakim Hulthe
Committer:Joakim Hulthe

Add `use_anywhere` feature indicator

Commit:09f779c
Author:Joakim Hulthe
Committer:Joakim Hulthe

Add `use_anywhere` daita setting

Commit:39c0a26
Author:David Lönnhager
Committer:David Lönnhager

Parse shadowsocks ports in relay list

Commit:854c9ba
Author:David Lönnhager
Committer:David Lönnhager

Add Shadowsocks feature indicator

Commit:0945cdb
Author:David Lönnhager
Committer:David Lönnhager

Add Shadowsocks obfuscation support to mullvad-daemon

Commit:7992055
Author:Joakim Hulthe
Committer:Markus Pettersson

Implement feature indicators in daemon - Add a GetFeatureIndicators gRPC call that get's the current set of active "features" that should be shown in the UI. - Extend the TunnelState with a FeatureIndicators value. Clients who listens for TunnelState events will get updates automatically.

Commit:05d05c3
Author:David Lönnhager
Committer:David Lönnhager

Add ResetSettings RPC to the management interface

Commit:a1c6311
Author:Linus Färnstrand
Committer:Linus Färnstrand

Document that it is round3 of the Kyber KEM we are using

Commit:f9d73b1
Author:Markus Pettersson
Committer:Markus Pettersson

Merge branch 'failed-to-enable-split-tunneling-on-macos-145-intel-des-1034'

Commit:751026b
Author:Markus Pettersson
Committer:Markus Pettersson

Add `PrepareRestartv2` gRPC call - Add option to automatically shutdown daemon on after running through the same safety routine as `PrepareRestart`. This is exposed via a new gRPC call called `PrepareRestartV2`. - Add help text for enabling full disk access to the CLI

Commit:ce1b235
Author:David Göransson
Committer:David Göransson

Migrate to gRPC Co-authored-by: Jonatan Rhodin <jonatan.rhodin@mullvad.net> Co-authored-by: Markus Pettersson <markus.pettersson@mullvad.net> Co-authored-by: David Lönnhager <david.l@mullvad.net>

Commit:461bb17
Author:David Lönnhager
Committer:David Lönnhager

Add error state cause for full disk permissions error

Commit:a1da9e6
Author:David Lönnhager
Committer:David Lönnhager

Add initial split tunneling implementation for macOS

Commit:a2f5fbc
Author:David Lönnhager
Committer:David Lönnhager

Backport wireguard-nt DAITA

Commit:af96a71
Author:David Lönnhager
Committer:David Lönnhager

Add DAITA Windows client and updated tuncfg

Commit:eb3c056
Author:Joakim Hulthe
Committer:Joakim Hulthe

Add ClearCustomLists RPC call

Commit:9be8fb4
Author:Joakim Hulthe
Committer:Joakim Hulthe

Add ClearCustomApiAccessMethods rpc call

Commit:7cd49c0
Author:Markus Pettersson
Committer:Markus Pettersson

Change API access methods settings format 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.

Commit:d42c518
Author:David Lönnhager
Committer:David Lönnhager

Add tunnel creation error on Windows

Commit:95f0120
Author:Markus Pettersson
Committer:Markus Pettersson

Add `TestCustomApiAccessMethod` RPC call Add a new RPC call `TestCustomApiAccessMethod` for testing access methods on the fly, without having to save them to the daemon settings first. This only works for custom access methods.

Commit:5006ef2
Author:Sebastian Holmin
Committer:Sebastian Holmin

Print if lockdown mode is enabled when disconnected for `mullvad status` Add `locked_down` field to disconnected tunnel state.

Commit:e162d0b
Author:David Lönnhager
Committer:David Lönnhager

Add patch export to the management interface

Commit:6122166
Author:David Lönnhager
Committer:David Lönnhager

Link to patch format in proto file

Commit:10c990e
Author:Markus Pettersson
Committer:Markus Pettersson

Add new internal daemon event `AccessMethodEvent` Add a new `InternalDaemonEvent` for announcing when the current API access method changes.

Commit:4fdc34a
Author:Jonathan
Committer:Jonathan

Allow app to use custom socks5 and shadwosocks proxies 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.

Commit:cf1a16c
Author:David Lönnhager
Committer:David Lönnhager

Fetch account ID from API

Commit:72a22cf
Author:Sebastian Holmin
Committer:Jonathan

Remove `GetCurrentLocation`. 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.

Commit:4b7ed46
Author:Markus Pettersson
Committer:Markus Pettersson

Perform testing of access methods asynchronously Perform testing of access methods asynchronously in a separate `tokio` task as to not block the daemon from handling other daemon events during the testing window

Commit:0d638db
Author:Markus Pettersson
Committer:Markus Pettersson

Move access method testing logic to `mullvad-daemon` Move access method testing logic to `mullvad-daemon`, which means that the implementation details of how the test works is opaque to whatever frontend which wants to issue a test of some (configured) access method.

Commit:1dd0788
Author:David Lönnhager
Committer:David Lönnhager

Add support for applying JSON patches to management interface

Commit:2ddc9d4
Author:David Lönnhager
Committer:David Lönnhager

Add management interface for relay override

Commit:f49d4c4
Author:David Lönnhager
Committer:David Lönnhager

Add proto message for relay overrides

Commit:77d4176
Author:Markus Pettersson
Committer:Markus Pettersson

Add configurable transport protocol to local SOCKS5 access method

Commit:7c34fa4
Author:Markus Pettersson
Committer:Markus Pettersson

Prefix remote `ip` and `port` with `remote_` in Socks5Local contexts

Commit:e02d812
Author:David Lönnhager
Committer:David Lönnhager

Replace UpdateRelaySettings with SetRelaySettings

Commit:4d61747
Author:David Lönnhager
Committer:David Lönnhager

Use optional modifier for optional primitives in protobuf messages

Commit:fbefa3f
Author:Markus Pettersson
Committer:David Lönnhager

Add `GetApiAddresses` now returns a list of API addresses

Commit:189c8d0
Author:Markus Pettersson
Committer:David Lönnhager

Add `GetCurrentApiAccessMethod` to show the current API access method - Add a new RPC message: `GetCurrentApiAccessMethod`. This message may be used to retrieve the access method which is currently in use by the daemon for connecting to the Mullvad API. - Add `mullvad api-access status` for showing the API access method in use

Commit:ccc5aaa
Author:Markus Pettersson
Committer:David Lönnhager

Add authentication with username+password for SOCKS5 access method Add the option to authenticate against remote SOCKS5 proxies with a username+password combination. It was an oversight that this was not added from the start.