[package] name = "citadel_user" version = "0.11.3" authors = ["Thomas Braun "] description = "User backend library for the Citadel Protocol" edition = "2021" workspace = ".." homepage = "https://avarok.net/" repository = "https://github.com/Avarok-Cybersecurity/Citadel-Protocol" readme = "../README.md" categories = ["cryptography", "network-programming", "asynchronous"] license = "MIT OR Apache-2.0" # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html [features] default = ["filesystem", "std"] redis = ["redis-base", "mobc"] sql = ["sqlx", "itertools"] filesystem = ["citadel_crypt/filesystem", "tokio-util", "tokio-stream"] std = [ "citadel_crypt/std", "tokio/fs", "rand/std", "sha3/std", "bstr/std" ] wasm = ["citadel_crypt/wasm"] google-services = ["openssl", "jwt", "firebase-rtdb"] vendored = ["openssl/vendored"] localhost-testing = [] jwt-testing = [] [dependencies] itertools = { workspace = true, features = ["use_alloc"], optional = true } serde = { workspace = true, features=["rc", "derive"] } tokio = { workspace = true, features = ["io-util"] } async-trait = { workspace = true } futures = { workspace = true, features = ["alloc", "executor"] } rand = { workspace = true } multimap = { workspace = true, features = ["serde_impl"] } parking_lot = { workspace = true, features = ["serde"] } log = { workspace = true } sha3 = { workspace = true } citadel_crypt = { workspace = true } serde_json = { workspace = true, features = ["alloc"] } bytes = { workspace = true } bstr = { workspace = true, features = ["alloc", "unicode"] } sqlx = { workspace = true, features = ["all-databases", "runtime-tokio-native-tls"], optional = true } redis-base = { package = "redis", workspace = true, features = ["tokio-comp", "tokio-native-tls-comp"], optional=true } mobc = { workspace = true, optional = true, features = ["tokio"] } firebase-rtdb = { workspace = true, optional = true } jwt = { workspace = true, features = ["openssl"], optional = true } openssl = { workspace = true, optional = true } uuid = { workspace = true, features = ["v4"] } bincode = { workspace = true } chrono = { workspace = true, features = ["clock"] } tokio-util = { workspace = true, features = ["io"], optional = true } tokio-stream = { workspace = true, optional = true } citadel_types = { workspace = true } [lib] doctest = false [lints.rust] unexpected_cfgs = { level = "warn", check-cfg = ['cfg(coverage)'] }