[package]
name = "suricata"
version = "7.0.17"
license = "GPL-2.0-only"
description = "Suricata Rust components"
edition = "2021"
rust-version = "1.63.0"

[workspace]
members = [".", "./derive"]

[lib]
crate-type = ["staticlib", "rlib"]
#path = "/home/jason/oisf/dev/suricata/7.0.x-crates.io/rust/src/lib.rs"
name = "suricata"

[profile.release]
debug = true

[features]
lua = []
lua_int8 = ["lua"]
strict = []
debug = []
debug-validate = []
ja3 = []
ja4 = []

[dependencies]
nom7 = { version="7.0", package="nom" }
bitflags = "~1.2.1"
byteorder = "~1.4.2"
uuid = "~0.8.2"
crc = "~1.8.1"
lzma-rs = { version = "~0.2.0", features = ["stream"] }
memchr = "~2.4.1"
num = "~0.2.1"
num-derive = "~0.4.2"
num-traits = "~0.2.14"
widestring = "~0.4.3"
flate2 = "~1.0.35"
brotli = "~8.0.1"
hkdf = "~0.12.3"
aes = "~0.7.5"
aes-gcm = "~0.9.4"

der-parser = "~8.2.0"
kerberos-parser = { version = "~0.7.1", default-features = false }

# Kerberos parsing still depends on der-parser 6.0.1.
der-parser6 = { package = "der-parser", version = "~6.0.1", default-features = false }

sawp-modbus = "~0.12.1"
sawp = "~0.12.1"
ntp-parser = "~0.6.0"
ipsec-parser = "~0.7.0"
snmp-parser = "~0.9.0"
tls-parser = "~0.11.0"
x509-parser = "~0.15.0"
libc = "~0.2.82"
sha2 = "~0.10.2"
digest = "~0.10.3"
sha1 = "~0.10.5"
md-5 = "~0.10.1"
regex = "~1.5.5"
lazy_static = "~1.4.0"
base64 = "~0.13.0"
bendy = { version = "~0.3.3", default-features = false }
asn1-rs = { version = "~0.5.2" }

# The time crate has a policy of supporting Rust versions up to 6
# month olds, so it needs to be pinned even at the patch level.
time = "=0.3.13"

suricata-derive = { path = "./derive", version = "7.0.17" }

[dev-dependencies]
test-case = "~1.1.0"
hex = "~0.4.3"
