mirror of
https://github.com/embassy-rs/embassy.git
synced 2024-11-21 22:32:29 +00:00
fix(boot): return signature error when no features
Always return signature error in verify_and_mark_updated when no signature features are enabled.
This commit is contained in:
parent
3d6a270f30
commit
8519e54461
@ -107,7 +107,8 @@ impl<'d, DFU: NorFlash, STATE: NorFlash> FirmwareUpdater<'d, DFU, STATE> {
|
|||||||
let mut message = [0; 64];
|
let mut message = [0; 64];
|
||||||
self.hash::<Sha512>(_update_len, &mut chunk_buf, &mut message).await?;
|
self.hash::<Sha512>(_update_len, &mut chunk_buf, &mut message).await?;
|
||||||
|
|
||||||
public_key.verify(&message, &signature).map_err(into_signature_error)?
|
public_key.verify(&message, &signature).map_err(into_signature_error)?;
|
||||||
|
return self.state.mark_updated().await;
|
||||||
}
|
}
|
||||||
#[cfg(feature = "ed25519-salty")]
|
#[cfg(feature = "ed25519-salty")]
|
||||||
{
|
{
|
||||||
@ -134,10 +135,13 @@ impl<'d, DFU: NorFlash, STATE: NorFlash> FirmwareUpdater<'d, DFU, STATE> {
|
|||||||
message,
|
message,
|
||||||
r.is_ok()
|
r.is_ok()
|
||||||
);
|
);
|
||||||
r.map_err(into_signature_error)?
|
r.map_err(into_signature_error)?;
|
||||||
|
return self.state.mark_updated().await;
|
||||||
|
}
|
||||||
|
#[cfg(not(any(feature = "ed25519-dalek", feature = "ed25519-salty")))]
|
||||||
|
{
|
||||||
|
Err(FirmwareUpdaterError::Signature(signature::Error::new()))
|
||||||
}
|
}
|
||||||
|
|
||||||
self.state.mark_updated().await
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Verify the update in DFU with any digest.
|
/// Verify the update in DFU with any digest.
|
||||||
|
@ -142,7 +142,8 @@ impl<'d, DFU: NorFlash, STATE: NorFlash> BlockingFirmwareUpdater<'d, DFU, STATE>
|
|||||||
let mut chunk_buf = [0; 2];
|
let mut chunk_buf = [0; 2];
|
||||||
self.hash::<Sha512>(_update_len, &mut chunk_buf, &mut message)?;
|
self.hash::<Sha512>(_update_len, &mut chunk_buf, &mut message)?;
|
||||||
|
|
||||||
public_key.verify(&message, &signature).map_err(into_signature_error)?
|
public_key.verify(&message, &signature).map_err(into_signature_error)?;
|
||||||
|
return self.state.mark_updated();
|
||||||
}
|
}
|
||||||
#[cfg(feature = "ed25519-salty")]
|
#[cfg(feature = "ed25519-salty")]
|
||||||
{
|
{
|
||||||
@ -169,10 +170,13 @@ impl<'d, DFU: NorFlash, STATE: NorFlash> BlockingFirmwareUpdater<'d, DFU, STATE>
|
|||||||
message,
|
message,
|
||||||
r.is_ok()
|
r.is_ok()
|
||||||
);
|
);
|
||||||
r.map_err(into_signature_error)?
|
r.map_err(into_signature_error)?;
|
||||||
|
return self.state.mark_updated();
|
||||||
|
}
|
||||||
|
#[cfg(not(any(feature = "ed25519-dalek", feature = "ed25519-salty")))]
|
||||||
|
{
|
||||||
|
Err(FirmwareUpdaterError::Signature(signature::Error::new()))
|
||||||
}
|
}
|
||||||
|
|
||||||
self.state.mark_updated()
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Verify the update in DFU with any digest.
|
/// Verify the update in DFU with any digest.
|
||||||
|
Loading…
Reference in New Issue
Block a user