-
Notifications
You must be signed in to change notification settings - Fork 3
/
Cargo.toml
128 lines (116 loc) · 3.82 KB
/
Cargo.toml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
[package]
name = "tracexec"
version = "0.6.2"
edition = "2021"
authors = ["Levi Zim <[email protected]>"]
description = "Tracer for execve{,at} and pre-exec behavior, launcher for debuggers."
license = "GPL-2.0-or-later"
readme = "README.md"
repository = "https://github.com/kxxt/tracexec"
homepage = "https://github.com/kxxt/tracexec"
keywords = ["trace", "ptrace", "exec", "execve", "utility"]
categories = ["command-line-utilities", "development-tools::debugging"]
default-run = "tracexec"
exclude = ["/casts", "/screenshots"]
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
[dependencies]
clap = { version = "4.4.6", features = ["derive"] }
color-eyre = "0.6.2"
nix = { version = "0.29", features = [
"ptrace",
"process",
"feature",
"term",
"fs",
"signal",
"user",
] }
strum = { version = "0.26.1", features = ["derive"] }
cfg-if = "1.0.0"
owo-colors = { version = "4.0.0", package = "kxxt-owo-colors", features = [
"global-colorized-control",
] }
shell-quote = { version = "0.7.1" }
seccompiler = { version = "0.4.0", optional = true }
atoi = "2.0.0"
tracing = { version = "0.1.40", features = ["release_max_level_info"] }
tracing-error = "0.2.0"
tracing-subscriber = { version = "0.3.18", features = ["env-filter"] }
directories = "5.0.1"
lazy_static = "1.4.0"
ratatui = { version = "0.28.1", features = ["unstable-rendered-line-info"] }
crossterm = { version = "0.28.1", features = ["event-stream"] }
tokio = { version = "1.37.0", features = ["full"] }
tokio-util = "0.7.10"
futures = "0.3.30"
signal-hook = "0.3.17"
better-panic = "0.3.0"
itertools = "0.13.0"
tui-term = "=0.1.13"
filedescriptor = "0.8.2"
vt100 = "0.15.2"
bytes = "1.6.0"
filterable-enum = { version = "0.1.0" }
enumflags2 = "0.7.9"
arboard = { version = "3.3.2", default-features = false, features = [
"wayland-data-control",
] }
tui-popup = "0.5.0"
thiserror = "1.0.59"
tui-scrollview = "0.4"
bitflags = "2.5.0"
indexmap = "2.2.6"
tui-prompts = "0.4"
unicode-segmentation = "1.11.0"
unicode-width = "0.1.12"
serial_test = { version = "3.1.1", features = ["file_locks"] }
arcstr = { version = "1.2.0", features = ["serde"] }
clap_complete = "4.5.2"
regex-cursor = { version = "0.1.4", default-features = false }
shell-words = "1.1.0"
tui-widget-list = "0.12"
either = "1.12.0"
serde = { version = "1.0.204", features = ["derive"] }
toml = "0.8.14"
paste = "1.0.15"
serde_json = "1.0.120"
libbpf-rs = { version = "0.24.1", optional = true, default-features = false }
# libbpf-sys exists here because we want to control its features
libbpf-sys = { version = "1", optional = true, default-features = false }
# tui-prompts = { version = "0.3.11", path = "../../contrib/tui-prompts" }
# tui-popup = { version = "0.3.0", path = "../../contrib/tui-popup" }
[dev-dependencies]
assert_cmd = "2.0.14"
predicates = "3.1.0"
rstest = "0.22.0"
tracing-test = "0.2.4"
[build-dependencies]
libbpf-cargo = { version = "0.24.1", default-features = false }
[features]
default = ["recommended", "vendored-libbpf"]
recommended = ["seccomp-bpf", "ebpf"]
seccomp-bpf = ["dep:seccompiler"]
ebpf = ["dep:libbpf-rs", "dep:libbpf-sys"]
# The ebpf-debug feature is not meant for end users.
# This feature also has a bug:
# Building with --release after building --release -F ebpf-debug
# produces binaries with ebpf-debug enabled!
# Either cargo doesn't rebuild and run build.rs on feature flag change,
# or some logic is wrong in build.rs
ebpf-debug = ["ebpf"]
static = ["libbpf-sys/static"]
vendored = ["libbpf-sys/vendored", "vendored-libbpf"]
vendored-libbpf = ["libbpf-sys/vendored-libbpf", "libbpf-cargo/default"]
[profile.dev]
opt-level = 1
[profile.release]
lto = true
[[bin]]
name = "exec-file"
path = "fixtures/exec-file.rs"
[[bin]]
name = "empty-argv"
path = "fixtures/empty-argv.rs"
[[bin]]
name = "corrupted-envp"
path = "fixtures/corrupted-envp.rs"