[package] name = "suppaftp" version = { workspace = true } authors = { workspace = true } edition = { workspace = true } license = { workspace = true } keywords = { workspace = true } categories = { workspace = true } repository = { workspace = true } documentation = "https://docs.rs/suppaftp/" description = "A super FTP/FTPS client library for Rust" include = [ "src/**/*", "../LICENSE-APACHE", "../LICENSE-MIT", "../README.md", "../CHANGELOG.md", ] readme = "../README.md" [lib] name = "suppaftp" path = "src/lib.rs" [dependencies] chrono = { version = "^0.4", default-features = false, features = ["clock"] } lazy-regex = "^3" log = "^0.4" thiserror = "^1" # async async-std = { version = "^1.10", optional = true } async-native-tls-crate = { package = "async-native-tls", version = "^0.5", optional = true } async-trait = { version = "0.1.64", optional = true } async-tls = { version = "^0.13", optional = true } pin-project = { version = "^1", optional = true } # secure native-tls-crate = { package = "native-tls", version = "^0.2", optional = true } rustls-crate = { package = "rustls", version = "^0.23", optional = true } futures-lite = "2.0.0" [dev-dependencies] async-attributes = "1.1.2" env_logger = "^0.11" pretty_assertions = "^1.0.0" rand = "^0.8.4" serial_test = "^3.0" webpki-roots = "0.26" [features] default = [] # Enable async support for suppaftp async = ["async-std", "async-trait", "pin-project"] async-default-tls = ["async-native-tls"] async-native-tls = ["async-native-tls-crate", "async-secure"] async-rustls = ["async-tls", "async-secure"] async-secure = ["async"] # Enable deprecated FTP/FTPS methods deprecated = [] # Enable support for FTPS which requires native-tls (openssl is required on Linux) or RustTLS default-tls = ["native-tls"] native-tls = ["native-tls-crate", "secure"] native-tls-vendored = ["native-tls", "native-tls-crate/vendored"] async-native-tls-vendored = [ "async-native-tls", "async-native-tls-crate/vendored", ] rustls = ["rustls-crate", "secure"] secure = [] # Disable logging no-log = ["log/max_level_off"] # Must be enabled whenever testing with docker containers with-containers = [] [package.metadata.docs.rs] all-features = true rustdoc-args = ["--cfg", "docsrs"]