Cargo Features
[dependencies]
smb = { version = "0.11.1", default-features = false, features = ["async", "multi_threaded", "single_threaded", "compress_pattern_v1", "compress_lz4", "compress", "encrypt_aes256ccm", "encrypt_aes256gcm", "encrypt_aesccm", "encrypt_aesgcm", "encrypt", "sign_gmac", "sign_cmac", "sign_hmac", "sign", "quic", "rdma", "netbios-transport", "kerberos", "std-fs-impls", "ksmbd-multichannel-compat", "test-multichannel", "test-rdma"] }
- default = async, compress, encrypt, netbios-transport, sign, std-fs-impls
-
These default features are set whenever
smbis added withoutsomewhere in the dependency tree.default-features = false - async default
-
Threading models
Enables futures, futures-core, and futures-util, async of smb-transport and tokio, tokio-stream, and tokio-util
tokio:
Async
Affects
parallel::async_backend,worker_trait::Worker.receive_next_cancellable,msg_handler::ReceiveOptions.async_cancel,directory::iter_stream,file_util::ReadAtChannel.read_at_channel,file_util::ReadAt.read_at,file_util::WriteAtChannel.write_at_channel,file_util::WriteAt.write_at,sync_helpers::RwLock,sync_helpers::Mutex… - multi_threaded
-
Enables is_sync of maybe-async, is_sync of smb-rpc and smb-transport, blocking of optional reqwest ^0.12
Affects
parallel::threading_backend… - single_threaded
-
Enables is_sync of maybe-async, is_sync of smb-rpc and smb-transport, blocking of optional reqwest ^0.12
Affects
worker::single_worker… - compress_pattern_v1 compress
-
Compression
Affects
compression::PatternV1Payload… - compress_lz4 compress
-
Enables lz4_flex ^0.11
Compression
- compress default = compress_lz4, compress_pattern_v1
- encrypt_aes128ccm encrypt_aes256ccm encrypt_aesccm?
- encrypt_aes128gcm encrypt_aes256gcm encrypt_aesgcm?
- encrypt_aesccm encrypt = encrypt_aes128ccm, encrypt_aes256ccm
- encrypt_aesgcm encrypt = encrypt_aes128gcm, encrypt_aes256gcm
- encrypt default = encrypt_aesccm, encrypt_aesgcm
- sign_gmac sign
-
Signing
Enables aes-gcm
- sign_cmac sign
-
Enables cmac
- sign_hmac sign
- sign default = sign_cmac, sign_gmac, sign_hmac
- quic
-
Transport
Enables quic of smb-transport
- rdma
-
Enables rdma of smb-transport
Affects
config::ClientConfig.rdma_type… - netbios-transport default
-
Enables netbios-transport of smb-transport
- kerberos = reqwest
-
Kerberos requires reqwest for HTTP transport, for kerberos
Enables byteorder
- std-fs-impls default
-
Implement traits for std::fs::File/tokio::fs::File
- ksmbd-multichannel-compat
-
Estooric use cases
- test-multichannel
-
Tests
- test-ndr64 test-quic test-rdma
Features from optional dependencies
In crates that don't use the dep: syntax, optional dependencies automatically become Cargo features. These features may have been created by mistake, and this functionality may be removed in the future.
- reqwest kerberos? multi_threaded? single_threaded?
-
Enables reqwest ^0.12