DataStore::load_manifest: also return CryptMode
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
This commit is contained in:
		| @ -46,7 +46,7 @@ fn check_backup_owner(store: &DataStore, group: &BackupGroup, userid: &str) -> R | ||||
|  | ||||
| fn read_backup_index(store: &DataStore, backup_dir: &BackupDir) -> Result<Vec<BackupContent>, Error> { | ||||
|  | ||||
|     let (manifest, index_size) = store.load_manifest(backup_dir)?; | ||||
|     let (manifest, manifest_crypt_mode, index_size) = store.load_manifest(backup_dir)?; | ||||
|  | ||||
|     let mut result = Vec::new(); | ||||
|     for item in manifest.files() { | ||||
| @ -59,7 +59,7 @@ fn read_backup_index(store: &DataStore, backup_dir: &BackupDir) -> Result<Vec<Ba | ||||
|  | ||||
|     result.push(BackupContent { | ||||
|         filename: MANIFEST_BLOB_NAME.to_string(), | ||||
|         crypt_mode: None, | ||||
|         crypt_mode: Some(manifest_crypt_mode), | ||||
|         size: Some(index_size), | ||||
|     }); | ||||
|  | ||||
|  | ||||
| @ -15,6 +15,7 @@ use super::fixed_index::{FixedIndexReader, FixedIndexWriter}; | ||||
| use super::manifest::{MANIFEST_BLOB_NAME, CLIENT_LOG_BLOB_NAME, BackupManifest}; | ||||
| use super::index::*; | ||||
| use super::{DataBlob, ArchiveType, archive_type}; | ||||
| use crate::backup::CryptMode; | ||||
| use crate::config::datastore; | ||||
| use crate::server::WorkerTask; | ||||
| use crate::tools; | ||||
| @ -494,9 +495,13 @@ impl DataStore { | ||||
|         Ok((blob, raw_size)) | ||||
|     } | ||||
|  | ||||
|     pub fn load_manifest(&self, backup_dir: &BackupDir) -> Result<(BackupManifest, u64), Error> { | ||||
|     pub fn load_manifest( | ||||
|         &self, | ||||
|         backup_dir: &BackupDir, | ||||
|     ) -> Result<(BackupManifest, CryptMode, u64), Error> { | ||||
|         let (blob, raw_size) = self.load_blob(backup_dir, MANIFEST_BLOB_NAME)?; | ||||
|         let crypt_mode = blob.crypt_mode()?; | ||||
|         let manifest = BackupManifest::try_from(blob)?; | ||||
|         Ok((manifest, raw_size)) | ||||
|         Ok((manifest, crypt_mode, raw_size)) | ||||
|     } | ||||
| } | ||||
|  | ||||
| @ -101,7 +101,7 @@ fn verify_dynamic_index(datastore: &DataStore, backup_dir: &BackupDir, info: &Fi | ||||
| pub fn verify_backup_dir(datastore: &DataStore, backup_dir: &BackupDir, worker: &WorkerTask) -> Result<bool, Error> { | ||||
|  | ||||
|     let manifest = match datastore.load_manifest(&backup_dir) { | ||||
|         Ok((manifest, _)) => manifest, | ||||
|         Ok((manifest, _crypt_mode, _)) => manifest, | ||||
|         Err(err) => { | ||||
|             worker.log(format!("verify {}:{} - manifest load error: {}", datastore.name(), backup_dir, err)); | ||||
|             return Ok(false); | ||||
|  | ||||
		Reference in New Issue
	
	Block a user