Skip to content

Commit 7659fdf

Browse files
embediverleongross
authored andcommitted
Only parse supported_slots_mask for version >= v1.3
1 parent ec97c8e commit 7659fdf

File tree

1 file changed

+11
-3
lines changed

1 file changed

+11
-3
lines changed

src/commands/digests/request.rs

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -59,10 +59,18 @@ pub(crate) fn handle_digests_response<'a>(
5959
.as_mut()
6060
.ok_or((true, CommandError::InvalidResponse))?;
6161

62-
peer_cert_store
63-
.set_supported_slots(digests_resp_common.supported_slot_mask)
64-
.map_err(|e| (true, CommandError::CertStore(e)))?;
62+
if version >= SpdmVersion::V13 {
63+
peer_cert_store
64+
.set_supported_slots(digests_resp_common.supported_slot_mask)
65+
.map_err(|e| (true, CommandError::CertStore(e)))?;
66+
} else {
67+
// Set all slots as supported, if supported_slot_mask isn't supported (v1.2 and prior)
68+
peer_cert_store
69+
.set_supported_slots(0xFF)
70+
.map_err(|e| (true, CommandError::CertStore(e)))?;
71+
}
6572

73+
// TODO: Was this intended to do something?
6674
for b in 0..digests_resp_common.supported_slot_mask.count_ones() {
6775
if (digests_resp_common.supported_slot_mask & (1 << b)) == 1 {}
6876
}

0 commit comments

Comments
 (0)