SMB Server Phase 2: VFS backend build fix + integration test
- Add VfsFile: Send supertrait for Mutex compatibility - Fix SmbServerCommand: struct → Subcommand enum with Start variant - Fix tracing_subscriber::init() → try_init() to avoid panic when logger already initialized - Fix CLI subcommand name: smb-server → smb-start (flatten naming) - Add #[command(name = "smb-start")] for CLI disambiguation - Fix unused variable warnings (smb_fs.rs, smb_server_backend.rs) - Remove unused VfsFile imports (webdav.rs, scp_handler.rs) - Integration test: Docker smbclient verified (list, upload, read)
This commit is contained in:
81
vendor/smb2/Cargo.toml
vendored
Normal file
81
vendor/smb2/Cargo.toml
vendored
Normal file
@@ -0,0 +1,81 @@
|
||||
[package]
|
||||
name = "smb2"
|
||||
version = "0.11.3"
|
||||
edition = "2021"
|
||||
rust-version = "1.85"
|
||||
license = "MIT OR Apache-2.0"
|
||||
description = "Pure-Rust SMB2/3 client library with pipelined I/O"
|
||||
repository = "https://github.com/vdavid/smb2"
|
||||
keywords = ["smb", "smb2", "smb3", "cifs", "network"]
|
||||
categories = ["network-programming", "filesystem"]
|
||||
readme = "README.md"
|
||||
documentation = "https://docs.rs/smb2"
|
||||
exclude = [
|
||||
".github/",
|
||||
"AGENTS.md",
|
||||
"docs/",
|
||||
"justfile",
|
||||
"deny.toml",
|
||||
"clippy.toml",
|
||||
"rustfmt.toml",
|
||||
"related-repos/",
|
||||
]
|
||||
|
||||
[package.metadata.docs.rs]
|
||||
all-features = true
|
||||
|
||||
[dependencies]
|
||||
# Logging facade -- application picks the backend (env_logger, tracing, etc.)
|
||||
log = "0.4"
|
||||
|
||||
# Async runtime agnostic
|
||||
async-trait = "0.1"
|
||||
|
||||
# `FuturesUnordered` for pipelined concurrent `execute` calls.
|
||||
futures-util = { version = "0.3", default-features = false, features = ["std", "async-await"] }
|
||||
|
||||
# Error handling
|
||||
thiserror = "2"
|
||||
|
||||
# Enum conversion derives
|
||||
num_enum = "0.7"
|
||||
|
||||
# Async runtime -- transport layer needs net, io-util, time, sync
|
||||
tokio = { version = "1", features = ["net", "io-util", "time", "sync", "rt"] }
|
||||
|
||||
# Crypto -- signing, encryption, key derivation
|
||||
hmac = "0.13"
|
||||
sha2 = "0.11"
|
||||
aes = "0.9"
|
||||
aes-gcm = "=0.11.0-rc.4"
|
||||
ccm = "=0.6.0-rc.3"
|
||||
cmac = "=0.8.0-rc.5"
|
||||
digest = "0.11"
|
||||
|
||||
# NTLM authentication (MS-NLMP)
|
||||
md-5 = "0.11"
|
||||
md4 = "0.11"
|
||||
|
||||
# Kerberos key derivation (AES string-to-key)
|
||||
pbkdf2 = "0.13"
|
||||
sha1 = "0.11"
|
||||
|
||||
# Cryptographically secure random
|
||||
getrandom = "0.4"
|
||||
|
||||
# Compression
|
||||
lz4_flex = "0.13"
|
||||
|
||||
# Optional: `Serialize` derives on diagnostics types. Off by default.
|
||||
serde = { version = "1", optional = true, features = ["derive"] }
|
||||
|
||||
[features]
|
||||
testing = [] # Enables smb2::testing module for Docker-based test servers
|
||||
fuzzing = [] # Exposes parser entry points for `fuzz/` targets; not for applications
|
||||
serde = ["dep:serde"] # `Serialize` impls on `Diagnostics` types and the protocol enums they embed.
|
||||
|
||||
[dev-dependencies]
|
||||
tokio = { version = "1", features = ["rt-multi-thread", "macros", "time", "net", "io-util"] }
|
||||
proptest = "1"
|
||||
env_logger = "0.11"
|
||||
serde_json = "1" # JSON round-trip tests for the `serde` feature
|
||||
Reference in New Issue
Block a user