[package]
edition = "2024"
rust-version = "1.87"
name = "baryl"
version = "0.0.3"
authors = ["Crystal Peak Security <packages@crystalpeaksecurity.com>"]
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Public SDK for Baryl, a full-system emulation and introspection engine"
homepage = "https://baryl.crystalpeaksecurity.com/"
readme = "README.md"
license = "Apache-2.0"
repository = "https://github.com/CrystalPeakSecurity/Baryl"
[package.metadata.docs.rs]
all-features = true
[features]
cli = [
"config",
"logging",
"dep:clap",
"dep:libc",
"dep:lexopt",
"dep:toml",
]
component = [
"control",
"logging",
"dep:clap",
]
config = [
"control",
"dep:serde",
]
control = []
default = [
"component",
"x86_64",
]
gxhash = ["dep:gxhash"]
logging = [
"dep:log",
"dep:log4rs",
"dep:anyhow",
]
x86_64 = []
[lib]
name = "baryl"
path = "src/lib.rs"
[dependencies.anyhow]
version = "1"
optional = true
[dependencies.baryl-macros]
version = "0.0.3"
[dependencies.clap]
version = "4"
features = ["derive"]
optional = true
[dependencies.derive_more]
version = "2.1"
features = ["full"]
[dependencies.gxhash]
version = "3"
optional = true
[dependencies.lexopt]
version = "0.3"
optional = true
[dependencies.libc]
version = "0.2"
optional = true
[dependencies.log]
version = "0.4"
optional = true
[dependencies.log4rs]
version = "1.3"
optional = true
[dependencies.serde]
version = "1"
features = ["derive"]
optional = true
[dependencies.toml]
version = "0.9"
optional = true
[dependencies.zerocopy]
version = "0.8"
features = ["derive"]
[lints.clippy]
cognitive_complexity = "warn"
expect_used = "allow"
field_reassign_with_default = "allow"
mem_forget = "deny"
missing_safety_doc = "allow"
multiple_unsafe_ops_per_block = "allow"
mut_from_ref = "allow"
needless_pass_by_value = "warn"
not_unsafe_ptr_arg_deref = "allow"
panic = "allow"
redundant_field_names = "allow"
too_many_arguments = "warn"
too_many_lines = "warn"
transmute_ptr_to_ref = "deny"
type_complexity = "warn"
undocumented_unsafe_blocks = "allow"
unwrap_used = "warn"
[lints.clippy.pedantic]
level = "allow"
priority = -1
[lints.rust]
warnings = "deny"