update 3rd-party Rust dependencies (#1040)

This commit is contained in:
bmc-msft
2021-07-06 11:57:01 -04:00
committed by GitHub
parent 51ddaaa747
commit aa4ed2893e
11 changed files with 215 additions and 455 deletions

View File

@ -5,7 +5,7 @@ env:
CARGO_TERM_COLOR: always
SCCACHE_DIR: ${{github.workspace}}/sccache/
SCCACHE_CACHE_SIZE: 1G
ACTIONS_CACHE_KEY_DATE: 2021-06-30-01
ACTIONS_CACHE_KEY_DATE: 2021-07-06-01
jobs:
agent:
@ -171,11 +171,10 @@ jobs:
id: cache-rust-prereqs
with:
path: |
sccache
~/.cargo/registry
~/.cargo/git
~/.cargo/bin
key: rust-${{ runner.os }}-2020-06-25-01
key: rust-${{ runner.os }}-${{ env.ACTIONS_CACHE_KEY_DATE }}
restore-keys: |
rust-${{ runner.os }}
- name: Install Rust Prereqs

37
src/agent/Cargo.lock generated
View File

@ -889,9 +889,9 @@ checksum = "9b919933a397b79c37e33b77bb2aa3dc8eb6e165ad809e58ff75bc7db2e34574"
[[package]]
name = "goblin"
version = "0.4.1"
version = "0.4.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ee05c709047abe5eb0571880d2887ac77299c5f0835f8e6b7f4d5404f8962921"
checksum = "0b1800b95efee8ad4ef04517d4d69f8e209e763b1668f1179aeeedd0e454da55"
dependencies = [
"log",
"plain",
@ -1728,11 +1728,12 @@ checksum = "d4fd5641d01c8f18a23da7b6fe29298ff4b55afcccdf78973b24cf3175fee32e"
[[package]]
name = "pete"
version = "0.5.0"
version = "0.6.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1af156966ebafe8991347a56ecb2c362e353e42713539a0ed2389f2b854e493d"
checksum = "1474e6f7003457e70788bec53af2288e23447df7c30bdc6748b4f736689116fe"
dependencies = [
"libc",
"memoffset",
"nix 0.21.0",
"thiserror",
]
@ -2459,9 +2460,9 @@ checksum = "8ea5119cdb4c55b55d432abb513a0429384878c15dde60cc77b1c99de1a95a6a"
[[package]]
name = "structopt"
version = "0.3.21"
version = "0.3.22"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5277acd7ee46e63e5168a80734c9f6ee81b1367a7d8772a2d765df2a3705d28c"
checksum = "69b041cdcb67226aca307e6e7be44c8806423d83e018bd662360a93dabce4d71"
dependencies = [
"clap",
"lazy_static",
@ -2470,9 +2471,9 @@ dependencies = [
[[package]]
name = "structopt-derive"
version = "0.4.14"
version = "0.4.15"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5ba9cdfda491b814720b6b06e0cac513d922fc407582032e8706e9f137976f90"
checksum = "7813934aecf5f51a54775e00068c237de98489463968231a51746bbbc03f9c10"
dependencies = [
"heck",
"proc-macro-error",
@ -2571,18 +2572,18 @@ dependencies = [
[[package]]
name = "thiserror"
version = "1.0.25"
version = "1.0.26"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "fa6f76457f59514c7eeb4e59d891395fab0b2fd1d40723ae737d64153392e9c6"
checksum = "93119e4feac1cbe6c798c34d3a53ea0026b0b1de6a120deef895137c0529bfe2"
dependencies = [
"thiserror-impl",
]
[[package]]
name = "thiserror-impl"
version = "1.0.25"
version = "1.0.26"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8a36768c0fbf1bb15eca10defa29526bda730a2376c2ab4393ccfa16fb1a318d"
checksum = "060d69a0afe7796bf42e9e2ff91f5ee691fb15c53d38b4b62a9a53eb23164745"
dependencies = [
"proc-macro2 1.0.27",
"quote 1.0.9",
@ -2616,9 +2617,9 @@ checksum = "cda74da7e1a664f795bb1f8a87ec406fb89a02522cf6e50620d016add6dbbf5c"
[[package]]
name = "tokio"
version = "1.7.1"
version = "1.8.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5fb2ed024293bb19f7a5dc54fe83bf86532a44c12a2bb8ba40d64a4509395ca2"
checksum = "570c2eb13b3ab38208130eccd41be92520388791207fde783bda7c1e8ace28d4"
dependencies = [
"autocfg",
"bytes 1.0.1",
@ -2755,9 +2756,9 @@ dependencies = [
[[package]]
name = "unicode-segmentation"
version = "1.7.1"
version = "1.8.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "bb0d2e7be6ae3a5fa87eed5fb451aff96f2573d2694942e40543ae0bbe19c796"
checksum = "8895849a949e7845e06bd6dc1aa51731a103c42707010a5b591c0038fb73385b"
[[package]]
name = "unicode-width"
@ -3067,9 +3068,9 @@ dependencies = [
[[package]]
name = "wiremock"
version = "0.5.3"
version = "0.5.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3deed3c6d9aba42c805725854efc01823f59a00cd3af7763c433962227a843c8"
checksum = "3aa40f263823d9e69901f5b08ea3244bc193648fb87016022ac265a81cfb81e3"
dependencies = [
"async-trait",
"deadpool",

View File

@ -32,7 +32,7 @@ pdb = "0.7"
winapi = "0.3"
[target.'cfg(target_os = "linux")'.dependencies]
pete = "0.5"
pete = "0.6"
procfs = "0.9"
[dev-dependencies]

View File

@ -85,18 +85,20 @@ impl<'c> Recorder<'c> {
while let Some(mut tracee) = self.tracer.wait().context("main tracing loop")? {
match tracee.stop {
Stop::SyscallEnterStop(..) => log::trace!("syscall-enter: {:?}", tracee.stop),
Stop::SyscallExitStop(..) => {
Stop::SyscallEnter => log::trace!("syscall-enter: {:?}", tracee.stop),
Stop::SyscallExit => {
self.update_images(&mut tracee)
.context("updating module images after syscall-stop")?;
}
Stop::SignalDeliveryStop(_pid, Signal::SIGTRAP) => {
Stop::SignalDelivery {
signal: Signal::SIGTRAP,
} => {
self.on_breakpoint(&mut tracee)
.context("calling breakpoint handler")?;
}
Stop::Clone(pid, tid) => {
Stop::Clone { new: pid } => {
// Only seen when the `VM_CLONE` flag is set, as of Linux 4.15.
log::info!("new thread: {} -> {}", pid, tid);
log::info!("new thread: {}", pid);
}
_ => {
log::debug!("stop: {:?}", tracee.stop);
@ -411,7 +413,7 @@ impl Breakpoints {
fn continue_to_init_execve(tracer: &mut Ptracer) -> Result<Tracee> {
while let Some(tracee) = tracer.wait()? {
if let Stop::SyscallExitStop(..) = &tracee.stop {
if let Stop::SyscallExit = &tracee.stop {
return Ok(tracee);
}

View File

@ -128,20 +128,12 @@ impl ModuleIndex {
}
if sym.is_function() {
let name = match elf.strtab.get(sym.st_name) {
let name = match elf.strtab.get_at(sym.st_name) {
None => {
log::error!("symbol not found in symbol string table: {:?}", sym);
continue;
}
Some(Err(err)) => {
log::error!(
"unable to parse symbol name: sym = {:?}, err = {}",
sym,
err
);
continue;
}
Some(Ok(name)) => name.to_owned(),
Some(name) => name.to_owned(),
};
// For executables and shared objects, `st_value` contains the VA of the symbol.

View File

@ -36,8 +36,8 @@ impl<'d, 'e> ElfContext<'d, 'e> {
let name = self
.elf
.strtab
.get(sym.st_name)
.ok_or_else(|| format_err!("symbol index out of bounds: {}", sym.st_name))??
.get_at(sym.st_name)
.ok_or_else(|| format_err!("symbol index out of bounds: {}", sym.st_name))?
.to_owned();
Ok(name)

View File

@ -19,7 +19,7 @@ serde = { version = "1.0", features = ["derive"] }
serde_json = "1.0"
storage-queue = { path = "../storage-queue" }
structopt = "0.3"
tokio = { version = "1.7", features = ["full"] }
tokio = { version = "1.8", features = ["full"] }
url = { version = "2.2", features = ["serde"] }
uuid = { version = "0.8", features = ["serde", "v4"] }
clap = "2.33"

View File

@ -53,6 +53,6 @@ cpp_demangle = "0.3"
nix = "0.21"
[target.'cfg(target_os = "linux")'.dependencies]
pete = "0.5"
pete = "0.6"
rstack = "0.3"
proc-maps = "0.1"

View File

@ -54,24 +54,21 @@ impl TriageCommand {
let mut exit_status = None;
while let Some(tracee) = self.tracer.wait()? {
if let Stop::SignalDeliveryStop(pid, signal) = tracee.stop {
if CRASH_SIGNALS.contains(&signal) {
// Can unwrap due to signal-delivery-stop.
let siginfo = tracee.siginfo()?.unwrap();
crashes.push(Crash::new(pid, signal, siginfo)?);
match tracee.stop {
Stop::SignalDelivery { signal } => {
if CRASH_SIGNALS.contains(&signal) {
// Can unwrap due to signal-delivery-stop.
let siginfo = tracee.siginfo()?.unwrap();
crashes.push(Crash::new(self.pid, signal, siginfo)?);
}
}
}
if let Stop::Exiting(pid, exit_code) = tracee.stop {
if pid == self.pid {
Stop::Exiting { exit_code } => {
exit_status = Some(ExitStatus::Exited(exit_code));
}
}
if let Stop::Signaling(pid, signal, _core_dump) = tracee.stop {
if pid == self.pid {
Stop::Signaling { signal, .. } => {
exit_status = Some(ExitStatus::Signaled(signal));
}
_ => {}
}
self.tracer.restart(tracee, Restart::Continue)?;
@ -369,7 +366,7 @@ mod se {
fn continue_to_init_execve(tracer: &mut Ptracer) -> Result<Tracee> {
while let Some(tracee) = tracer.wait()? {
if let Stop::SyscallExitStop(..) = &tracee.stop {
if let Stop::SyscallExit = &tracee.stop {
return Ok(tracee);
}

File diff suppressed because it is too large Load Diff

View File

@ -16,7 +16,7 @@ serde = { version = "1.0", features = ["derive"] }
serde_json = "1.0"
storage-queue = { path = "../agent/storage-queue" }
thiserror = "1.0"
tokio = { version = "1.7", features = ["macros", "rt-multi-thread", "fs", "process"] }
tokio = { version = "1.8", features = ["macros", "rt-multi-thread", "fs", "process"] }
url = { version = "2.2", features = ["serde"] }
reqwest-retry = { path = "../agent/reqwest-retry"}
onefuzz-telemetry = { path = "../agent/onefuzz-telemetry" }