Cargo Features

[dependencies]
smb = { version = "0.7.0", default-features = false, features = ["async", "multi_threaded", "single_threaded", "compress_pattern_v1", "compress_lz4", "compress", "encrypt_aes128ccm", "encrypt_aes256ccm", "encrypt_aesccm", "encrypt_aes256gcm", "encrypt_aesgcm", "encrypt", "sign_gmac", "sign_cmac", "sign_hmac", "sign", "quic", "kerberos"] }
default = async, compress, encrypt, kerberos, quic, sign

These default features are set whenever smb is added without default-features = false somewhere in the dependency tree.

async default

Threading models

Enables futures-core, futures-util, tokio, and tokio-util

tokio:

Async

Affects traits::SmbTransport.connect, traits::SmbTransportWrite.send_raw, traits::SmbTransportWrite.send, traits::SmbTransportWriteExt.send, traits::SmbTransportRead.receive_exact, traits::SmbTransportRead.receive, traits::SmbTransportReadExt.receive, multi_worker::async_backend, directory::iter_stream, sync_helpers::RwLock, sync_helpers::Mutex

multi_threaded

Enables is_sync of maybe-async

single_threaded

Enables is_sync of maybe-async

Affects worker::single_worker, worker::WorkerImpl

compress_pattern_v1 compress

Compression

Affects compression::PatternV1Payload

compress_lz4 compress

Enables lz4_flex

Compression

compress default = compress_lz4, compress_pattern_v1
encrypt_aes128ccm encrypt_aesccm?

Encryption

Enables aead and ccm

encrypt_aes256ccm encrypt_aesccm?

Enables aead and ccm

encrypt_aesccm encrypt = encrypt_aes128ccm, encrypt_aes256ccm
encrypt_aes128gcm encrypt_aes256gcm encrypt_aesgcm?

Enables aead and aes-gcm

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 default

Transport

Enables quinn, rustls, and rustls-platform-verifier

Affects transport::quic

kerberos default

Kerberos

Enables network_client of sspi

APIs