src/backup/data_blob.rs: always compute crc
This commit is contained in:
		@ -539,9 +539,9 @@ fn upload_backup_log(
 | 
			
		||||
            Ok::<_, Error>(acc)
 | 
			
		||||
        })
 | 
			
		||||
        .and_then(move |data| {
 | 
			
		||||
            let mut blob = DataBlob::from_raw(data)?;
 | 
			
		||||
            // always comput CRC at server side
 | 
			
		||||
            blob.set_crc(blob.compute_crc());
 | 
			
		||||
            let blob = DataBlob::from_raw(data)?;
 | 
			
		||||
            // always verify CRC at server side
 | 
			
		||||
            blob.verify_crc()?;
 | 
			
		||||
            let raw_data = blob.raw_data();
 | 
			
		||||
            file_set_contents(&path, raw_data, None)?;
 | 
			
		||||
            Ok(())
 | 
			
		||||
 | 
			
		||||
@ -73,7 +73,7 @@ impl DataBlob {
 | 
			
		||||
            bail!("data blob too large ({} bytes).", data.len());
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        if let Some(config) = config {
 | 
			
		||||
        let mut blob = if let Some(config) = config {
 | 
			
		||||
 | 
			
		||||
            let compr_data;
 | 
			
		||||
            let (_compress, data, magic) = if compress {
 | 
			
		||||
@ -110,7 +110,7 @@ impl DataBlob {
 | 
			
		||||
                (&mut raw_data[0..header_len]).write_le_value(head)?;
 | 
			
		||||
            }
 | 
			
		||||
 | 
			
		||||
            return Ok(DataBlob { raw_data });
 | 
			
		||||
            DataBlob { raw_data }
 | 
			
		||||
        } else {
 | 
			
		||||
 | 
			
		||||
            let max_data_len = data.len() + std::mem::size_of::<DataBlobHeader>();
 | 
			
		||||
@ -143,8 +143,12 @@ impl DataBlob {
 | 
			
		||||
            }
 | 
			
		||||
            raw_data.extend_from_slice(data);
 | 
			
		||||
 | 
			
		||||
            return Ok(DataBlob { raw_data });
 | 
			
		||||
        }
 | 
			
		||||
            DataBlob { raw_data }
 | 
			
		||||
        };
 | 
			
		||||
 | 
			
		||||
        blob.set_crc(blob.compute_crc());
 | 
			
		||||
 | 
			
		||||
        Ok(blob)
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /// Decode blob data
 | 
			
		||||
@ -238,7 +242,10 @@ impl DataBlob {
 | 
			
		||||
        }
 | 
			
		||||
        raw_data.extend_from_slice(data);
 | 
			
		||||
 | 
			
		||||
        return Ok(DataBlob { raw_data });
 | 
			
		||||
        let mut blob = DataBlob { raw_data };
 | 
			
		||||
        blob.set_crc(blob.compute_crc());
 | 
			
		||||
 | 
			
		||||
        return Ok(blob);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /// Create Instance from raw data
 | 
			
		||||
 | 
			
		||||
		Reference in New Issue
	
	Block a user