]> git.proxmox.com Git - proxmox-backup.git/blob - src/backup/file_formats.rs
src/backup/crypt_config.rs: remove encode_chunk, use encrypt_to instead
[proxmox-backup.git] / src / backup / file_formats.rs
1 // WARNING: PLEASE DO NOT MODIFY THOSE MAGIC VALUES
2
3 // openssl::sha::sha256(b"Proxmox Backup uncompressed chunk v1.0")[0..8]
4 pub static UNCOMPRESSED_CHUNK_MAGIC_1_0: [u8; 8] = [79, 127, 200, 4, 121, 74, 135, 239];
5
6 // openssl::sha::sha256(b"Proxmox Backup encrypted chunk v1.0")[0..8]
7 pub static ENCRYPTED_CHUNK_MAGIC_1_0: [u8; 8] = [8, 54, 114, 153, 70, 156, 26, 151];
8
9 // openssl::sha::sha256(b"Proxmox Backup zstd compressed chunk v1.0")[0..8]
10 pub static COMPRESSED_CHUNK_MAGIC_1_0: [u8; 8] = [191, 237, 46, 195, 108, 17, 228, 235];
11
12 // openssl::sha::sha256(b"Proxmox Backup zstd compressed encrypted chunk v1.0")[0..8]
13 pub static ENCR_COMPR_CHUNK_MAGIC_1_0: [u8; 8] = [9, 40, 53, 200, 37, 150, 90, 196];
14
15 // openssl::sha::sha256(b"Proxmox Backup uncompressed blob v1.0")[0..8]
16 pub static UNCOMPRESSED_BLOB_MAGIC_1_0: [u8; 8] = [66, 171, 56, 7, 190, 131, 112, 161];
17
18 //openssl::sha::sha256(b"Proxmox Backup zstd compressed blob v1.0")[0..8]
19 pub static COMPRESSED_BLOB_MAGIC_1_0: [u8; 8] = [49, 185, 88, 66, 111, 182, 163, 127];
20
21 // openssl::sha::sha256(b"Proxmox Backup encrypted blob v1.0")[0..8]
22 pub static ENCRYPTED_BLOB_MAGIC_1_0: [u8; 8] = [123, 103, 133, 190, 34, 45, 76, 240];
23
24 // openssl::sha::sha256(b"Proxmox Backup zstd compressed encrypted blob v1.0")[0..8]
25 pub static ENCR_COMPR_BLOB_MAGIC_1_0: [u8; 8] = [230, 89, 27, 191, 11, 191, 216, 11];
26
27 // openssl::sha::sha256(b"Proxmox Backup fixed sized chunk index v1.0")[0..8]
28 pub static FIXED_SIZED_CHUNK_INDEX_1_0: [u8; 8] = [47, 127, 65, 237, 145, 253, 15, 205];
29
30 // openssl::sha::sha256(b"Proxmox Backup dynamic sized chunk index v1.0")[0..8]
31 pub static DYNAMIC_SIZED_CHUNK_INDEX_1_0: [u8; 8] = [28, 145, 78, 165, 25, 186, 179, 205];
32
33 #[repr(C,packed)]
34 pub struct DataBlobHeader {
35 pub magic: [u8; 8],
36 pub crc: [u8; 4],
37 }
38
39 #[repr(C,packed)]
40 pub struct EncryptedDataBlobHeader {
41 pub head: DataBlobHeader,
42 pub iv: [u8; 16],
43 pub tag: [u8; 16],
44 }
45
46 #[repr(C,packed)]
47 pub struct DataChunkHeader {
48 pub magic: [u8; 8],
49 pub crc: [u8; 4],
50 }
51
52 #[repr(C,packed)]
53 pub struct EncryptedDataChunkHeader {
54 pub head: DataChunkHeader,
55 pub iv: [u8; 16],
56 pub tag: [u8; 16],
57 }