Richard W.M. Jones [Thu, 22 Dec 2011 20:29:02 +0000 (20:29 +0000)]
Version 1.10.12.
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)
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.
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)
Richard W.M. Jones [Thu, 10 Nov 2011 10:43:40 +0000 (10:43 +0000)]
Version 1.10.11.
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)
Richard W.M. Jones [Mon, 31 Oct 2011 11:26:30 +0000 (11:26 +0000)]
Version 1.10.10.
Richard W.M. Jones [Mon, 31 Oct 2011 10:27:18 +0000 (10:27 +0000)]
Update to latest gnulib for stable-1.10 branch.
Jim Meyering [Thu, 9 Jun 2011 20:15:52 +0000 (22:15 +0200)]
bootstrap: use --libtool
(cherry picked from commit
343ba6d482643882c3ab3a529f3d882ee1ba36f9)
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)
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)
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)
Richard W.M. Jones [Fri, 16 Sep 2011 15:56:23 +0000 (16:56 +0100)]
Version 1.10.9.
Richard W.M. Jones [Fri, 16 Sep 2011 15:15:03 +0000 (16:15 +0100)]
Version 1.10.9.
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
Richard W.M. Jones [Wed, 17 Aug 2011 12:05:06 +0000 (13:05 +0100)]
Vesion 1.10.8.
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)
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)
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)
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)
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.
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.
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)
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.
Richard W.M. Jones [Sun, 7 Aug 2011 22:20:28 +0000 (23:20 +0100)]
Version 1.10.7.
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)
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)
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)
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)
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)
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)
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)
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)
Richard W.M. Jones [Wed, 27 Jul 2011 14:55:51 +0000 (15:55 +0100)]
Version 1.10.6.
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)
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).
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)
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)
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)
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)
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)
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)
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)
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)
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)
Richard W.M. Jones [Wed, 20 Jul 2011 11:05:40 +0000 (12:05 +0100)]
appliance: Document pipe fds.
(cherry picked from commit
70daccfe4e9939078436c2830928d8e53432dd84)
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)
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)
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)
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)
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)
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)
Richard W.M. Jones [Wed, 13 Jul 2011 17:17:22 +0000 (18:17 +0100)]
Version 1.10.5.
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
Richard W.M. Jones [Mon, 13 Jun 2011 13:23:17 +0000 (14:23 +0100)]
Version 1.10.4.
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)