mirror of
https://github.com/microsoft/onefuzz.git
synced 2025-06-15 03:18:07 +00:00
Bump to Rust 1.63 (#2243)
* Bump to Rust 1.63 * Fix clippy warnings * Suppress clippy warning * More clippy fixes * Print cargo-license version * Ignore unmaintained warning * Pin cargo-license to 0.4.2, 0.5 breaks us * Suppress in proxy build as well * More Eqs * More clippy fixes
This commit is contained in:
@ -18,7 +18,7 @@ sudo npm install -g azurite
|
||||
|
||||
# Restore rust dependencies
|
||||
echo "Restoring rust dependencies"
|
||||
cargo install cargo-audit cargo-license # requirements if you want to run ci/agent.sh
|
||||
cargo install cargo-audit cargo-license@0.4.2 # requirements if you want to run ci/agent.sh
|
||||
cd /workspaces/onefuzz/src/agent
|
||||
cargo fetch
|
||||
|
||||
|
2
.github/workflows/ci.yml
vendored
2
.github/workflows/ci.yml
vendored
@ -22,7 +22,7 @@ jobs:
|
||||
- uses: actions/checkout@v2
|
||||
- name: Install specific Rust version
|
||||
run: |
|
||||
rustup default 1.62
|
||||
rustup default 1.63
|
||||
rustup component add clippy rustfmt
|
||||
- name: Get Rust version & build version
|
||||
shell: bash
|
||||
|
@ -81,7 +81,7 @@ fn input_command(argv: &[String], input: &Path) -> Command {
|
||||
let args: Vec<_> = argv[1..]
|
||||
.iter()
|
||||
.map(|a| {
|
||||
if &*a == "@@" {
|
||||
if a == "@@" {
|
||||
input.display().to_string()
|
||||
} else {
|
||||
a.to_string()
|
||||
|
@ -80,7 +80,7 @@ fn input_command(argv: &[String], input: &Path) -> Command {
|
||||
let args: Vec<_> = argv[1..]
|
||||
.iter()
|
||||
.map(|a| {
|
||||
if &*a == "@@" {
|
||||
if a == "@@" {
|
||||
input.display().to_string()
|
||||
} else {
|
||||
a.to_string()
|
||||
|
@ -7,7 +7,7 @@ use serde::{Deserialize, Serialize};
|
||||
///
|
||||
/// Coverage is reported as a sequence of module coverage entries, which are
|
||||
/// generic in a coverage type `C` and a metadata type `M`.
|
||||
#[derive(Clone, Debug, Default, Deserialize, PartialEq, Serialize)]
|
||||
#[derive(Clone, Debug, Default, Deserialize, PartialEq, Eq, Serialize)]
|
||||
#[serde(transparent)]
|
||||
pub struct CoverageReport<C, M> {
|
||||
/// Coverage data for each module.
|
||||
@ -29,7 +29,7 @@ pub struct CoverageReport<C, M> {
|
||||
///
|
||||
/// Warning: `serde` allows duplicate keys. If `M` and `C` share field names as
|
||||
/// structs, then the serialized entry will have duplicate keys.
|
||||
#[derive(Clone, Debug, Default, Deserialize, PartialEq, Serialize)]
|
||||
#[derive(Clone, Debug, Default, Deserialize, PartialEq, Eq, Serialize)]
|
||||
pub struct CoverageReportEntry<C, M> {
|
||||
/// Path or name of the module.
|
||||
pub module: String,
|
||||
|
@ -418,7 +418,7 @@ impl ModuleInfo {
|
||||
}
|
||||
}
|
||||
|
||||
#[derive(Clone, Debug, Hash, PartialEq)]
|
||||
#[derive(Clone, Debug, Hash, PartialEq, Eq)]
|
||||
pub struct SymInfo {
|
||||
pub symbol: String,
|
||||
pub address: u64,
|
||||
|
@ -168,7 +168,7 @@ impl Module {
|
||||
}
|
||||
}
|
||||
|
||||
#[derive(Copy, Clone, Debug, PartialEq)]
|
||||
#[derive(Copy, Clone, Debug, PartialEq, Eq)]
|
||||
pub enum Machine {
|
||||
Unknown,
|
||||
X64,
|
||||
|
@ -18,7 +18,7 @@ use crate::dbghelp::{self, DebugHelpGuard, ModuleInfo, SymInfo, SymLineInfo};
|
||||
const UNKNOWN_MODULE: &str = "<UnknownModule>";
|
||||
|
||||
/// The file and line number for frames in the call stack.
|
||||
#[derive(Clone, Debug, Hash, PartialEq)]
|
||||
#[derive(Clone, Debug, Hash, PartialEq, Eq)]
|
||||
pub struct FileInfo {
|
||||
pub file: String,
|
||||
pub line: u32,
|
||||
@ -38,7 +38,7 @@ impl From<&SymLineInfo> for FileInfo {
|
||||
}
|
||||
}
|
||||
|
||||
#[derive(Clone, Debug, Hash, PartialEq)]
|
||||
#[derive(Clone, Debug, Hash, PartialEq, Eq)]
|
||||
pub enum DebugStackFrame {
|
||||
Frame {
|
||||
module_name: String,
|
||||
@ -118,7 +118,7 @@ impl Serialize for DebugStackFrame {
|
||||
}
|
||||
}
|
||||
|
||||
#[derive(Debug, PartialEq, Serialize)]
|
||||
#[derive(Debug, PartialEq, Serialize, Eq)]
|
||||
pub struct DebugStack {
|
||||
pub frames: Vec<DebugStackFrame>,
|
||||
}
|
||||
|
@ -148,7 +148,7 @@ impl ThreadInfo {
|
||||
}
|
||||
}
|
||||
|
||||
#[derive(Copy, Clone, PartialEq)]
|
||||
#[derive(Copy, Clone, PartialEq, Eq)]
|
||||
enum SymInitalizeState {
|
||||
NotInitialized,
|
||||
InitializeNeeded,
|
||||
|
@ -882,7 +882,7 @@ impl ArgsWithComments {
|
||||
}
|
||||
}
|
||||
|
||||
#[derive(Clone, Copy, Debug, PartialEq)]
|
||||
#[derive(Clone, Copy, Debug, PartialEq, Eq)]
|
||||
pub enum AppVerifierState {
|
||||
Enabled,
|
||||
Disabled,
|
||||
@ -906,7 +906,7 @@ impl AppVerifierController {
|
||||
for test in app_verifier_tests.iter() {
|
||||
enable_args.arg(format!("{}", test));
|
||||
|
||||
for stop_code in stop_codes(AppVerifierTest::from_str(&*test)?) {
|
||||
for stop_code in stop_codes(AppVerifierTest::from_str(test)?) {
|
||||
configure_args.arg(format!("0x{:x}", *stop_code));
|
||||
}
|
||||
}
|
||||
|
@ -234,7 +234,7 @@ impl fmt::Display for Exception {
|
||||
}
|
||||
|
||||
/// How did the program exit - normally (so we have a proper exit code) or was it terminated?
|
||||
#[derive(Copy, Clone, Debug, PartialEq)]
|
||||
#[derive(Copy, Clone, Debug, PartialEq, Eq)]
|
||||
pub enum ExitStatus {
|
||||
/// The exit code returned from the process.
|
||||
Code(i32),
|
||||
|
@ -14,9 +14,11 @@ pub enum ExpandedValue<'a> {
|
||||
Path(String),
|
||||
Scalar(String),
|
||||
List(&'a [String]),
|
||||
Mapping(Box<dyn Fn(&Expand<'a>, &str) -> Result<Option<ExpandedValue<'a>>> + Send>),
|
||||
Mapping(MappingFn<'a>),
|
||||
}
|
||||
|
||||
type MappingFn<'a> = Box<dyn Fn(&Expand<'a>, &str) -> Result<Option<ExpandedValue<'a>>> + Send>;
|
||||
|
||||
#[derive(PartialEq, Eq, Hash, EnumIter)]
|
||||
pub enum PlaceHolder {
|
||||
Input,
|
||||
|
@ -174,6 +174,7 @@ mod tests {
|
||||
}
|
||||
|
||||
#[test]
|
||||
#[allow(clippy::read_zero_byte_vec)]
|
||||
fn read_empty_pipe() {
|
||||
let (reader, _writer) = pipe().unwrap();
|
||||
let mut buf = vec![];
|
||||
|
@ -38,6 +38,7 @@ cargo --version
|
||||
cargo audit --version
|
||||
cargo clippy --version
|
||||
cargo fmt --version
|
||||
cargo-license --version
|
||||
|
||||
# unless we're doing incremental builds, start clean during CI
|
||||
if [ X${CARGO_INCREMENTAL} == X ]; then
|
||||
@ -52,7 +53,8 @@ cargo fmt -- --check
|
||||
# RUSTSEC-2020-0077: `memmap` dependency unmaintained, via `symbolic` (see: `getsentry/symbolic#304`)
|
||||
# RUSTSEC-2020-0159: potential segfault in `time`, not yet patched (#1366)
|
||||
# RUSTSEC-2020-0071: potential segfault in `chrono`, not yet patched (#1366)
|
||||
cargo audit --deny warnings --deny unmaintained --deny unsound --deny yanked --ignore RUSTSEC-2020-0016 --ignore RUSTSEC-2020-0036 --ignore RUSTSEC-2019-0036 --ignore RUSTSEC-2021-0065 --ignore RUSTSEC-2020-0159 --ignore RUSTSEC-2020-0071 --ignore RUSTSEC-2020-0077
|
||||
# RUSTSEC-2022-0048: xml-rs is unmaintained
|
||||
cargo audit --deny warnings --deny unmaintained --deny unsound --deny yanked --ignore RUSTSEC-2020-0016 --ignore RUSTSEC-2020-0036 --ignore RUSTSEC-2019-0036 --ignore RUSTSEC-2021-0065 --ignore RUSTSEC-2020-0159 --ignore RUSTSEC-2020-0071 --ignore RUSTSEC-2020-0077 --ignore RUSTSEC-2022-0048
|
||||
cargo-license -j > data/licenses.json
|
||||
cargo build --release --locked
|
||||
cargo clippy --release --locked --all-targets -- -D warnings
|
||||
|
@ -16,7 +16,8 @@ cargo clippy --release --all-targets -- -D warnings
|
||||
# RUSTSEC-2021-0065: a dependency `anymap` is no longer supported
|
||||
# RUSTSEC-2020-0159: potential segfault in `time`, not yet patched (#1366)
|
||||
# RUSTSEC-2020-0071: potential segfault in `chrono`, not yet patched (#1366)
|
||||
cargo audit --deny warnings --deny unmaintained --deny unsound --deny yanked --ignore RUSTSEC-2020-0016 --ignore RUSTSEC-2021-0065 --ignore RUSTSEC-2020-0159 --ignore RUSTSEC-2020-0071
|
||||
# RUSTSEC-2022-0048: xml-rs is unmaintained
|
||||
cargo audit --deny warnings --deny unmaintained --deny unsound --deny yanked --ignore RUSTSEC-2020-0016 --ignore RUSTSEC-2021-0065 --ignore RUSTSEC-2020-0159 --ignore RUSTSEC-2020-0071 --ignore RUSTSEC-2022-0048
|
||||
cargo-license -j > data/licenses.json
|
||||
cargo build --release --locked
|
||||
# export RUST_LOG=trace
|
||||
|
@ -14,5 +14,5 @@ fi
|
||||
cargo install cargo-audit
|
||||
|
||||
if ! cargo-license --help; then
|
||||
cargo install cargo-license
|
||||
cargo install cargo-license@0.4.2
|
||||
fi
|
||||
|
@ -35,14 +35,14 @@ pub enum ProxyError {
|
||||
},
|
||||
}
|
||||
|
||||
#[derive(Debug, Deserialize, Serialize, PartialEq, Clone)]
|
||||
#[derive(Debug, Deserialize, Serialize, PartialEq, Eq, Clone)]
|
||||
pub struct Forward {
|
||||
pub src_port: u16,
|
||||
pub dst_ip: String,
|
||||
pub dst_port: u16,
|
||||
}
|
||||
|
||||
#[derive(Debug, Deserialize, Serialize, PartialEq, Clone)]
|
||||
#[derive(Debug, Deserialize, Serialize, PartialEq, Eq, Clone)]
|
||||
pub struct ConfigData {
|
||||
pub instance_id: Uuid,
|
||||
pub instance_telemetry_key: Option<InstanceTelemetryKey>,
|
||||
@ -54,7 +54,7 @@ pub struct ConfigData {
|
||||
pub forwards: Vec<Forward>,
|
||||
}
|
||||
|
||||
#[derive(Debug, Deserialize, Serialize, PartialEq)]
|
||||
#[derive(Debug, Deserialize, Serialize, PartialEq, Eq)]
|
||||
pub struct NotifyResponse<'a> {
|
||||
pub region: &'a str,
|
||||
pub proxy_id: Uuid,
|
||||
|
Reference in New Issue
Block a user