# Copyright 2024 RustFS Team # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. [package] name = "rustfs-protocols" version.workspace = true authors.workspace = true edition.workspace = true rust-version.workspace = true license.workspace = true repository.workspace = true homepage.workspace = true description = "Protocol implementations for RustFS (FTPS, SFTP, etc.)" keywords = ["ftp", "sftp", "protocol", "storage", "rustfs"] categories = ["network-programming", "filesystem"] [features] default = [] ftps = ["dep:libunftp", "dep:unftp-core", "dep:rustls"] [dependencies] # Core RustFS dependencies rustfs-iam = { workspace = true } rustfs-credentials = { workspace = true } rustfs-policy = { workspace = true } rustfs-utils = { workspace = true } # Async dependencies tokio = { workspace = true, features = ["fs", "io-util", "sync", "time"] } tracing = { workspace = true } futures-util = { workspace = true } # Error handling thiserror = { workspace = true } # Serialization serde_json = { workspace = true } # Utilities async-trait = { workspace = true } time = { workspace = true } bytes = { workspace = true } # S3 API dependencies s3s = { workspace = true } # FTPS specific dependencies (optional) libunftp = { workspace = true, optional = true } unftp-core = { workspace = true, optional = true } rustls = { workspace = true, optional = true } [package.metadata.docs.rs] all-features = true rustdoc-args = ["--cfg", "docsrs"]