Cargo Features

[dependencies]
syd = { version = "3.22.0", default-features = false, features = ["elf", "log", "oci", "uring", "utils"] }
default = elf, utils

These default features are set whenever syd is added without default-features = false somewhere in the dependency tree.

elf default = glob, goblin

Enables ELF parsing.
Optional because it breaks static linking.
SAFETY: It is recommended to keep this enabled.
If you disable this, dynamic libraries of an executable are not checked for access during Exec and Force sandboxing which provides a way for an attacker to execute denylisted paths.

Affects fs::ldd, syd::current_exe_id

Required by the syd-elf binary

log

Enables debug logging.
Include SYD_LOG=debug,trace

Affects proc::proc_cmdline

oci = chrono, clap, libcgroups, libcontainer, liboci-cli, oci-spec, tabwriter, tracing, tracing-subscriber

Build OCI runtime helper "syd-oci"

Required by the syd-oci binary

uring = io-uring

Enables io-uring based integration tests.
This is not used by the main syd binary.

utils default

Build helper utilities.
No reason to disable this unless you want fast build cycles.

Required by syd-aes, syd-cat, syd-cp, syd-cpu, syd-elf, syd-env, syd-err, syd-fork, syd-hex, syd-key, syd-ldd, syd-load, syd-lock, syd-log, syd-ls, syd-mdwe, syd-mem, syd-open, syd-path, syd-poc, syd-read, syd-run, syd-sha, syd-size, syd-stat, syd-sys, syd-tick and syd-tty binaries

Features from optional dependencies

In crates that don't use the dep: syntax, optional dependencies automatically become Cargo features. These features may have been created by mistake, and this functionality may be removed in the future.

io-uring uring?
goblin elf
glob elf
clap oci?

Enables clap

syd-oci deps.

libcgroups oci?
libcontainer oci?
liboci-cli oci?
oci-spec oci?
tabwriter oci?
chrono oci?
tracing oci?
tracing-subscriber oci?