Skip to content

Commit 94922a9

Browse files
committed
Fix clippy
I was noticing a lot of warnings while building that we typically don't allow. It turns out, clippy was broken. For some reason, the stage0/stage0_tdx targets do not cooperate with clippy. For now I have: * excluded those targets from clippy * updates the clippy script to properly signal errors. Change-Id: I2e8d5e298b1ec9919e9417d24b1ab2afc03e74e8
1 parent 9e9591b commit 94922a9

File tree

37 files changed

+223
-202
lines changed

37 files changed

+223
-202
lines changed

.bazelrc

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -78,8 +78,8 @@ build:unsafe-fast-presubmit --remote_upload_local_results=true
7878
build:unsafe-fast-presubmit --google_default_credentials=true
7979

8080
# https://github.com/bazelbuild/bazel/issues/9342
81-
# --experimental_check_desugar_deps (on by default) breaks Android builds with remote execution
82-
build:unsafe-fast-presubmit --noexperimental_check_desugar_deps
81+
# --experimental_check_desugar_deps (on by default) breaks Android builds
82+
build --noexperimental_check_desugar_deps
8383

8484
# Set the rustc --sysroot flag to one generated by the toolchains. This is needed to support
8585
# rebuilding the standard libraries for stage 0 and the restricted kernel wrapper.

justfile

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -335,6 +335,9 @@ list-bare-metal-crates:
335335
{{bare_metal_crates_query}}
336336

337337
bazel-clippy:
338+
bazel build --keep_going --config=clippy "$@" //...:all -- -third_party/...
339+
340+
bazel-clippy-ci:
338341
scripts/clippy_clean
339342

340343
bazel-repin:
@@ -346,7 +349,7 @@ bazel-fmt:
346349
bazel-rustfmt:
347350
bazel build --config=rustfmt --config=unsafe-fast-presubmit //...:all -- -third_party/...
348351

349-
clippy-ci: bazel-clippy cargo-clippy
352+
clippy-ci: bazel-clippy-ci cargo-clippy
350353

351354
cargo-clippy:
352355
#!/bin/sh

oak_attestation/src/dice.rs

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -49,9 +49,7 @@ impl MeasureDigest for &[u8] {
4949
let mut digest = sha2::Sha256::default();
5050
digest.update(self);
5151
let digest_bytes: [u8; 32] = digest.finalize().into();
52-
let mut raw_digest = RawDigest::default();
53-
raw_digest.sha2_256 = digest_bytes.to_vec();
54-
raw_digest
52+
RawDigest { sha2_256: digest_bytes.to_vec(), ..Default::default() }
5553
}
5654
}
5755

@@ -323,7 +321,7 @@ impl TryFrom<DiceData> for DiceAttester {
323321
certificate_authority.eca_private_key.zeroize();
324322
}
325323

326-
Ok(DiceAttester { evidence: evidence.clone(), signing_key: signing_key })
324+
Ok(DiceAttester { evidence: evidence.clone(), signing_key })
327325
}
328326
}
329327

@@ -372,11 +370,11 @@ pub fn evidence_and_event_log_to_proto(
372370
let layers = vec![layer_evidence_to_proto(value.restricted_kernel_evidence)?];
373371
let application_keys = Some(application_keys_to_proto(value.application_keys)?);
374372
let event_log = encoded_event_log
375-
.map(|data| EventLog::decode(data))
373+
.map(EventLog::decode)
376374
.transpose()
377375
.map_err(anyhow::Error::msg)
378376
.context("couldn't decode event log")?;
379-
Ok(Evidence { root_layer, layers, application_keys, event_log: event_log })
377+
Ok(Evidence { root_layer, layers, application_keys, event_log })
380378
}
381379

382380
fn root_layer_evidence_to_proto(

oak_attestation_integration_test_utils/src/lib.rs

Lines changed: 6 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -17,14 +17,12 @@
1717
use oak_containers_sdk::{standalone::StandaloneOrchestrator, OrchestratorInterface};
1818
use oak_proto_rust::oak::{
1919
attestation::v1::{
20-
binary_reference_value, extracted_evidence::EvidenceValues, kernel_binary_reference_value,
21-
reference_values, root_layer_data::Report, text_reference_value, AmdSevReferenceValues,
22-
ApplicationLayerReferenceValues, BinaryReferenceValue, ContainerLayerReferenceValues,
23-
Digests, ExtractedEvidence, InsecureReferenceValues, KernelBinaryReferenceValue,
24-
KernelDigests, KernelLayerData, KernelLayerReferenceValues, OakContainersReferenceValues,
25-
OakRestrictedKernelReferenceValues, ReferenceValues, RootLayerData,
26-
RootLayerReferenceValues, SkipVerification, Stage0Measurements, StringLiterals,
27-
SystemLayerReferenceValues, TcbVersion, TextReferenceValue,
20+
binary_reference_value, kernel_binary_reference_value, reference_values,
21+
text_reference_value, BinaryReferenceValue, ContainerLayerReferenceValues, Digests,
22+
InsecureReferenceValues, KernelBinaryReferenceValue, KernelDigests,
23+
KernelLayerReferenceValues, OakContainersReferenceValues, ReferenceValues,
24+
RootLayerReferenceValues, Stage0Measurements, StringLiterals, SystemLayerReferenceValues,
25+
TextReferenceValue,
2826
},
2927
session::v1::EndorsedEvidence,
3028
RawDigest,

oak_attestation_integration_tests/BUILD

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,6 @@ rust_library(
4141
],
4242
)
4343

44-
# TODO: b/370463888 - Run this in CI.
4544
rust_binary(
4645
name = "update_testdata_assert_no_breaking_changes",
4746
srcs = ["src/main.rs"],

oak_attestation_integration_tests/src/lib.rs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ impl SnapshotPath {
3434
Path::new(Self::TESTDATA_DIR).join(format!("{:05}", self.version))
3535
}
3636

37-
fn version(&self) -> u16 {
37+
pub fn version(&self) -> u16 {
3838
self.version
3939
}
4040

@@ -163,9 +163,9 @@ impl Snapshot {
163163
];
164164

165165
let (
166-
mut self_endorsed_evidence_json,
166+
self_endorsed_evidence_json,
167167
previous_endorsed_evidence_json,
168-
mut self_reference_values_json,
168+
self_reference_values_json,
169169
previous_reference_values_json,
170170
) = tokio::try_join!(
171171
async {

oak_attestation_integration_tests/src/main.rs

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,8 +20,6 @@
2020
//! that newer versions of the verification library continue to be able to
2121
//! verify older versions of these artifacts.
2222
23-
// TODO: b/370445356 - Write tests that use the created testdata.
24-
2523
use oak_attestation_integration_test_utils::create_oak_containers_standalone_endorsed_evidence_with_matching_reference_values;
2624
use oak_attestation_integration_tests::{Snapshot, SnapshotPath};
2725

oak_attestation_integration_tests/tests/verifier_tests.rs

Lines changed: 10 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -17,25 +17,19 @@
1717
use oak_attestation::dice::evidence_and_event_log_to_proto;
1818
use oak_attestation_integration_tests::{Snapshot, SnapshotPath};
1919
use oak_attestation_verification::verifier::{to_attestation_results, verify, verify_dice_chain};
20-
use oak_containers_sdk::{standalone::StandaloneOrchestrator, OrchestratorInterface};
21-
use oak_proto_rust::oak::{
22-
attestation::v1::{
23-
attestation_results::Status, binary_reference_value, endorsements,
24-
kernel_binary_reference_value, reference_values, text_reference_value,
25-
ApplicationLayerReferenceValues, BinaryReferenceValue, ContainerLayerReferenceValues,
26-
Digests, Endorsements, Event, EventLog, InsecureReferenceValues,
27-
KernelBinaryReferenceValue, KernelDigests, KernelLayerReferenceValues,
28-
OakContainersReferenceValues, OakRestrictedKernelEndorsements,
29-
OakRestrictedKernelReferenceValues, ReferenceValues, RootLayerEndorsements,
30-
RootLayerReferenceValues, SkipVerification, Stage0Measurements, StringLiterals,
31-
SystemLayerReferenceValues, TextReferenceValue,
32-
},
33-
RawDigest,
20+
use oak_containers_sdk::OrchestratorInterface;
21+
use oak_proto_rust::oak::attestation::v1::{
22+
attestation_results::Status, binary_reference_value, endorsements,
23+
kernel_binary_reference_value, reference_values, text_reference_value,
24+
ApplicationLayerReferenceValues, BinaryReferenceValue, ContainerLayerReferenceValues,
25+
Endorsements, Event, InsecureReferenceValues, KernelBinaryReferenceValue,
26+
KernelLayerReferenceValues, OakContainersReferenceValues, OakRestrictedKernelEndorsements,
27+
OakRestrictedKernelReferenceValues, ReferenceValues, RootLayerEndorsements,
28+
RootLayerReferenceValues, SkipVerification, Stage0Measurements, SystemLayerReferenceValues,
29+
TextReferenceValue,
3430
};
3531
use oak_restricted_kernel_sdk::attestation::EvidenceProvider;
3632
use prost::Message;
37-
use sha2::Digest;
38-
use tokio;
3933

4034
// Pretend the tests run at this time: 1 Nov 2023, 9:00 UTC
4135
const NOW_UTC_MILLIS: i64 = 1698829200000;

oak_attestation_verification/src/endorsement.rs

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@
1919
2020
extern crate alloc;
2121

22-
use alloc::{collections::BTreeMap, string::String, vec, vec::Vec};
22+
use alloc::{collections::BTreeMap, string::String, vec::Vec};
2323

2424
use anyhow::Context;
2525
use base64::{prelude::BASE64_STANDARD, Engine as _};
@@ -184,7 +184,7 @@ pub fn verify_endorsement(
184184
// The signature verification is also part of log entry verification,
185185
// so in some cases this check will be dispensable. We verify the
186186
// signature nonetheless before parsing the endorsement.
187-
verify_signature(&signature, &endorsement.serialized, &endorser_key_set)
187+
verify_signature(signature, &endorsement.serialized, endorser_key_set)
188188
.context("verifying signature")?;
189189

190190
let statement =
@@ -241,7 +241,7 @@ pub fn verify_binary_endorsement(
241241
.context("verifying signature")?;
242242

243243
let statement = parse_statement(endorsement).context("parsing endorsement statement")?;
244-
validate_statement(now_utc_millis, &vec![], &statement)
244+
validate_statement(now_utc_millis, &[], &statement)
245245
.context("verifying endorsement statement")?;
246246

247247
if !rekor_public_key.is_empty() {
@@ -267,10 +267,10 @@ pub fn verify_endorser_public_key(
267267
.iter()
268268
.find(|k| k.key_id == signature_key_id)
269269
.ok_or_else(|| anyhow::anyhow!("could not find key id in key set"))?;
270-
return match key.r#type() {
270+
match key.r#type() {
271271
KeyType::Undefined => anyhow::bail!("Undefined key type"),
272272
KeyType::EcdsaP256Sha256 => verify_endorser_public_key_ecdsa(log_entry, &key.raw),
273-
};
273+
}
274274
}
275275

276276
/// Verifies that the endorser public key coincides with the one contained in
@@ -330,10 +330,10 @@ pub fn validate_statement(
330330

331331
match &statement.predicate.validity {
332332
Some(validity) => {
333-
if validity.not_before.unix_timestamp_millis() > now_utc_millis.into() {
333+
if validity.not_before.unix_timestamp_millis() > now_utc_millis {
334334
anyhow::bail!("the claim is not yet applicable")
335335
}
336-
if validity.not_after.unix_timestamp_millis() < now_utc_millis.into() {
336+
if validity.not_after.unix_timestamp_millis() < now_utc_millis {
337337
anyhow::bail!("the claim is no longer applicable")
338338
}
339339
}

oak_attestation_verification/src/endorsement/tests.rs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616
#[cfg(test)]
1717
extern crate std;
1818

19-
use alloc::{vec, vec::Vec};
19+
use alloc::vec::Vec;
2020
use std::fs;
2121

2222
use oak_file_utils::data_path;
@@ -98,7 +98,7 @@ fn test_validate_endorsement_statement_success() {
9898
let testdata = load_testdata();
9999
let statement =
100100
parse_statement(&testdata.endorsement).expect("could not parse endorsement statement");
101-
let result = validate_statement(NOW_UTC_MILLIS, &vec![], &statement);
101+
let result = validate_statement(NOW_UTC_MILLIS, &[], &statement);
102102
assert!(result.is_ok(), "{:?}", result);
103103
}
104104

@@ -107,7 +107,7 @@ fn test_validate_endorsement_statement_fails_too_early() {
107107
let testdata = load_testdata();
108108
let statement =
109109
parse_statement(&testdata.endorsement).expect("could not parse endorsement statement");
110-
let result = validate_statement(TOO_EARLY_UTC_MILLIS, &vec![], &statement);
110+
let result = validate_statement(TOO_EARLY_UTC_MILLIS, &[], &statement);
111111
assert!(result.is_err(), "{:?}", result);
112112
}
113113

@@ -116,7 +116,7 @@ fn test_validate_statement_fails_too_late() {
116116
let testdata = load_testdata();
117117
let statement =
118118
parse_statement(&testdata.endorsement).expect("could not parse endorsement statement");
119-
let result = validate_statement(TOO_LATE_UTC_MILLIS, &vec![], &statement);
119+
let result = validate_statement(TOO_LATE_UTC_MILLIS, &[], &statement);
120120
assert!(result.is_err(), "{:?}", result);
121121
}
122122

0 commit comments

Comments
 (0)