libguestfs.git
12 years agoVersion 1.10.12. stable-1.10 1.10.12
Richard W.M. Jones [Thu, 22 Dec 2011 20:29:02 +0000 (20:29 +0000)]
Version 1.10.12.

12 years agodf: Disable part of virt-df test.
Richard W.M. Jones [Fri, 11 Nov 2011 13:30:09 +0000 (13:30 +0000)]
df: Disable part of virt-df test.

See:
https://www.redhat.com/archives/libguestfs/2011-November/msg00051.html
(cherry picked from commit 6e6b3ff35f9baafb22d5459ca13c112b1e00ae1b)

12 years agodaemon: Use pkg-config to locate Augeas CFLAGS / libraries.
Richard W.M. Jones [Sat, 3 Dec 2011 14:34:52 +0000 (14:34 +0000)]
daemon: Use pkg-config to locate Augeas CFLAGS / libraries.

Augeas 0.10 depends on libxml2, so this is now required in the
appliance (in fact, it was already present).

However this exposed two bugs:

(1) In libguestfs we use a home-brewed recipe for Augeas flags,
resulting in this error:
/usr/include/augeas.h:24:25: fatal error: libxml/tree.h: No such file or directory

(2) Augeas's own augeas.pc didn't include the libxml2 flags, so
it was broken.  This requires a patch to Augeas 0.10, see:
https://www.redhat.com/archives/augeas-devel/2011-December/msg00008.html

Change to using pkg-config to detect Augeas.  It is still an optional
library.

Cherry picked from commit 615924abaa968398d6529529fa2f31ae23de825b and
rebased for old libguestfs branches that had separate
daemon/configure.ac.

12 years agoSecurity: Mitigate possible privilege escalation via SG_IO ioctl (CVE-2011-4127,...
Richard W.M. Jones [Thu, 22 Dec 2011 17:56:47 +0000 (17:56 +0000)]
Security: Mitigate possible privilege escalation via SG_IO ioctl (CVE-2011-4127, RHBZ#757071)

CVE-2011-4127 is a serious qemu & kernel privilege escalation bug
found by Paolo Bonzini.

http://seclists.org/oss-sec/2011/q4/536

An untrusted guest kernel is able to issue special SG_IO ioctls on
virtio devices which qemu passes through to the host kernel without
filtering or sanitizing.  These ioctls allow raw sectors from the
underlying host device to be read and written.  Significantly, neither
qemu nor the host kernel checks that the range of sectors is within
the partition / LV assigned to the guest.  For example, if the guest
is assigned host partition /dev/sda3, it would be able to read or
write any part of /dev/sda including other partitions and the boot
sector.  Exploits through LVs passed to the guest are also possible,
with some limitations.  File-backed virtual block devices are not
vulnerable.  Non-virtio block devices are not vulnerable.

This patch mitigates the problem by disabling the SG_IO ioctl
passthrough in qemu.  Thus if libguestfs is examining an untrusted
guest and the libguestfs appliance/daemon is compromised (eg. by
executing guest commands, or through some other compromise), then the
compromised appliance will not be able to issue the above SG_IO ioctls
and exploit the host.

Note that this is just mitigation for libguestfs.  Users will still
want to fully update their host kernel, qemu/KVM and libvirt, in order
to prevent other (non-libguestfs) routes to compromise.

The following versions of libguestfs (will/have) this patch applied.

  libguestfs >= 1.15.13
  libguestfs >= 1.14.8
  libguestfs >= 1.12.11
  libguestfs >= 1.10.12
  libguestfs >= 1.8.16

Earlier versions may be vulnerable unless a downstream packager has
applied this patch.

Cc: Hilko Bengen <bengen@hilluzination.de>
(cherry picked from commit 9a5f784d511a8f00a8386f316eab41fe660430db)

13 years agoVersion 1.10.11. 1.10.11
Richard W.M. Jones [Thu, 10 Nov 2011 10:43:40 +0000 (10:43 +0000)]
Version 1.10.11.

13 years agodaemon: Don't use files with fixed names in /tmp (thanks Steve Kemp).
Richard W.M. Jones [Fri, 4 Nov 2011 15:30:12 +0000 (15:30 +0000)]
daemon: Don't use files with fixed names in /tmp (thanks Steve Kemp).

Although this doesn't matter for the ordinary (appliance) case, it
matters for the libguestfs live case.  In that case it could cause the
guest to be exploited by a tmp/symlink attack.
(cherry picked from commit 6011b1f803ba7308c6a94b9bf6b7212cfccb9f42)

13 years agoVersion 1.10.10. 1.10.10
Richard W.M. Jones [Mon, 31 Oct 2011 11:26:30 +0000 (11:26 +0000)]
Version 1.10.10.

13 years agoUpdate to latest gnulib for stable-1.10 branch.
Richard W.M. Jones [Mon, 31 Oct 2011 10:27:18 +0000 (10:27 +0000)]
Update to latest gnulib for stable-1.10 branch.

13 years agobootstrap: use --libtool
Jim Meyering [Thu, 9 Jun 2011 20:15:52 +0000 (22:15 +0200)]
bootstrap: use --libtool
(cherry picked from commit 343ba6d482643882c3ab3a529f3d882ee1ba36f9)

13 years agoperl: Add %guestfs_introspection hash with introspection information.
Richard W.M. Jones [Thu, 27 Oct 2011 16:40:31 +0000 (17:40 +0100)]
perl: Add %guestfs_introspection hash with introspection information.

Because this is a useful introspection API, it is a candidate for
being backported into older stable branches.
(cherry picked from commit 365885dab2ae6dcdf0b2c45d0adeb803ade03f63)

13 years agoAdd test for qemu broken -machine option (RHBZ#748266).
Richard W.M. Jones [Mon, 24 Oct 2011 12:24:16 +0000 (13:24 +0100)]
Add test for qemu broken -machine option (RHBZ#748266).

Also add this option, if necessary, when testing for virtio-serial
support.

When the workaround is enabled, we specify machine type 'pc'.
(cherry picked from commit 3814680423984b3c46c2f99e944c2a71862bde9f)

13 years agoappliance: udev-174 moves udevd to /lib/udev/udevd (instead of /sbin/udevd)
Richard W.M. Jones [Thu, 20 Oct 2011 22:04:41 +0000 (23:04 +0100)]
appliance: udev-174 moves udevd to /lib/udev/udevd (instead of /sbin/udevd)
(cherry picked from commit fef0ff3d869d2ebdb48eea0c538270fc98f5952d)

13 years agoVersion 1.10.9. 1.10.9
Richard W.M. Jones [Fri, 16 Sep 2011 15:56:23 +0000 (16:56 +0100)]
Version 1.10.9.

13 years agoVersion 1.10.9.
Richard W.M. Jones [Fri, 16 Sep 2011 15:15:03 +0000 (16:15 +0100)]
Version 1.10.9.

13 years agoAdd an optional group ("grub") for the guestfs_grub_install API.
Richard W.M. Jones [Thu, 15 Sep 2011 21:02:43 +0000 (22:02 +0100)]
Add an optional group ("grub") for the guestfs_grub_install API.

This also improves the documentation for this call, pointing out
several pitfalls in using it.

This unfortunately breaks existing callers that might use
guestfs_grub_install without checking for this new group.
(cherry picked from commit 99624d29226ece1abbbdd921183b360f5f80de91)

13 years agoRemove old regression test that mainly tested a buggy API.
Richard W.M. Jones [Thu, 1 Sep 2011 12:37:20 +0000 (13:37 +0100)]
Remove old regression test that mainly tested a buggy API.

The guestfs_ll command currently lists files in the appliance if you
prefix filenames with "/..".  However this is a bug, not a feature,
and we should not be testing it.
(cherry picked from commit 8ab2b85b2a67270b8cc5a91bb62a70c84cd6a02c)

13 years agodaemon: Factor out name of virtio serial channel.
Richard W.M. Jones [Thu, 1 Sep 2011 11:59:15 +0000 (12:59 +0100)]
daemon: Factor out name of virtio serial channel.

This is just code motion.
(cherry picked from commit 73be6db9bf1c0ae96262a5f4fa9328bb4e648637)

13 years agoCreate /sys directory if it doesn't exist already.
Richard W.M. Jones [Thu, 1 Sep 2011 11:58:30 +0000 (12:58 +0100)]
Create /sys directory if it doesn't exist already.

Ubuntu 10.04 LTS packages don't create /sys.
(cherry picked from commit 5b012024c49672cc69635ff01f9b9e4f87de1c65)

13 years agoruby: Check Ruby callback exists before we call it (RHBZ#733297).
Richard W.M. Jones [Thu, 25 Aug 2011 12:56:09 +0000 (13:56 +0100)]
ruby: Check Ruby callback exists before we call it (RHBZ#733297).
(cherry picked from commit 1a4f1df77eecee053eaae35d5544f151d37342e2)

13 years agoruby: Use a regular C array to pass the arguments through rb_rescue.
Richard W.M. Jones [Thu, 25 Aug 2011 12:25:07 +0000 (13:25 +0100)]
ruby: Use a regular C array to pass the arguments through rb_rescue.
(cherry picked from commit 675f336319058fdbaf11ee004968b4543a5a9815)

13 years agoruby: Append newline character after printing exception in callback.
Richard W.M. Jones [Thu, 25 Aug 2011 12:11:28 +0000 (13:11 +0100)]
ruby: Append newline character after printing exception in callback.
(cherry picked from commit 0cd5b9ac15c62eb570ec74d19b4aebde4990fd82)

13 years agopython: Newer versions want parentheses around arguments of "print"
Hilko Bengen [Mon, 22 Aug 2011 18:42:09 +0000 (20:42 +0200)]
python: Newer versions want parentheses around arguments of "print"
(cherry picked from commit 54911bdd325393d1f7f2861f298463c364b45469)

13 years agophp: Fix bug in PHP tests.
Richard W.M. Jones [Tue, 23 Aug 2011 19:21:29 +0000 (20:21 +0100)]
php: Fix bug in PHP tests.

We partitioned the disk, and then tried to create a PV on the whole
disk.  LVM gave the error:

  Device /dev/vda not found (or ignored by filtering).

It is unclear how this bug persisted for so long.  It might be due to
a change in LVM.
(cherry picked from commit 4fb3b23fb69e4274f434f9258e38f185426298f7)

13 years agoCoverity: fix memory leak along error path.
Richard W.M. Jones [Tue, 23 Aug 2011 18:50:11 +0000 (19:50 +0100)]
Coverity: fix memory leak along error path.
(cherry picked from commit ce18be33cd5279a8d4120eedd037400c275585c0)

13 years agoCoverity: Initialize msg buffer.
Richard W.M. Jones [Tue, 23 Aug 2011 18:29:46 +0000 (19:29 +0100)]
Coverity: Initialize msg buffer.

msg_flags was not being initialized and would have been passed to
sendmsg with a random value.
(cherry picked from commit a31ac8fc32297cc9185fd20a5578d2bc81cc1bce)

13 years agoCoverity: fix memory leak in guestfish.
Richard W.M. Jones [Tue, 23 Aug 2011 18:26:35 +0000 (19:26 +0100)]
Coverity: fix memory leak in guestfish.
(cherry picked from commit c38cb92ec478c4dca83e4d38963720f463d52314)

13 years agoCoverity: in daemon, free struct in RStruct, RStructList functions.
Richard W.M. Jones [Tue, 23 Aug 2011 18:19:13 +0000 (19:19 +0100)]
Coverity: in daemon, free struct in RStruct, RStructList functions.
(cherry picked from commit b2edcbe1b9c9d161e96cb56d0efd944e84d84526)

13 years agopclose: Fix other places where we only tested pclose == -1.
Richard W.M. Jones [Tue, 23 Aug 2011 17:56:12 +0000 (18:56 +0100)]
pclose: Fix other places where we only tested pclose == -1.

pclose can return > 0 when the status of the command was non-zero.
(cherry picked from commit 631faad97171d7c1238b2e413c663cf61476f440)

13 years agotest_qemu: pclose may return any != 0 on error.
Richard W.M. Jones [Tue, 23 Aug 2011 17:53:00 +0000 (18:53 +0100)]
test_qemu: pclose may return any != 0 on error.

In particular pclose returns a status > 0 if the command fails.
(cherry picked from commit a24652c7b27e8494268ccb6c9a5a2e5541ba5efd)

13 years agoqemu detection: Free up previous qemu help/version strings if they exist.
Richard W.M. Jones [Tue, 23 Aug 2011 17:43:24 +0000 (18:43 +0100)]
qemu detection: Free up previous qemu help/version strings if they exist.
(cherry picked from commit 2ace9be4cd69e84cd88e5b0fd74de861a4973c91)

13 years agoCoverity: test_qemu: Ensure FILE * is not leaked along error paths.
Richard W.M. Jones [Tue, 23 Aug 2011 17:02:24 +0000 (18:02 +0100)]
Coverity: test_qemu: Ensure FILE * is not leaked along error paths.

This refactors the code in test_qemu slightly to ensure that
FILE *fp is not leaked on error paths.
(cherry picked from commit 08e77ad8cb4e8ac70d4217ebd5d236eba81645b5)

13 years agoCoverity: Check guestfs_inspect_get_product_name() != NULL before using.
Richard W.M. Jones [Tue, 23 Aug 2011 15:47:18 +0000 (16:47 +0100)]
Coverity: Check guestfs_inspect_get_product_name() != NULL before using.
(cherry picked from commit fa44536b0ff12102c72ae0337e51d272f0fc2353)

13 years agorescue: Ignore errno after guestfs_launch.
Richard W.M. Jones [Tue, 23 Aug 2011 15:41:07 +0000 (16:41 +0100)]
rescue: Ignore errno after guestfs_launch.

errno is pretty much random on the error path back from guestfs_launch
so there is nothing useful to be gained by checking it.

We could do with a better way to detect if appliance launch failed.
(cherry picked from commit 00fef9eed6a53e10a975814beef775483ff0b3dd)

13 years agoCoverity: Ignore return value from guestfs_launch in virt-rescue.
Richard W.M. Jones [Tue, 23 Aug 2011 15:34:06 +0000 (16:34 +0100)]
Coverity: Ignore return value from guestfs_launch in virt-rescue.

We expect guestfs_launch to fail in this program.
(cherry picked from commit 9bab154d48e367702b65852c3c822341b474ffd2)

13 years agoCoverity: Check return value from sscanf in bindtests calls.
Richard W.M. Jones [Tue, 23 Aug 2011 15:12:27 +0000 (16:12 +0100)]
Coverity: Check return value from sscanf in bindtests calls.
(cherry picked from commit 4c76aaa391d591c5917a06b0277fb9eb7d6d790f)

13 years agoconfigure: Add --with-extra flag to allow setting the extra version string.
Richard W.M. Jones [Fri, 19 Aug 2011 20:48:44 +0000 (21:48 +0100)]
configure: Add --with-extra flag to allow setting the extra version string.

Intended use in Fedora and RHEL is to encode the release
string, eg.

  ./configure [...] --with-extra="-%{release}"
(cherry picked from commit a4db75521d6026410425187fc2c5c9cb931a69b5)

13 years agoprotocol: Fix case where download can fail for small files.
Richard W.M. Jones [Thu, 18 Aug 2011 18:13:32 +0000 (19:13 +0100)]
protocol: Fix case where download can fail for small files.

There is another case where downloads of small files could fail if the
library side (writer) fails.  In this case the library would send back
a cancellation, but it would be received after the daemon had finished
sending the whole file (because the file is small enough).  The daemon
would reenter the main loop and immediately get an unexpected cancel
message, causing the daemon to die.

This commit also makes test-cancellation-download-librarycancels.sh
more robust.  We use Monte-Carlo testing with a range of file sizes.
Small file sizes should trigger the error case.
(cherry picked from commit e4cba8f2b1a68e7361ce342ff659cccb0490446e)

13 years agoEscape special/non-printing characters in debug output (RHBZ#731744).
Richard W.M. Jones [Thu, 18 Aug 2011 16:46:50 +0000 (17:46 +0100)]
Escape special/non-printing characters in debug output (RHBZ#731744).

The default event handler in libguestfs was simply writing all debug
output directly to stderr.  However if the output contains
non-printable characters such as terminal control codes then these
would also be sent directly.

With newer SeaBIOS there is a lame attempt to implement a splash
screen using terminal control codes, thus when libguestfs tries to
display debugging output it would cause the screen to clear and debug
output to be lost.

This commit causes all non-printing characters to be escaped.
(\n and \r characters from the appliance are treated somewhat
specially).

Furthermore, instead of using write(2), use buffered stderr calls.
(cherry picked from commit 06019bc82e107f7715ebc59e491610e06dad1e39)

13 years agoVesion 1.10.8. 1.10.8
Richard W.M. Jones [Wed, 17 Aug 2011 12:05:06 +0000 (13:05 +0100)]
Vesion 1.10.8.

13 years agoruby: Fix typo in Ruby bindings file.
Richard W.M. Jones [Sun, 14 Aug 2011 21:07:54 +0000 (22:07 +0100)]
ruby: Fix typo in Ruby bindings file.
(cherry picked from commit 44c3a300265ef7bfa5d49d2b9a2a8faccd9db2de)

13 years agoNote that additional memory may be required to typecheck Augeas lenses (RHBZ#729887).
Richard W.M. Jones [Fri, 12 Aug 2011 10:17:16 +0000 (11:17 +0100)]
Note that additional memory may be required to typecheck Augeas lenses (RHBZ#729887).
(cherry picked from commit 7739d7f471f9575828bd32489695d92dde005a9c)

13 years agofish: Document that remote run in cmd substitution context hangs.
Richard W.M. Jones [Fri, 12 Aug 2011 10:08:57 +0000 (11:08 +0100)]
fish: Document that remote run in cmd substitution context hangs.

This documents bug 592910.
(cherry picked from commit 6cabc1cd02e181063596b48df55c3f6db51a6bb9)

13 years agoFix 'unknown filesystem' warnings in old inspection code (RHBZ#678231 RHBZ#666578).
Richard W.M. Jones [Thu, 11 Aug 2011 10:45:25 +0000 (11:45 +0100)]
Fix 'unknown filesystem' warnings in old inspection code (RHBZ#678231 RHBZ#666578).

This is a comprehensive fix for the warnings from the old (and
obsolete) Perl inspection code.  For a full description and
reproducer, see:

https://bugzilla.redhat.com/show_bug.cgi?id=678231#c5
(cherry picked from commit b9838001015a06a69a08b69d9f013d82f0ea3139)

13 years agoinspection: Better checking for Windows root disks (RHBZ#729075).
Richard W.M. Jones [Mon, 8 Aug 2011 17:52:23 +0000 (18:52 +0100)]
inspection: Better checking for Windows root disks (RHBZ#729075).

Previously any disk that had /autoexec.bat or /boot.ini or /ntldr
would be picked up as a candidate for a Windows root disk.  If further
checking could not find any systemroot (eg. /windows) then this would
result in complete failure of inspection.

In particular, this got confused by Hp_recovery partitions which have
/autoexec.bat, but don't have a systemroot in one of the usual places
(they have /MiniNT instead).

What we do now is to properly investigate all possible systemroot
places before deciding this is a Windows systemroot, so the subsequent
failure cannot occur.

(Thanks to lorimar for reporting this bug).

Cherry picked from commit 2c57305f72cd6181d1849ae6e1b892aa01c7f844
and backported to stable-1.10 branch.

13 years agobuild: Set TMPDIR for local testing.
Richard W.M. Jones [Mon, 8 Aug 2011 11:41:54 +0000 (12:41 +0100)]
build: Set TMPDIR for local testing.

This avoids conflicts with the globally installed libguestfs
appliance, or lets us build in multiple local directories at the same
time without conflicts.

Cherry picked from commit f7d18c84dde596699ffc5100fec2cf7b0d582450
and backported to stable-1.10 branch.

13 years agofish: Add fish-cmds.h to generator_built.
Richard W.M. Jones [Wed, 17 Aug 2011 11:41:41 +0000 (12:41 +0100)]
fish: Add fish-cmds.h to generator_built.

This updates commit 3064277680ad11f887691646d0fa17bb35f38c19.
(cherry picked from commit 85efbc6aa70d522af066a38fd1aae05b790c46d3)

13 years agofish: Declare run_* functions in a generated header file.
Richard W.M. Jones [Sun, 7 Aug 2011 20:04:00 +0000 (21:04 +0100)]
fish: Declare run_* functions in a generated header file.

Calls to these functions are generated, so there is no need to declare
the functions by hand.

Cherry picked from commit 3064277680ad11f887691646d0fa17bb35f38c19
and backported to stable-1.10 branch.

13 years agoVersion 1.10.7. 1.10.7
Richard W.M. Jones [Sun, 7 Aug 2011 22:20:28 +0000 (23:20 +0100)]
Version 1.10.7.

13 years agodocs: Fix function names in deprecation notices.
Richard W.M. Jones [Sat, 6 Aug 2011 14:57:21 +0000 (15:57 +0100)]
docs: Fix function names in deprecation notices.
(cherry picked from commit 60adf092a8900323c048c94f3f0934be416a3eb6)

13 years agodocs: guestfs_set_out_of_memory_handler returns void, not int.
Richard W.M. Jones [Sat, 6 Aug 2011 14:53:15 +0000 (15:53 +0100)]
docs: guestfs_set_out_of_memory_handler returns void, not int.

It always has done.  The documentation was wrong.
(cherry picked from commit 70f44cc0ea0bcdd025ed657461e07f6778be44ba)

13 years agodebian: bash is required to run libtool replacement script.
Richard W.M. Jones [Fri, 5 Aug 2011 09:49:45 +0000 (10:49 +0100)]
debian: bash is required to run libtool replacement script.

This was failing on Debian where $(SHELL) is the minimal dash shell.
(cherry picked from commit 6a98ed953b1e3b0d3251385f0ca2dd1dee80b63d)

13 years agoconfigure: Fix info about virt-resize when OCaml bindings are disabled.
Richard W.M. Jones [Fri, 5 Aug 2011 09:31:03 +0000 (10:31 +0100)]
configure: Fix info about virt-resize when OCaml bindings are disabled.
(cherry picked from commit e1c6d1738a2b9123dd08fb4ecff8176daf558f35)

13 years agodebian: Add gawk to packagelist.
Richard W.M. Jones [Tue, 2 Aug 2011 10:03:50 +0000 (11:03 +0100)]
debian: Add gawk to packagelist.

It's already included, but implicitly.
(cherry picked from commit 5f9c168d9135fa81ee2f3a15461467fe04c26888)

13 years agovirt-tar test: Stable ordering of test output.
Richard W.M. Jones [Mon, 1 Aug 2011 14:13:08 +0000 (15:13 +0100)]
virt-tar test: Stable ordering of test output.

The files could be listed in any order, resulting in the test failing
for no reason.  Sort the output of tar.
(cherry picked from commit 995b3fecb9af7a8bd52b238bad2a631a1193c83a)

13 years agoChange link, since PostgreSQL switched to using git.
Richard W.M. Jones [Mon, 1 Aug 2011 09:35:18 +0000 (10:35 +0100)]
Change link, since PostgreSQL switched to using git.
(cherry picked from commit 3cf31c2fe0b356ea5c04117c5235b0a3cfe34971)

13 years agoDon't fail if HOSTNAME field is missing on Red Hat guests (RHBZ#726739).
Richard W.M. Jones [Fri, 29 Jul 2011 16:38:43 +0000 (17:38 +0100)]
Don't fail if HOSTNAME field is missing on Red Hat guests (RHBZ#726739).
(cherry picked from commit bad3f4b54a959685f3c0697238fc5753096834fb)

13 years agoVersion 1.10.6. 1.10.6
Richard W.M. Jones [Wed, 27 Jul 2011 14:55:51 +0000 (15:55 +0100)]
Version 1.10.6.

13 years agoperl: Fix another place where qw() was used as parentheses.
Richard W.M. Jones [Wed, 27 Jul 2011 14:43:12 +0000 (15:43 +0100)]
perl: Fix another place where qw() was used as parentheses.

This is a fix for Perl 5.14.

See previous commit 5c3c7e8825341e18c9449976f8a321a04cc78d79.
(cherry picked from commit c70532ab4b3d977ed7484e473107808b22d90a2a)

13 years agoocaml: Fix locking in event callbacks.
Richard W.M. Jones [Tue, 26 Jul 2011 17:57:19 +0000 (18:57 +0100)]
ocaml: Fix locking in event callbacks.

We weren't acquiring the GC lock around some allocations, resulting in
segfaults when an event callback ran at the same time as a main thread
allocation or garbage collection.

In particular this fixes a noticable crash in guestfs-browser.

(Cherry picked from commit 2b8b3f9794ceb43eabd3083e225c669896d8b186).

13 years agovirt-df: Re-add documentation for --csv option.
Richard W.M. Jones [Tue, 26 Jul 2011 11:39:54 +0000 (12:39 +0100)]
virt-df: Re-add documentation for --csv option.

The documentation for the --csv option disappeared between 1.6 and 1.8
when we rewrote virt-df in C.  Re-add it from 1.6 sources.
(cherry picked from commit 01f6bce19dbfaf42fa4908683f3cc8785585d023)

13 years agotest-tool: Print FEBOOTSTRAP_* environment variables (RHBZ#671082).
Richard W.M. Jones [Mon, 25 Jul 2011 10:21:48 +0000 (11:21 +0100)]
test-tool: Print FEBOOTSTRAP_* environment variables (RHBZ#671082).
(cherry picked from commit 15289d4b726d7c38702794df23c61ae40879a46c)

13 years agoperl: Fix CCFLAGS for Perl 5.14.
Richard W.M. Jones [Fri, 22 Jul 2011 10:12:52 +0000 (11:12 +0100)]
perl: Fix CCFLAGS for Perl 5.14.

A change to ExtUtils::CBuilder in Perl 5.14 causes CCFLAGS to
completely replace, rather than appending, the C flags.

The unfortunate consequence of this is that vital flags such as
-D_FILE_OFFSET_BITS=64 are missing.  For 32 bit code, this means you
get binary-incompatible code that completely fails to load.

For further analysis see:

http://www.nntp.perl.org/group/perl.perl5.porters/2011/04/msg171535.html

This commit changes CCFLAGS so that it appends to the existing
$Config{ccflags} instead of replacing it.  On earlier versions of Perl
this means we get two copies of the flags, which is unfortunate but
should be safe.
(cherry picked from commit 8386a57458aceb768f0e59aa090a15a544f7466e)

13 years agobuild: Redirect ./configure errors in general to config.log.
Richard W.M. Jones [Thu, 21 Jul 2011 16:59:34 +0000 (17:59 +0100)]
build: Redirect ./configure errors in general to config.log.
(cherry picked from commit 71eb0bf45649eefa1f0cd4b1372cfc2653c8e7a5)

13 years agobuild: Send failed Perl test configure output to config.log.
Richard W.M. Jones [Thu, 21 Jul 2011 16:00:48 +0000 (17:00 +0100)]
build: Send failed Perl test configure output to config.log.
(cherry picked from commit 610642491a4846f45c7b233060ffde46f6ca09f0)

13 years agobuild: Allow 'make quickcheck' test-tool args to be overridden.
Richard W.M. Jones [Thu, 21 Jul 2011 09:50:40 +0000 (10:50 +0100)]
build: Allow 'make quickcheck' test-tool args to be overridden.

A typical use for this is for packagers who want to increase
the default timeout:

  make quickcheck QUICKCHECK_TEST_TOOL_ARGS="-t 300"
(cherry picked from commit 806b6e01506dea4eae68ac3e468d9398d63cafcb)

13 years agoblkid: Use -c /dev/null option to kill the cache.
Richard W.M. Jones [Wed, 20 Jul 2011 13:41:39 +0000 (14:41 +0100)]
blkid: Use -c /dev/null option to kill the cache.

On recent Debian, /etc/blkid.tab is now a symlink to /dev/.blkid.tab.
Rather than chasing the cache file around (it may move to /run in future)
use the -c /dev/null option to stop blkid from reading the cache.
(cherry picked from commit 1d0f398d8e3c74ce6a70cbbb8d9b8ae07c6d7ef6)

13 years agoblkid: Detect when value not found and return empty string.
Richard W.M. Jones [Wed, 20 Jul 2011 13:25:32 +0000 (14:25 +0100)]
blkid: Detect when value not found and return empty string.

If the blkid command returns 2, that means the value was not found.

Note that this changes the output of the vfs-type API when the
filesystem has no type (eg when it is empty).  Previously this would
return an error.  Now it returns empty string "".

We did not document this either way.  Making it return empty string is
consistent with vfs-label and vfs-uuid.

This change broke list-filesystems, since that code was assuming that
vfs-type could only return a filesystem type or an error.
(cherry picked from commit 168fd4ad5d1e5da93e11388095d41aaa8f804ceb)

13 years agoappliance: Capture stderr from qemu to the event system.
Richard W.M. Jones [Wed, 20 Jul 2011 11:07:30 +0000 (12:07 +0100)]
appliance: Capture stderr from qemu to the event system.
(cherry picked from commit 8b2e60ce4b46e86da093ee64d4e0b0ae3c998d55)

13 years agoappliance: Document pipe fds.
Richard W.M. Jones [Wed, 20 Jul 2011 11:05:40 +0000 (12:05 +0100)]
appliance: Document pipe fds.
(cherry picked from commit 70daccfe4e9939078436c2830928d8e53432dd84)

13 years agoPartially revert d82438431c1551610eb7d9945fa76d6387534582.
Richard W.M. Jones [Wed, 20 Jul 2011 10:45:02 +0000 (11:45 +0100)]
Partially revert d82438431c1551610eb7d9945fa76d6387534582.

It appears qemu-kvm does *not* require -machine accel=tcg option.
That problem disappeared after upgrading seabios(!)  However leave the
test for qemu -help option, since that's useful to determine if qemu
is completely broken or not.
(cherry picked from commit 5dec7842655dd872bb0fd9fe07f6a9eab6b13bfd)

13 years agobuild: Fix virtio-serial test for qemu 0.15.
Richard W.M. Jones [Tue, 19 Jul 2011 18:55:24 +0000 (19:55 +0100)]
build: Fix virtio-serial test for qemu 0.15.

Now qemu 0.15 won't even start up unless the -machine accel=... option
is specified.  Essentially this is a regression in qemu.
(cherry picked from commit d82438431c1551610eb7d9945fa76d6387534582)

13 years agoAdd missing reference to guestfs-perl(3) to guestfs(3).
Richard W.M. Jones [Tue, 19 Jul 2011 16:40:52 +0000 (17:40 +0100)]
Add missing reference to guestfs-perl(3) to guestfs(3).
(cherry picked from commit a548c9668315844763456c15e89e35e9702b851a)

13 years agofish: Add is_interactive flag.
Richard W.M. Jones [Fri, 15 Jul 2011 10:36:23 +0000 (11:36 +0100)]
fish: Add is_interactive flag.

Decide early (before launch) if this is going to be an interactive
session, and set the is_interactive flag.
(cherry picked from commit e187aa8431ccf0436d9aee03ee1e80b79f148217)

13 years agoguestfs.h: Add missing extern keyword before event functions.
Richard W.M. Jones [Fri, 15 Jul 2011 09:42:56 +0000 (10:42 +0100)]
guestfs.h: Add missing extern keyword before event functions.
(cherry picked from commit 4b53a3737b76cad7aca407a0d9e37fed1d42ef69)

13 years agomkfs: Don't die if mke2fs is not available.
Richard W.M. Jones [Thu, 14 Jul 2011 10:27:24 +0000 (11:27 +0100)]
mkfs: Don't die if mke2fs is not available.

Allow other types of filesystems to be created.
(cherry picked from commit c6340f45007b0ab7e1c5391cf78afc10a816553f)

13 years agoVersion 1.10.5. 1.10.5
Richard W.M. Jones [Wed, 13 Jul 2011 17:17:22 +0000 (18:17 +0100)]
Version 1.10.5.

13 years agoappliance: Add systemd to get /sbin/reboot for virt-rescue (RHBZ#661280).
Richard W.M. Jones [Wed, 13 Jul 2011 13:27:28 +0000 (14:27 +0100)]
appliance: Add systemd to get /sbin/reboot for virt-rescue (RHBZ#661280).
(cherry picked from commit aa8a9ebf29b7fdc97467e911560a1a7a774e9e1f)

13 years agopart-get-bootable: Fix when partitions are missing or unordered (RHBZ#602997).
Richard W.M. Jones [Tue, 12 Jul 2011 16:18:48 +0000 (17:18 +0100)]
part-get-bootable: Fix when partitions are missing or unordered (RHBZ#602997).
(cherry picked from commit 511c82df46f5c6f4a7f984fdb81d4691038ed6da)

13 years agoDocument that ntfsresize cannot be used multiple times (RHBZ#685009).
Richard W.M. Jones [Tue, 12 Jul 2011 13:13:57 +0000 (14:13 +0100)]
Document that ntfsresize cannot be used multiple times (RHBZ#685009).
(cherry picked from commit 2ba2ddf2113db7bb2afe3f739dc3cbaa5416a4ba)

13 years agoprotocol: Force optargs_bitmask to be passed as 0 for non-opt actions.
Richard W.M. Jones [Tue, 12 Jul 2011 17:17:35 +0000 (18:17 +0100)]
protocol: Force optargs_bitmask to be passed as 0 for non-opt actions.

If the action doesn't take optional arguments, nevertheless force the
optargs_bitmask field in the header to be passed as 0, and give an
error if not.
(cherry picked from commit 0344248af55802bbbd816b349ec1ba9305996f6e)

13 years agocapitests: Allow tests to properly test optional arguments.
Richard W.M. Jones [Wed, 6 Jul 2011 09:50:25 +0000 (10:50 +0100)]
capitests: Allow tests to properly test optional arguments.

For optional arguments, you can now specify empty string to mean no
argument, except for String optional arguments where you must use
"NOARG" (empty string meaning a supplied empty string argument).
(cherry picked from commit f7a11c60437afa700775eaa86a9be1a543427959)

13 years agoAdd caution subdirectory containing safety and liveness tests.
Richard W.M. Jones [Thu, 30 Jun 2011 11:57:31 +0000 (12:57 +0100)]
Add caution subdirectory containing safety and liveness tests.

Not that I'm paranoid about qemu breaking snapshots of anything like
that ...
(cherry picked from commit f3ada2c7653866f2529c9f18aaa99f76cd984844)

13 years agoChange download_to_tmp so it can work with multi-root operating systems.
Richard W.M. Jones [Mon, 27 Jun 2011 15:10:25 +0000 (16:10 +0100)]
Change download_to_tmp so it can work with multi-root operating systems.

The previous guestfs___download_to_tmp function did not handle
multiboot correctly.  In particular it used the same cache name
for downloaded files from different roots, which could have caused
things like applications in each root to be confused.

This changes the function so that the cache filename is prefixed
with the root / fs number, eg. $tmpdir/0-Name instead of $tmpdir/Name.

This change also requires the function to return the new name, so
all places in the code which called this function had to be
updated.

This updates and fixes commit 3c1f762abed92f7a358f3bc93e3396d0606b18ad.

(Cherry picked and backported from
commit 5f26270c343bf543a7bf20cf3e6f182f6282f8ea)

13 years agogenerator: Fix functions with both RBufferOut and optional args.
Richard W.M. Jones [Tue, 28 Jun 2011 07:50:14 +0000 (08:50 +0100)]
generator: Fix functions with both RBufferOut and optional args.

No current function returns RBufferOut and has optional args.  Such
functions would be generated incorrectly.

RBufferOut implies a silent "size_t *size_r" argument is added after
the regular arguments and before the optional arguments.  Various
changes to the code generator need to be made to take this into
account.
(cherry picked from commit adb5db58d850ce6d15380177a63c68276f863c98)

13 years agoinspector: Fix comment in virt-inspector.rng.
Richard W.M. Jones [Tue, 28 Jun 2011 16:02:46 +0000 (17:02 +0100)]
inspector: Fix comment in virt-inspector.rng.

The comment referred to the command line syntax of the old
virt-inspector.
(cherry picked from commit ea96c7acf7a332c08c2214796add647224a2ede0)

13 years agoRevert "Lib.pm: unknown filesystem label SWAP-sda2 (RHBZ#666578)"
Richard W.M. Jones [Mon, 27 Jun 2011 17:14:15 +0000 (18:14 +0100)]
Revert "Lib.pm: unknown filesystem label SWAP-sda2 (RHBZ#666578)"

This reverts commit 5cab0d6c807d8a3bf9690375c663d11a10e21656.
(cherry picked from commit 123610f1b5133a9e541a245467f60d065ea96575)

13 years agotrace: Print empty list correctly.
Richard W.M. Jones [Wed, 22 Jun 2011 09:36:44 +0000 (10:36 +0100)]
trace: Print empty list correctly.

Empty lists returned by RStringList and RHashtable functions
were incorrectly printed as [""].

Fix this so they are printed as [] instead.
(cherry picked from commit 56b94f5f6aa7981533ad867cc908c6e9cca2ba42)

13 years agoperl: Ignore MYMETA.yml.
Richard W.M. Jones [Sat, 18 Jun 2011 12:04:18 +0000 (13:04 +0100)]
perl: Ignore MYMETA.yml.

This file is created by one of the build tools used by Perl 5.14.
(cherry picked from commit cabfaa857fbd325bd0303fa56b28df8ce52aab33)

13 years agoperl: Don't use qw() as parentheses.
Richard W.M. Jones [Sat, 18 Jun 2011 12:00:00 +0000 (13:00 +0100)]
perl: Don't use qw() as parentheses.

In Perl 5.14:

Use of qw(...) as parentheses is deprecated at perl/blib/lib/Sys/Guestfs/Lib.pm line 1111.
(cherry picked from commit 5c3c7e8825341e18c9449976f8a321a04cc78d79)

13 years agoVersion 1.10.4. 1.10.4
Richard W.M. Jones [Mon, 13 Jun 2011 13:23:17 +0000 (14:23 +0100)]
Version 1.10.4.

13 years agogenerator: Rewrite UUIDs that begin with zero byte.
Richard W.M. Jones [Mon, 13 Jun 2011 17:58:53 +0000 (18:58 +0100)]
generator: Rewrite UUIDs that begin with zero byte.

In util-linux <= 2.19, mkswap -U cannot handle the first byte of the
UUID being zero, so we artificially rewrite such UUIDs.

See: http://article.gmane.org/gmane.linux.utilities.util-linux-ng/4273
(cherry picked from commit 4ee190628bc05f0c8fad1f6d9c3e85619a91e8b8)

13 years agobuild: include <string.h> for src/match.c's use of strlen
Jim Meyering [Fri, 10 Jun 2011 09:57:20 +0000 (11:57 +0200)]
build: include <string.h> for src/match.c's use of strlen
(cherry picked from commit daf55c07978cd29fe6675911bf76da0b056fdae1)

13 years agodaemon: Keep Coverity happy by ignoring some return values.
Richard W.M. Jones [Thu, 9 Jun 2011 09:10:50 +0000 (10:10 +0100)]
daemon: Keep Coverity happy by ignoring some return values.
(cherry picked from commit f5096dd546ac43c7288b3ab7aec1562f070f78f6)

13 years agoCoverity: Don't return freed pointers from command* along error path.
Richard W.M. Jones [Thu, 9 Jun 2011 08:39:54 +0000 (09:39 +0100)]
Coverity: Don't return freed pointers from command* along error path.

If the external command failed to run, we could free up the allocated
*stdoutput and *stderror pointers, but then return those freed
pointers to the caller.  The caller usually tries to print and free
*stderror, so this is a serious error.

Instead, return *stdoutput as NULL, and *stderror pointing to a
generic error message.
(cherry picked from commit 29453a58d818df24c238d0a08a68886ebe4029dd)

13 years agoCoverity: Missing return on error path.
Richard W.M. Jones [Wed, 8 Jun 2011 21:38:53 +0000 (22:38 +0100)]
Coverity: Missing return on error path.
(cherry picked from commit 7a091a11d7aeddc170e4d1b833fd9d7d18c00841)

13 years agoCoverity: Ensure fp is closed along all error paths.
Richard W.M. Jones [Wed, 8 Jun 2011 21:30:24 +0000 (22:30 +0100)]
Coverity: Ensure fp is closed along all error paths.
(cherry picked from commit 346c5b0ebf58c81f657540eeb72abaa41bfc4e3f)

13 years agoCoverity: Close directory handle along error paths.
Richard W.M. Jones [Wed, 8 Jun 2011 21:27:01 +0000 (22:27 +0100)]
Coverity: Close directory handle along error paths.
(cherry picked from commit 7c020a14802255c966b2b402b983551b86a08bba)

13 years agoCoverity: Don't leak argv arrays.
Richard W.M. Jones [Wed, 8 Jun 2011 21:25:21 +0000 (22:25 +0100)]
Coverity: Don't leak argv arrays.
(cherry picked from commit 869c11b30c72c57e48dd63c4641087a06abe80d5)

13 years agoCoverity: Don't leak error strings.
Richard W.M. Jones [Wed, 8 Jun 2011 21:16:59 +0000 (22:16 +0100)]
Coverity: Don't leak error strings.
(cherry picked from commit 3135b8c378f9f98ae66e37fd79d305764334980d)

13 years agoCoverity: Check return value of sysroot_path.
Richard W.M. Jones [Wed, 8 Jun 2011 21:14:21 +0000 (22:14 +0100)]
Coverity: Check return value of sysroot_path.

For some reason we were checking the parameter!
(cherry picked from commit 7fae594df719d1d81a043c4d0280b359f750facb)