[package]
edition = "2024"
rust-version = "1.91.1"
name = "moshpit-agent"
version = "0.8.13"
authors = ["Jason Ozias <jason.g.ozias@gmail.com>"]
build = "build.rs"
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "moshpit agent — holds identity keys in memory and serves them over a Unix socket"
homepage = "https://github.com/rustyhorde/moshpit"
documentation = "https://github.com/rustyhorde/moshpit#moshpit-agent-mpa"
readme = "README.md"
keywords = [
"ssh",
"mosh",
]
categories = [
"command-line-interface",
"network-programming",
"cryptography",
]
license = "MIT OR Apache-2.0"
repository = "https://github.com/rustyhorde/moshpit"
[[package.metadata.cargo-matrix.channel]]
name = "linux"
include_optional = ["secret-service"]
always_deny = ["macos-keychain"]
mutually_exclusive = [[
"fido2",
"fprintd",
"secret-service",
"ssh-agent-piggyback",
"systemd-creds",
"tpm",
]]
[[package.metadata.cargo-matrix.channel]]
name = "macos"
always_deny = [
"fprintd",
"secret-service",
"systemd-creds",
"tpm",
]
mutually_exclusive = [[
"fido2",
"macos-keychain",
"ssh-agent-piggyback",
]]
[[package.metadata.cargo-matrix.channel]]
name = "windows"
always_deny = [
"fido2",
"fprintd",
"macos-keychain",
"secret-service",
"systemd-creds",
"tpm",
]
[features]
fido2 = []
fprintd = ["dep:zbus"]
macos-keychain = ["dep:security-framework"]
secret-service = ["dep:secret-service"]
ssh-agent-piggyback = []
systemd-creds = []
tpm = ["dep:tss-esapi"]
unstable = ["libmoshpit/unstable"]
[[bin]]
name = "mpa"
path = "src/main.rs"
[[test]]
name = "agent_integration"
path = "tests/agent_integration.rs"
[dependencies.anyhow]
version = "1.0.102"
[dependencies.argon2]
version = "0.6.0-rc.8"
features = ["getrandom"]
[dependencies.aws-lc-rs]
version = "1.17.0"
[dependencies.base64]
version = "0.22.1"
[dependencies.bincode-next]
version = "3.0.0-rc.14"
[dependencies.bytes]
version = "1.11.1"
[dependencies.clap]
version = "4.6.1"
features = ["derive"]
[dependencies.dialoguer]
version = "0.12.0"
[dependencies.dirs2]
version = "3.0.1"
[dependencies.getset]
version = "0.1.6"
[dependencies.libmoshpit]
version = "0.8.13"
[dependencies.nix]
version = "0.31.3"
features = [
"process",
"signal",
"socket",
"user",
]
[dependencies.secret-service]
version = "5.1.0"
features = ["rt-tokio-crypto-rust"]
optional = true
[dependencies.security-framework]
version = "3.7.0"
optional = true
[dependencies.tokio]
version = "1.52.3"
features = [
"io-util",
"macros",
"net",
"rt-multi-thread",
"io-util",
"macros",
"net",
"rt-multi-thread",
"signal",
]
[dependencies.tracing]
version = "0.1.44"
features = [
"max_level_trace",
"release_max_level_trace",
]
[dependencies.tss-esapi]
version = "7.7.0"
optional = true
[dependencies.vergen-pretty]
version = "10.0.0-beta.8"
features = [
"color",
"tracing",
"rkyv",
"serde",
]
[dependencies.zbus]
version = "5.15.0"
optional = true
[dependencies.zeroize]
version = "1.8.2"
features = ["zeroize_derive"]
[dev-dependencies.tempfile]
version = "3.27.0"
[build-dependencies.anyhow]
version = "1.0.102"
[build-dependencies.pkg-config]
version = "0.3"
[build-dependencies.rustversion]
version = "1.0.22"
[build-dependencies.vergen-gix]
version = "10.0.0-beta.8"
features = [
"build",
"cargo",
"rustc",
"si",
]