summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Version 1.15.13.1.15.13Richard W.M. Jones2011-12-2217-124/+124
|
* Security: Mitigate possible privilege escalation via SG_IO ioctl ↵Richard W.M. Jones2011-12-221-0/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (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>
* Fixed checks for libpython featuresHilko Bengen2011-12-221-11/+12
| | | | | The python3.1 package shipped with Debian/squeeze does not have the 'mu' suffix that was assumed before.
* Version 1.15.12.1.15.12Richard W.M. Jones2011-12-2220-10600/+11415
|
* tests: Add a simple liveness tests for qemu.Richard W.M. Jones2011-12-222-0/+53
|
* tests: Finalize the order we run the tests.Richard W.M. Jones2011-12-222-4/+15
|
* tests: Put test-tool and comment into own section.Richard W.M. Jones2011-12-221-2/+5
|
* tests: Split images -> tests/data + tests/guestsRichard W.M. Jones2011-12-2262-175/+191
|
* tests: Rename extratests -> tests/extra.Richard W.M. Jones2011-12-226-44/+39
|
* tests: Split regressions -> various subdirectories of tests/Richard W.M. Jones2011-12-2254-138/+203
|
* tests: Rename capitests -> tests/c-api.Richard W.M. Jones2011-12-2223-54/+46
|
* tests: Rename caution -> tests/qemu.Richard W.M. Jones2011-12-225-7/+2
|
* tests: Document new tests/ subdirectory.Richard W.M. Jones2011-12-221-0/+4
|
* docs: Arrange directory names in alphabetical order.Richard W.M. Jones2011-12-221-4/+4
|
* extra-tests: Add an extra suppression for OCaml 3.11.2 in RHEL 6.Richard W.M. Jones2011-12-201-0/+7
|
* fish: Allow events to be processed in guestfish.Richard W.M. Jones2011-12-1613-4/+530
| | | | | | | | Add 'event', 'list-events' and 'delete-event' commands so that event handlers can be registered, listed and deleted in guestfish. The event handler is a shell script snippet or host command. Cc: Pádraig Brady <P@draigBrady.com>
* python: Missing () in guestfs-python(1) examples.Richard W.M. Jones2011-12-141-1/+1
|
* Version 1.15.11.1.15.11Richard W.M. Jones2011-12-0918-237/+703
|
* fuse: Return EXIT_FAILURE if fuse_main fails.Richard W.M. Jones2011-12-091-1/+1
| | | | | | | | | | fuse_main can return any non-zero value on error. In particular on certain sorts of error such as unsupported -o options it returns 1 (not -1). Therefore make sure any non-zero return is turned into EXIT_FAILURE. (Thanks Pádraig Brady)
* fish: -i option should fail if / is not mountable, but warn about others.Richard W.M. Jones2011-12-091-1/+7
| | | | | | | | In particular this stops a problem with guestmount where if the -i option half-recognizes the guest OS, it would mount the disk (and fail, giving only warnings), leaving the mountpoint unusable. (Thanks Pádraig Brady)
* daemon: Fix utimens so it doesn't hang on named pipes (RHBZ#761460).Richard W.M. Jones2011-12-082-21/+29
| | | | | | | | | | This also adds comprehensive tests for utimens on regular files, directories (RHBZ#761451), named pipes (RHBZ#761460), symbolic links, block and char devices. Note that there is a small change in the (previously undefined) semantics of this call: It now sets the time on a symbolic link itself, not on what the symbolic link points to.
* daemon: Allow utimens to work for directories (RHBZ#761451).Richard W.M. Jones2011-12-081-1/+1
| | | | | | You don't need to open the file O_WRONLY in order to call futimens on the file descriptor. Opening it O_WRONLY fails for directories. Therefore open O_RDONLY instead.
* copy-in/copy-out: Wait for the tar subprocess only (RHBZ#760669).Richard W.M. Jones2011-12-071-26/+35
|
* fish: Improve error messages when no OS / multi-boot OS found with ↵Richard W.M. Jones2011-12-071-2/+30
| | | | inspection (RHBZ#760775).
* let the user explicitly choose ruby and rake programsHilko Bengen2011-12-065-10/+13
|
* Version 1.15.10.1.15.10Richard W.M. Jones2011-12-0618-75/+36
|
* Fix rpcgen post-processing for out-of-tree buildsHilko Bengen2011-12-062-2/+2
|
* ruby: Use RSTRING_PTR, RSTRING_LEN for compat with Ruby 1.9 (RHBZ#760000).Richard W.M. Jones2011-12-051-2/+11
|
* blkid: split the RHEL5 which can't support some optionsWanlong Gao2011-12-051-7/+73
| | | | | | | RHEL5 shoult not support '-p', '-i' and '-o export' options. But we just split it according to the '-p' option. Signed-off-by: Wanlong Gao <gaowanlong@cn.fujitsu.com>
* TODO: remove the implemented command blkidWanlong Gao2011-12-051-1/+0
| | | | | | Remove the implemented command blkid from TODO lists. Signed-off-by: Wanlong Gao <gaowanlong@cn.fujitsu.com>
* Revert "blkid: Use -c /dev/null because RHEL 5 blkid doesn't have -p option."Richard W.M. Jones2011-12-041-5/+2
| | | | This reverts commit 6533491b178d18bfab8240cf093be4ef9b547548.
* Revert "blkid: Fix mistake in previous commit."Richard W.M. Jones2011-12-041-1/+1
| | | | This reverts commit c48226a5026816b115ab63b50d3601531aff59dc.
* blkid: Fix mistake in previous commit.Richard W.M. Jones2011-12-031-1/+1
| | | | This updates commit 6533491b178d18bfab8240cf093be4ef9b547548.
* blkid: Use -c /dev/null because RHEL 5 blkid doesn't have -p option.Richard W.M. Jones2011-12-031-2/+5
|
* daemon: Use pkg-config to locate Augeas CFLAGS / libraries.Richard W.M. Jones2011-12-033-18/+16
| | | | | | | | | | | | | | | | | | 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.
* Version 1.15.9.1.15.9Richard W.M. Jones2011-12-0320-18591/+18946
|
* NEW API: add blkid command to print the attributes of the deviceWanlong Gao2011-12-033-1/+114
| | | | | | | | | | | | A NEW API blkid. It can print the device attributes. Use it after list-devices, we can list ower devices and the attributes of each device. Use it like: blkid <device> It's should be a usefull function. Signed-off-by: Wanlong Gao <gaowanlong@cn.fujitsu.com>
* extra tests: Test that valgrind and libtool are installed.Richard W.M. Jones2011-12-021-0/+12
|
* inspection: Add a test for MD device mapping in fstabMatthew Booth2011-12-022-0/+75
| | | | | | | Check that we properly handle fstab entries of the form /dev/md0 and /dev/md/foo. RWMJ: Add a skip to test if the Augeas lens is not available.
* inspection: Handle MD devices in fstabMatthew Booth2011-12-021-7/+323
| | | | | | | | | This patch fixes inspection when fstab contains devices md devices specified as /dev/mdN. The appliance creates these devices without reference to the guest's mdadm.conf so, for e.g. /dev/md0 in the guest will often be created as /dev/md127 in the appliance. With this patch, we match the uuids of detected md devices against uuids specified in mdadm.conf, and map them appropriately when we encounter them in fstab.
* build: Add more suppressions for valgrind testsMatthew Booth2011-12-021-1/+34
|
* mkfs: enable to make xfs filesystems when the device already has a filesystemWanlong Gao2011-12-021-0/+3
| | | | | | | | Just add the -f option to mkfs.xfs to make sure we can make a xfs filesystem when the device already has a filesystem on it. Signed-off-by: Wanlong Gao <gaowanlong@cn.fujitsu.com>
* libguestfs: Added gnulib includes from builddir, as suggested by the Gnulib ↵Hilko Bengen2011-12-013-2/+3
| | | | | | | | documentation Since some modules (`getopt', for example) may copy files into the build directory, `top_builddir/lib' is needed as well as `top_srcdir/lib'. -- GNU Gnulib manual, section 2.2 Initial import
* todo: Suggestion for UUIDs in /etc/fstab (thanks Joshua Daniel Franklin).Richard W.M. Jones2011-11-301-1/+3
|
* ocaml: Fix OCaml dependencies.Richard W.M. Jones2011-11-301-2/+2
|
* Version 1.15.8.1.15.8Richard W.M. Jones2011-11-2919-481/+540
|
* python: Memory leak: Free roots array along handle close path.Richard W.M. Jones2011-11-291-0/+1
|
* perl: Memory leak: Free roots array along handle close path.Richard W.M. Jones2011-11-291-0/+1
|
* ruby: Memory leak: Free roots array along handle close path.Richard W.M. Jones2011-11-291-0/+1
|
* extra tests: Add comments about what is not tested here.Richard W.M. Jones2011-11-291-8/+25
|