aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--embassy-boot/src/firmware_updater/asynch.rs12
-rw-r--r--embassy-boot/src/firmware_updater/blocking.rs12
2 files changed, 16 insertions, 8 deletions
diff --git a/embassy-boot/src/firmware_updater/asynch.rs b/embassy-boot/src/firmware_updater/asynch.rs
index 26f65f295..86b441592 100644
--- a/embassy-boot/src/firmware_updater/asynch.rs
+++ b/embassy-boot/src/firmware_updater/asynch.rs
@@ -107,7 +107,8 @@ impl<'d, DFU: NorFlash, STATE: NorFlash> FirmwareUpdater<'d, DFU, STATE> {
107 let mut message = [0; 64]; 107 let mut message = [0; 64];
108 self.hash::<Sha512>(_update_len, &mut chunk_buf, &mut message).await?; 108 self.hash::<Sha512>(_update_len, &mut chunk_buf, &mut message).await?;
109 109
110 public_key.verify(&message, &signature).map_err(into_signature_error)? 110 public_key.verify(&message, &signature).map_err(into_signature_error)?;
111 return self.state.mark_updated().await;
111 } 112 }
112 #[cfg(feature = "ed25519-salty")] 113 #[cfg(feature = "ed25519-salty")]
113 { 114 {
@@ -134,10 +135,13 @@ impl<'d, DFU: NorFlash, STATE: NorFlash> FirmwareUpdater<'d, DFU, STATE> {
134 message, 135 message,
135 r.is_ok() 136 r.is_ok()
136 ); 137 );
137 r.map_err(into_signature_error)? 138 r.map_err(into_signature_error)?;
139 return self.state.mark_updated().await;
140 }
141 #[cfg(not(any(feature = "ed25519-dalek", feature = "ed25519-salty")))]
142 {
143 Err(FirmwareUpdaterError::Signature(signature::Error::new()))
138 } 144 }
139
140 self.state.mark_updated().await
141 } 145 }
142 146
143 /// Verify the update in DFU with any digest. 147 /// Verify the update in DFU with any digest.
diff --git a/embassy-boot/src/firmware_updater/blocking.rs b/embassy-boot/src/firmware_updater/blocking.rs
index 35772a856..d3c723456 100644
--- a/embassy-boot/src/firmware_updater/blocking.rs
+++ b/embassy-boot/src/firmware_updater/blocking.rs
@@ -142,7 +142,8 @@ impl<'d, DFU: NorFlash, STATE: NorFlash> BlockingFirmwareUpdater<'d, DFU, STATE>
142 let mut chunk_buf = [0; 2]; 142 let mut chunk_buf = [0; 2];
143 self.hash::<Sha512>(_update_len, &mut chunk_buf, &mut message)?; 143 self.hash::<Sha512>(_update_len, &mut chunk_buf, &mut message)?;
144 144
145 public_key.verify(&message, &signature).map_err(into_signature_error)? 145 public_key.verify(&message, &signature).map_err(into_signature_error)?;
146 return self.state.mark_updated();
146 } 147 }
147 #[cfg(feature = "ed25519-salty")] 148 #[cfg(feature = "ed25519-salty")]
148 { 149 {
@@ -169,10 +170,13 @@ impl<'d, DFU: NorFlash, STATE: NorFlash> BlockingFirmwareUpdater<'d, DFU, STATE>
169 message, 170 message,
170 r.is_ok() 171 r.is_ok()
171 ); 172 );
172 r.map_err(into_signature_error)? 173 r.map_err(into_signature_error)?;
174 return self.state.mark_updated();
175 }
176 #[cfg(not(any(feature = "ed25519-dalek", feature = "ed25519-salty")))]
177 {
178 Err(FirmwareUpdaterError::Signature(signature::Error::new()))
173 } 179 }
174
175 self.state.mark_updated()
176 } 180 }
177 181
178 /// Verify the update in DFU with any digest. 182 /// Verify the update in DFU with any digest.