[package] name = "malwaredb-server" version.workspace = true edition.workspace = true license.workspace = true authors.workspace = true repository.workspace = true homepage.workspace = true description = "Server data storage logic for MalwareDB." keywords.workspace = true categories = ["database", "data-structures"] build = "build.rs" [features] default = [] admin = [] sqlite = ["dep:rusqlite"] vt = ["dep:malwaredb-virustotal", "postgres/with-serde_json-1"] [dependencies] # Internal dependencies malwaredb-api = { workspace = true } malwaredb-types = { workspace = true } # External aes-gcm = { workspace = true, features = ["aes", "alloc", "getrandom", "std"] } anyhow = { workspace = true, features = ["std"] } argon2 = { workspace = true, features = ["alloc", "password-hash", "std"] } axum = { workspace = true, features = ["http1", "json", "macros", "tokio"] } axum-macros = { workspace = true } axum-server = { workspace = true, features = ["tls-rustls", "rustls"] } base64 = { workspace = true, features = ["alloc", "std"] } cart_container = { workspace = true } chrono = { workspace = true } chrono-humanize = { workspace = true } clap = { workspace = true } constcat = { workspace = true } deadpool-postgres = { workspace = true, features = ["rt_tokio_1"] } flate2 = { workspace = true, features = ["zlib-ng"] } fuzzyhash = { workspace = true } hex = { workspace = true, features = ["alloc", "std"] } http = { workspace = true } human-hash = { workspace = true } humansize = { workspace = true } magic = { workspace = true } malwaredb-lzjd = { workspace = true } malwaredb-virustotal = { workspace = true, optional = true } md-5 = { workspace = true } postgres = { workspace = true, features = ["array-impls", "with-chrono-0_4"] } postgres-types = { workspace = true, features = ["derive"] } rc4 = { workspace = true, features = ["std"] } rusqlite = { workspace = true, features = ["bundled", "chrono"], optional = true } rustls = { workspace = true, features = ["ring"] } rustls-platform-verifier = { workspace = true } serde_json = { workspace = true } sha1 = { workspace = true } sha2 = { workspace = true } tlsh-fixed = { workspace = true } tokio = { workspace = true } tokio-postgres-rustls = { workspace = true } tower-http = { workspace = true, features = ["compression-full"] } tracing = { workspace = true, features = ["attributes"] } uuid = { workspace = true } xor-utils = { workspace = true } zeroize = { workspace = true } [target.'cfg(not(target_os = "wasi"))'.dependencies] tokio = { workspace = true, features = ["rt-multi-thread", "macros"] } [target.'cfg(target_env = "musl")'.dependencies] malwaredb-virustotal = { workspace = true, features = ["native-tls-vendored"], optional = true } [dev-dependencies] malwaredb-client = { workspace = true } http-body-util = { workspace = true } hyper = { workspace = true } rstest = { workspace = true } rusqlite = { workspace = true } tempfile = { workspace = true } tokio = { workspace = true } tower = { workspace = true, features = ["util"] } tracing-subscriber = { workspace = true } [target.'cfg(target_os = "windows")'.build-dependencies] vcpkg = { workspace = true } [package.metadata.vcpkg.target] aarch64-pc-windows-msvc = { triplet = "arm64-windows", dependencies = ["libmagic"] } x86_64-pc-windows-msvc = { triplet = "x64-windows-static", dependencies = ["libmagic"] } [package.metadata.docs.rs] all-features = true