[package]
edition = "2024"
rust-version = "1.99"
name = "procage"
version = "0.5.0"
authors = ["hupe1980"]
build = false
include = [
"/src",
"/THREAT_MODEL.md",
"/LICENSE-APACHE",
"/LICENSE-MIT",
]
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Process sandboxing for Rust on macOS (Seatbelt, without sandbox-exec) and Linux (Landlock, seccomp, namespaces)"
readme = "README.md"
keywords = [
"sandbox",
"seatbelt",
"landlock",
"seccomp",
"security",
]
categories = [
"os::macos-apis",
"os::linux-apis",
"api-bindings",
]
license = "MIT OR Apache-2.0"
repository = "https://github.com/hupe1980/procage"
[package.metadata.docs.rs]
default-target = "aarch64-apple-darwin"
targets = [
"aarch64-apple-darwin",
"x86_64-unknown-linux-gnu",
]
features = [
"tokio",
"proxy",
]
[features]
proxy = ["dep:procage-proxy"]
tokio = [
"dep:tokio",
"dep:futures-core",
]
[lib]
name = "procage"
path = "src/lib.rs"
[dependencies.procage-policy]
version = "0.5.0"
features = ["serde"]
[dependencies.serde]
version = "1"
features = [
"std",
"derive",
]
default-features = false
[dependencies.serde_json]
version = "1"
features = ["std"]
default-features = false
[dependencies.sha2]
version = "0.11"
default-features = false
[dev-dependencies.tokio]
version = "1.47"
features = [
"rt-multi-thread",
"io-util",
"time",
"process",
"sync",
]
default-features = false
[target.'cfg(any(target_os = "macos", target_os = "linux"))'.dependencies.futures-core]
version = "0.3"
optional = true
default-features = false
[target.'cfg(any(target_os = "macos", target_os = "linux"))'.dependencies.libc]
version = "0.2"
[target.'cfg(any(target_os = "macos", target_os = "linux"))'.dependencies.procage-proxy]
version = "0.5.0"
optional = true
[target.'cfg(any(target_os = "macos", target_os = "linux"))'.dependencies.tokio]
version = "1.47"
features = [
"process",
"rt",
"sync",
]
optional = true
default-features = false
[lints.clippy]
undocumented_unsafe_blocks = "deny"
[lints.clippy.all]
level = "deny"
priority = -1
[lints.rust]
missing_docs = "warn"
unsafe_code = "deny"