[package]
name = "suricata"
version = "@PACKAGE_VERSION@"
edition = "2021"

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

[lib]
crate-type = ["staticlib", "rlib"]
path = "@e_rustdir@/src/lib.rs"
name = "suricata"

[profile.release]
debug = true

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

[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.2.5"
num-traits = "~0.2.14"
widestring = "~0.4.3"
flate2 = "~1.0.19"
brotli = "~3.3.0"
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" }

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