]> git.proxmox.com Git - proxmox-backup.git/commitdiff
manifest: revert canonicalization to old behaviour
authorFabian Grünbichler <f.gruenbichler@proxmox.com>
Mon, 20 Jul 2020 08:22:12 +0000 (10:22 +0200)
committerThomas Lamprecht <t.lamprecht@proxmox.com>
Mon, 20 Jul 2020 09:37:53 +0000 (11:37 +0200)
JSON keys MUST be quoted. this is a one-time break in signature
validation for backups created with the broken canonicalization code.
QEMU backups are not affected, as libproxmox-backup-qemu never linked
the broken versions.

Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
src/backup/manifest.rs

index 2ee3d44025cac2333a8c8bd9a1d38880dcd91e0b..f90f1159009f375b46161fa0765fc8bba11a6953 100644 (file)
@@ -160,12 +160,12 @@ impl BackupManifest {
                 keys.sort();
                 let mut iter = keys.into_iter();
                 if let Some(key) = iter.next() {
-                    output.extend(key.as_bytes());
+                    Self::write_canonical_json(&key.into(), output)?;
                     output.push(b':');
                     Self::write_canonical_json(&map[key], output)?;
                     for key in iter {
                         output.push(b',');
-                        output.extend(key.as_bytes());
+                        Self::write_canonical_json(&key.into(), output)?;
                         output.push(b':');
                         Self::write_canonical_json(&map[key], output)?;
                     }