-
Notifications
You must be signed in to change notification settings - Fork 15
/
Cargo.toml
114 lines (102 loc) · 2.79 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
[package]
name = "microvmi"
version = "0.3.14"
authors = ["Mathieu Tarral <mathieu.tarral@protonmail.com>"]
edition = "2018"
description = "A cross-platform, unified, low-level VM introspection API supporting multiple hypervisors"
readme = "README.md"
homepage = "https://github.com/Wenzel/libmicrovmi"
repository = "https://github.com/Wenzel/libmicrovmi"
license = "GPL-3.0-only"
keywords = ["introspection", "VMI"]
[lib]
crate-type = ["cdylib", "lib"]
[features]
# Xen driver
xen = [
"xenctrl",
"xenstore-rs",
"xenforeignmemory",
"xenevtchn",
"xenvmevent-sys",
"libc",
]
# KVM driver
kvm = ["kvmi"]
# VirtualBox driver
virtualbox = ["fdp"]
# memflow driver
# feature name is "mflow" to avoid conflict with the dependency
mflow = ["memflow"]
[dependencies]
env_logger = "0.9.0"
log = "0.4.8"
bitflags = "1.2.1"
cty = "0.2.1"
nix = "^0.23.0"
enum-iterator = "0.7.0"
thiserror = "1.0"
libc = { version = "0.2.58", optional = true }
xenctrl = { version = "=0.6.0", optional = true }
xenstore-rs = { version = "=0.3.2", optional = true }
xenforeignmemory = { version = "=0.2.3", optional = true }
xenevtchn = { version = "=0.1.6", optional = true }
xenvmevent-sys = { version = "=0.1.3", optional = true }
kvmi = { version = "0.4.0", optional = true }
fdp = { version = "=0.2.5", optional = true }
winapi = { version = "0.3", features = [
"tlhelp32",
"winnt",
"handleapi",
"securitybaseapi",
], optional = true }
widestring = { version = "0.4", optional = true }
ntapi = { version = "0.3", optional = true }
vid-sys = { version = "=0.3.0", features = [
"deprecated-apis",
], optional = true }
memflow = { version = "0.2.1", optional = true }
[dev-dependencies]
utilities = { path = "utilities" }
ctrlc = "3.1"
clap = "2.33"
colored = "2.0"
mockall = "0.10.2"
test-case = "1"
indicatif = "0.16.2"
inventory = "0.2.0"
[build-dependencies]
cbindgen = "0.20.0"
[profile.release]
debug = true
[[test]]
name = "integration"
path = "tests/integration.rs"
harness = false
[package.metadata.deb]
extended-description = "A simple virtual machine introspection library providing a cross-platform interface on multiple hypervisors"
# force an old enough libc6
# otherwise, the current libc of the CI is taken, and it will be too recent
depends = "libc6 (>= 2.19)"
section = "libs"
priority = "optional"
# add generated libmicrovmi.h header
assets = [
[
"target/release/libmicrovmi.so",
"usr/lib/libmicrovmi.so",
"644",
],
[
"target/release/capi/libmicrovmi.h",
"usr/include/libmicrovmi.h",
"644",
],
]
[package.metadata.release]
# releases are managed by cargo release, but publication is done on the CI
# this metadata prevents a misuse when --no-publish flag is missing from cargo
# release command line
publish = false
[workspace]
members = ["python"]