[Libguestfs] [PATCH v2 2/2] v2v: ova: support SHA256 hashes in manifest
Richard W.M. Jones
rjones at redhat.com
Wed Oct 5 11:16:41 UTC 2016
On Wed, Oct 05, 2016 at 12:51:06PM +0200, Tomáš Golembiovský wrote:
> The OVF standard allows the use of SHA256 hashes in the manifest file.
> Adding support for this.
>
> Signed-off-by: Tomáš Golembiovský <tgolembi at redhat.com>
> ---
> v2v/input_ova.ml | 13 +++++++------
> 1 file changed, 7 insertions(+), 6 deletions(-)
>
> diff --git a/v2v/input_ova.ml b/v2v/input_ova.ml
> index 44e41ed..3c1a296 100644
> --- a/v2v/input_ova.ml
> +++ b/v2v/input_ova.ml
> @@ -133,7 +133,7 @@ object
>
> (* Read any .mf (manifest) files and verify sha1. *)
> let mf = find_files exploded ".mf" in
> - let rex = Str.regexp "SHA1(\\(.*\\))= \\([0-9a-fA-F]+\\)\r?" in
> + let rex = Str.regexp "\\(SHA1\\|SHA256\\)(\\(.*\\))= \\([0-9a-fA-F]+\\)\r?" in
> List.iter (
> fun mf ->
> debug "Processing manifest %s" mf;
> @@ -142,13 +142,14 @@ object
> let rec loop () =
> let line = input_line chan in
> if Str.string_match rex line 0 then (
> - let disk = Str.matched_group 1 line in
> - let expected = Str.matched_group 2 line in
> - let csum = Checksums.SHA1 expected in
> + let mode = Str.matched_group 1 line in
> + let disk = Str.matched_group 2 line in
> + let expected = Str.matched_group 3 line in
> + let csum = Checksums.of_string mode expected in
> try Checksums.verify_checksum csum (mf_folder // disk)
> with Checksums.Mismatched_checksum (_, actual) ->
> - error (f_"checksum of disk %s does not match manifest %s (actual sha1(%s) = %s, expected sha1 (%s) = %s)")
> - disk mf disk actual disk expected;
> + error (f_"checksum of disk %s does not match manifest %s (actual %s(%s) = %s, expected %s(%s) = %s)")
> + disk mf mode disk actual mode disk expected;
> )
> else
> warning (f_"Unable to parse line from manifest file. Line is \"%s\"")
This one looks OK, ACK for this patch.
Rich.
--
Richard Jones, Virtualization Group, Red Hat http://people.redhat.com/~rjones
Read my programming and virtualization blog: http://rwmj.wordpress.com
virt-builder quickly builds VMs from scratch
http://libguestfs.org/virt-builder.1.html
More information about the Libguestfs
mailing list