tool: move file_hash() to utils module
This commit is contained in:
		
							parent
							
								
									3a3ad7c40d
								
							
						
					
					
						commit
						06b9cdc69e
					
				|  | @ -6,13 +6,10 @@ use std::process::Command; | ||||||
| 
 | 
 | ||||||
| use anyhow::{Context, Result}; | use anyhow::{Context, Result}; | ||||||
| use goblin::pe::PE; | use goblin::pe::PE; | ||||||
| use sha2::{Digest, Sha256}; |  | ||||||
| use tempfile::TempDir; | use tempfile::TempDir; | ||||||
| 
 | 
 | ||||||
| use crate::esp::EspGenerationPaths; | use crate::esp::EspGenerationPaths; | ||||||
| use crate::utils::{tmpname, SecureTempDirExt}; | use crate::utils::{file_hash, tmpname, SecureTempDirExt}; | ||||||
| 
 |  | ||||||
| type Hash = sha2::digest::Output<Sha256>; |  | ||||||
| 
 | 
 | ||||||
| /// Assemble a lanzaboote image.
 | /// Assemble a lanzaboote image.
 | ||||||
| #[allow(clippy::too_many_arguments)] | #[allow(clippy::too_many_arguments)] | ||||||
|  | @ -61,11 +58,6 @@ pub fn lanzaboote_image( | ||||||
|     Ok(image_path) |     Ok(image_path) | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| /// Compute the SHA 256 hash of a file.
 |  | ||||||
| fn file_hash(file: &Path) -> Result<Hash> { |  | ||||||
|     Ok(Sha256::digest(fs::read(file)?)) |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| /// Take a PE binary stub and attach sections to it.
 | /// Take a PE binary stub and attach sections to it.
 | ||||||
| ///
 | ///
 | ||||||
| /// The resulting binary is then written to a newly created file at the provided output path.
 | /// The resulting binary is then written to a newly created file at the provided output path.
 | ||||||
|  |  | ||||||
|  | @ -6,6 +6,7 @@ use std::os::unix::fs::OpenOptionsExt; | ||||||
| use std::path::{Path, PathBuf}; | use std::path::{Path, PathBuf}; | ||||||
| 
 | 
 | ||||||
| use anyhow::{Context, Result}; | use anyhow::{Context, Result}; | ||||||
|  | use sha2::{Digest, Sha256}; | ||||||
| use tempfile::TempDir; | use tempfile::TempDir; | ||||||
| 
 | 
 | ||||||
| /// The number of random alphanumeric characters in the tempfiles.
 | /// The number of random alphanumeric characters in the tempfiles.
 | ||||||
|  | @ -64,3 +65,12 @@ pub fn tmpname() -> OsString { | ||||||
|     } |     } | ||||||
|     buf |     buf | ||||||
| } | } | ||||||
|  | 
 | ||||||
|  | type Hash = sha2::digest::Output<Sha256>; | ||||||
|  | 
 | ||||||
|  | /// Compute the SHA 256 hash of a file.
 | ||||||
|  | pub fn file_hash(file: &Path) -> Result<Hash> { | ||||||
|  |     Ok(Sha256::digest(fs::read(file).with_context(|| { | ||||||
|  |         format!("Failed to read file to hash: {file:?}") | ||||||
|  |     })?)) | ||||||
|  | } | ||||||
|  |  | ||||||
		Loading…
	
		Reference in New Issue
	
	 nikstur
						nikstur