[package] name = "mullvad-update" description = "Support functions for securely installing or updating Mullvad VPN" authors.workspace = true repository.workspace = true license.workspace = true edition.workspace = true rust-version.workspace = true [lints] workspace = true [features] default = [] sign = ["rand08", "clap"] client = ["reqwest", "tokio", "thiserror"] [dependencies] anyhow = { workspace = true } json-canon = "0.1" chrono = { workspace = true, features = ["serde", "now"] } ed25519-dalek = { version = "2.1", features = ["zeroize", "rand_core"] } hex = { version = "0.4" } serde = { workspace = true, features = ["derive"] } serde_json = { workspace = true } sha2 = { workspace = true } zeroize = { version = "1.8", features = ["zeroize_derive"] } log = { workspace = true } itertools = { workspace = true } reqwest = { workspace = true, optional = true } strum = { workspace = true, features = ["derive"], optional = true } tokio = { workspace = true, features = ["rt-multi-thread", "fs", "process", "macros"], optional = true } vec1 = { workspace = true } mullvad-api-constants = { path = "../mullvad-api/mullvad-api-constants" } mullvad-version = { path = "../mullvad-version", features = ["serde"] } # features required by binaries clap = { workspace = true, optional = true } # TODO Upgrading to rand 0.9 is blocked on ed25519-dalek dropping their dependency on rand_core 0.6 # (as of ed25519-dalek 2.2.0) rand08 = { package = "rand", version = "0.8.5", optional = true } rand = { workspace = true } thiserror = { workspace = true, optional = true } [dev-dependencies] async-tempfile = "0.6" insta = { workspace = true } mockito = "1.6.1" rand = { workspace = true } tokio = { workspace = true, features = ["fs", "test-util", "time", "macros"] } [[bin]] name = "mullvad-version-metadata" required-features = ["sign"]