From 5938a60289a7abcea25db1e054b64075cb559621 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Reynir=20Bj=C3=B6rnsson?= Date: Thu, 17 Oct 2024 17:26:00 +0200 Subject: [PATCH] Improve logging of bad checksums We now print the computed hash \o/ --- mirage/archive_checksum.ml | 5 +++++ mirage/unikernel.ml | 6 ++++-- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/mirage/archive_checksum.ml b/mirage/archive_checksum.ml index 86513f5..fbff9a8 100644 --- a/mirage/archive_checksum.ml +++ b/mirage/archive_checksum.ml @@ -62,3 +62,8 @@ let digests_to_hm digests = Digestif.SHA256.(to_raw_string (get digests.sha256)) |> HM.add `SHA512 Digestif.SHA512.(to_raw_string (get digests.sha512)) + +let get digests = function + | `MD5 -> Digestif.MD5.(to_raw_string (get digests.md5)) + | `SHA256 -> Digestif.SHA256.(to_raw_string (get digests.sha256)) + | `SHA512 -> Digestif.SHA512.(to_raw_string (get digests.sha512)) diff --git a/mirage/unikernel.ml b/mirage/unikernel.ml index 7201eba..c7d3adf 100644 --- a/mirage/unikernel.ml +++ b/mirage/unikernel.ml @@ -480,8 +480,10 @@ module Make Logs.err (fun m -> m "Write failure for %s: %a" url KV.pp_write_error e) else begin (if sizes_match then - Logs.err (fun m -> m "Bad checksum %s: computed %s expected %s" url - (hash_to_string hash) (Ohex.encode csum)) + Logs.err (fun m -> m "Bad checksum %s:%s: computed %s expected %s" url + (hash_to_string hash) + (Archive_checksum.get digests hash) + (Ohex.encode csum)) else match body with | `Fixed_body (reported, actual) -> Logs.err (fun m -> m "Size mismatch %s: received %a bytes expected %Lu bytes" -- 2.46.0