# THIS FILE IS AUTOMATICALLY GENERATED BY CARGO
#
# When uploading crates to the registry Cargo will automatically
# "normalize" Cargo.toml files for maximal compatibility
# with all versions of Cargo and also rewrite `path` dependencies
# to registry (e.g., crates.io) dependencies.
#
# If you are reading this file be aware that the original Cargo.toml
# will likely look very different (and much more reasonable).
# See Cargo.toml.orig for the original contents.

[package]
edition = "2021"
rust-version = "1.95"
name = "puressh"
version = "0.0.4"
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "A pure-Rust SSH (Secure Shell) protocol library, in the spirit of libssh, built on purecrypto."
documentation = "https://docs.rs/puressh"
readme = "README.md"
keywords = [
    "ssh",
    "ssh2",
    "crypto",
    "network",
    "no-std",
]
categories = [
    "cryptography",
    "network-programming",
]
license = "MIT OR Apache-2.0"
repository = "https://github.com/KarpelesLab/puressh"

[features]
alloc = ["purecrypto/alloc"]
client = ["std"]
compress = ["dep:compcol"]
default = [
    "std",
    "client",
    "server",
    "compress",
    "pam",
    "multichannel",
]
ffi = [
    "std",
    "client",
    "multichannel",
]
multichannel = ["client"]
pam = ["dep:pam-client2"]
server = ["std"]
std = [
    "purecrypto/std",
    "alloc",
]

[lib]
name = "puressh"
crate-type = ["lib"]
path = "src/lib.rs"

[[bin]]
name = "ssh"
path = "src/bin/ssh.rs"
required-features = [
    "std",
    "client",
    "multichannel",
]

[[bin]]
name = "sshd"
path = "src/bin/sshd.rs"
required-features = [
    "std",
    "server",
]

[[bin]]
name = "ssh-keygen"
path = "src/bin/ssh-keygen.rs"
required-features = ["std"]

[[bin]]
name = "sftp"
path = "src/bin/sftp.rs"
required-features = [
    "std",
    "client",
]

[[bin]]
name = "scp"
path = "src/bin/scp.rs"
required-features = [
    "std",
    "client",
]

[[test]]
name = "e2e_real_sshd"
path = "tests/e2e_real_sshd.rs"

[[test]]
name = "e2e_scp"
path = "tests/e2e_scp.rs"

[dependencies.compcol]
version = "0.4.2"
features = [
    "alloc",
    "zlib",
]
optional = true
default-features = false

[dependencies.purecrypto]
version = "0.6.1"
features = [
    "hash",
    "cipher",
    "kdf",
    "rng",
    "rsa",
    "dh",
    "ec",
    "der",
]
default-features = false

[dependencies.zeroize]
version = "1"
features = ["alloc"]
default-features = false

[dev-dependencies.hex]
version = "0.4"

[target.'cfg(target_os = "linux")'.dependencies.pam-client2]
version = "0.5"
optional = true
default-features = false

[target."cfg(unix)".dependencies.libc]
version = "0.2"
default-features = false

[target."cfg(unix)".dependencies.nix]
version = "0.30"
features = [
    "process",
    "signal",
    "term",
    "fs",
    "ioctl",
    "user",
]
default-features = false
