[Libguestfs] [file PATCH] Properly detect .vdi (VirtualBox disk image) files

Richard W.M. Jones rjones at redhat.com
Tue Nov 22 08:54:54 UTC 2011


The current test for .vdi files is incorrect.  It tries to detect the
string "<<< Sun xVM VirtualBox Disk Image >>>".  However this string
is just free text and .vdi files often contain different strings (ref: [1]).

The correct test in this patch looks for the magic number at offset
0x40 in the file (ref: [2]).

Example:

Upstream 'file' without the patch on an example file[3]:

$ file ttylinux.vdi 
ttylinux.vdi: data

With the patch:

$ ./src/file -m magic/Magdir ttylinux.vdi 
ttylinux.vdi: VirtualBox Disk Image, major 1, minor 1

Rich.

[1] http://repo.or.cz/w/qemu.git/blob/HEAD:/block/vdi.c#l109
[2] https://forums.virtualbox.org/viewtopic.php?t=8046
[3] https://one-vbox.googlecode.com/svn-history/r117/trunk/remotes/ttylinux.vdi

-- 
Richard Jones, Virtualization Group, Red Hat http://people.redhat.com/~rjones
libguestfs lets you edit virtual machines.  Supports shell scripting,
bindings from many languages.  http://libguestfs.org
-------------- next part --------------
--- file-5.09.orig/magic/Magdir/virtual	2009-12-25 16:04:30.000000000 +0000
+++ file-5.09/magic/Magdir/virtual	2011-11-22 08:40:58.162840080 +0000
@@ -9,9 +9,9 @@
 # .vhd
 0	string	conectix	Microsoft Disk Image, Virtual Server or Virtual PC
 
-# Sun xVM VirtualBox Disk Image
-# string  <<< Sun xVM VirtualBox Disk Image >>>
+# From: Richard W.M. Jones <rich at annexia.org>
+# VirtualBox Disk Image
 # .vdi
-0	string	\<\<\<\ Sun\ xVM\ VirtualBox\ Disk	Sun xVM VirtualBox Disk Image
-
-
+0x40    ulelong  0xbeda107f     VirtualBox Disk Image
+>0x44   uleshort >0             \b, major %u
+>0x46   uleshort >0             \b, minor %u
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 836 bytes
Desc: not available
URL: <http://listman.redhat.com/archives/libguestfs/attachments/20111122/d08c153f/attachment.sig>


More information about the Libguestfs mailing list