[package]
edition = "2021"
rust-version = "1.92"
name = "bvisor"
version = "0.9.0"
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Sync-first boundary supervisor: platform-agnostic boundary contract (types + fail-closed planner) with real Linux (landlock/seccomp/cgroups) and Wasm (wasmi/WASI) confinement backends. ZERO OS code, ZERO BatPak writes in the Backend trait."
readme = "README.md"
license = "MIT OR Apache-2.0"
[features]
backend-linux = [
"dep:libc",
"dep:landlock",
"dep:seccompiler",
]
backend-macos = []
backend-wasm = [
"dep:wasmi",
"dep:wasmi_wasi",
]
backend-windows = []
dangerous-test-hooks = ["batpak/dangerous-test-hooks"]
default = []
host = [
"dep:syncbat",
"dep:hostbat",
]
qf-bv = []
[lib]
name = "bvisor"
path = "src/lib.rs"
[[bin]]
name = "bvisor-linux-launcher"
path = "launcher/linux/main.rs"
required-features = ["backend-linux"]
[[test]]
name = "cgroup_delegation_linux"
path = "tests/cgroup_delegation_linux.rs"
[[test]]
name = "cgroup_enforcement_linux"
path = "tests/cgroup_enforcement_linux.rs"
[[test]]
name = "child_spawn_linux"
path = "tests/child_spawn_linux.rs"
[[test]]
name = "collapse_gate"
path = "tests/collapse_gate.rs"
[[test]]
name = "contract"
path = "tests/contract.rs"
[[test]]
name = "coupling_proof"
path = "tests/coupling_proof.rs"
[[test]]
name = "coupling_proof_wasm"
path = "tests/coupling_proof_wasm.rs"
[[test]]
name = "env_exact_linux"
path = "tests/env_exact_linux.rs"
[[test]]
name = "frozen_goldens"
path = "tests/frozen_goldens.rs"
[[test]]
name = "grid"
path = "tests/grid.rs"
[[test]]
name = "grid_linux_fs"
path = "tests/grid_linux_fs.rs"
[[test]]
name = "grid_wasm"
path = "tests/grid_wasm.rs"
[[test]]
name = "inherited_fds_none_linux"
path = "tests/inherited_fds_none_linux.rs"
[[test]]
name = "launcher_capture_linux"
path = "tests/launcher_capture_linux.rs"
[[test]]
name = "launcher_cgroup_linux"
path = "tests/launcher_cgroup_linux.rs"
[[test]]
name = "launcher_env_linux"
path = "tests/launcher_env_linux.rs"
[[test]]
name = "launcher_harness_linux"
path = "tests/launcher_harness_linux.rs"
[[test]]
name = "launcher_inherited_fds_linux"
path = "tests/launcher_inherited_fds_linux.rs"
[[test]]
name = "launcher_landlock_linux"
path = "tests/launcher_landlock_linux.rs"
[[test]]
name = "launcher_protocol"
path = "tests/launcher_protocol.rs"
[[test]]
name = "launcher_skeleton_linux"
path = "tests/launcher_skeleton_linux.rs"
[[test]]
name = "lifecycle"
path = "tests/lifecycle.rs"
[[test]]
name = "network_deny_all_linux"
path = "tests/network_deny_all_linux.rs"
[[test]]
name = "platform_matrix_refusal"
path = "tests/platform_matrix_refusal.rs"
[[test]]
name = "reconciliation_oracle"
path = "tests/reconciliation_oracle.rs"
[[test]]
name = "support_matrix_honesty"
path = "tests/support_matrix_honesty.rs"
[[test]]
name = "userns_rendezvous_linux"
path = "tests/userns_rendezvous_linux.rs"
[dependencies.batpak]
version = "0.9.0"
[dependencies.hostbat]
version = "0.9.0"
optional = true
[dependencies.rmp-serde]
version = "=1.3.1"
[dependencies.serde]
version = "1"
features = ["derive"]
[dependencies.syncbat]
version = "0.9.0"
optional = true
[dependencies.wasmi]
version = "=1.1.0"
features = ["std"]
optional = true
default-features = false
[dependencies.wasmi_wasi]
version = "=1.1.0"
optional = true
[dev-dependencies.tempfile]
version = ">=3.24, <3.25"
[dev-dependencies.wat]
version = "=1.252.0"
[target.'cfg(target_os = "linux")'.dependencies.landlock]
version = "0.4.5"
optional = true
[target.'cfg(target_os = "linux")'.dependencies.libc]
version = "0.2"
optional = true
[target.'cfg(target_os = "linux")'.dependencies.seccompiler]
version = "=0.5.0"
optional = true
[target.'cfg(target_os = "macos")'.dependencies]
[target.'cfg(target_os = "windows")'.dependencies]
[lints.clippy]
assertions_on_constants = "deny"
cast_possible_truncation = "deny"
cast_sign_loss = "deny"
clone_on_ref_ptr = "warn"
dbg_macro = "deny"
disallowed_methods = "deny"
large_enum_variant = "warn"
missing_errors_doc = "warn"
module_name_repetitions = "allow"
must_use_candidate = "allow"
needless_pass_by_value = "warn"
needless_return = "deny"
panic = "deny"
print_stderr = "deny"
print_stdout = "deny"
todo = "deny"
unimplemented = "deny"
unwrap_used = "deny"
wildcard_enum_match_arm = "warn"
[lints.rust]
deprecated = "deny"
[lints.rust.unexpected_cfgs]
level = "warn"
priority = 0
check-cfg = ["cfg(gauntlet_red_fixture)"]