[package]
edition = "2021"
rust-version = "1.85"
name = "gunnar-ssh"
version = "3.0.0"
authors = [
"Ignalina ApS",
"Vetra Automation AB",
]
build = false
publish = true
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "gunnar's SSH server: a russh listener with publickey identity, a strict git exec dispatch, and the repository path sandbox."
readme = "README.md"
license = "AGPL-3.0-only"
repository = "https://git.gunnar.rs/nordisk/gunnar"
[features]
admit-share = []
metered = []
[lib]
name = "gunnar_ssh"
path = "src/lib.rs"
[[test]]
name = "accept_emfile"
path = "tests/accept_emfile.rs"
[[test]]
name = "admission"
path = "tests/admission.rs"
[[test]]
name = "admit_share"
path = "tests/admit_share.rs"
[[test]]
name = "adversarial_auth"
path = "tests/adversarial_auth.rs"
[[test]]
name = "anonymous"
path = "tests/anonymous.rs"
[[test]]
name = "anonymous_ceiling"
path = "tests/anonymous_ceiling.rs"
[[test]]
name = "auth"
path = "tests/auth.rs"
[[test]]
name = "command_parsing"
path = "tests/command_parsing.rs"
[[test]]
name = "dead_client"
path = "tests/dead_client.rs"
[[test]]
name = "disk_headroom"
path = "tests/disk_headroom.rs"
[[test]]
name = "encrypted_lfs"
path = "tests/encrypted_lfs.rs"
[[test]]
name = "environment"
path = "tests/environment.rs"
[[test]]
name = "exec_misuse_and_drill"
path = "tests/exec_misuse_and_drill.rs"
[[test]]
name = "first_push"
path = "tests/first_push.rs"
[[test]]
name = "handshake"
path = "tests/handshake.rs"
[[test]]
name = "host_key"
path = "tests/host_key.rs"
[[test]]
name = "host_key_kat"
path = "tests/host_key_kat.rs"
[[test]]
name = "keyed_queue"
path = "tests/keyed_queue.rs"
[[test]]
name = "keyed_reserve"
path = "tests/keyed_reserve.rs"
[[test]]
name = "lfs_authenticate"
path = "tests/lfs_authenticate.rs"
[[test]]
name = "pack_ledger"
path = "tests/pack_ledger.rs"
[[test]]
name = "readiness"
path = "tests/readiness.rs"
[[test]]
name = "recipient_keys_verb"
path = "tests/recipient_keys_verb.rs"
[[test]]
name = "repo_verb"
path = "tests/repo_verb.rs"
[[test]]
name = "sandbox"
path = "tests/sandbox.rs"
[[test]]
name = "stock_clients"
path = "tests/stock_clients.rs"
[[test]]
name = "tunnel_address_verb"
path = "tests/tunnel_address_verb.rs"
[[test]]
name = "twin_serves_no_git"
path = "tests/twin_serves_no_git.rs"
[[test]]
name = "user_key_verb"
path = "tests/user_key_verb.rs"
[dependencies.anyhow]
version = "1"
[dependencies.edda-admit]
version = "0.1.0"
[dependencies.gunnar-core]
version = "3.0.0"
[dependencies.gunnar-crypt]
version = "1.6.0"
default-features = false
[dependencies.gunnar-lfs]
version = "1.1.0"
[dependencies.gunnar-pktline]
version = "1.1.0"
[dependencies.gunnar-store]
version = "1.1.0"
[dependencies.russh]
version = "0.65"
[dependencies.rustix]
version = "1"
features = [
"std",
"process",
"net",
"fs",
]
default-features = false
[dependencies.thiserror]
version = "2"
[dependencies.tokio]
version = "1"
features = [
"macros",
"rt-multi-thread",
"io-util",
"net",
"sync",
"fs",
"time",
"signal",
]
[dependencies.tracing]
version = "0.1"
[dev-dependencies.gunnar-crypt]
version = "1.6.0"
features = ["user-key"]
default-features = false
[dev-dependencies.tempfile]
version = "3"
[dev-dependencies.tokio]
version = "1"
features = [
"macros",
"rt-multi-thread",
"io-util",
"net",
"sync",
"fs",
"time",
"signal",
"macros",
"rt-multi-thread",
"time",
]
[dev-dependencies.tracing-subscriber]
version = "0.3"
features = ["env-filter"]
[lints.rust]
unsafe_code = "forbid"