Compare commits
10 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 83ba258549 | |||
| 50fe0d263a | |||
| 0c26bd4a4f | |||
| 638904efc6 | |||
| 47e1b69fe8 | |||
| a97e8a832b | |||
| ad7d10defd | |||
| 944583a781 | |||
| b5384b6962 | |||
| e161c35538 |
@@ -3,6 +3,3 @@
|
||||
i686
|
||||
x86_64
|
||||
libvirt-*.tar.gz
|
||||
/libvirt-0.8.4.tar.gz
|
||||
/libvirt-0.8.5.tar.gz
|
||||
/libvirt-0.8.7.tar.gz
|
||||
|
||||
+4
-4
@@ -1,4 +1,4 @@
|
||||
From 2c2ae4c48c7e57fd233f1b9475fb6ecbab04804a Mon Sep 17 00:00:00 2001
|
||||
From 452bf160e5bbe0789d706fda95f5919551eb2cac Mon Sep 17 00:00:00 2001
|
||||
From: Jiri Denemark <jdenemar@redhat.com>
|
||||
Date: Fri, 25 Mar 2011 16:45:45 +0100
|
||||
Subject: [PATCH 2/2] daemon: Avoid resetting errors before they are reported
|
||||
@@ -14,10 +14,10 @@ However, the patch missed two instances.
|
||||
1 files changed, 4 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/daemon/remote.c b/daemon/remote.c
|
||||
index 554e75e..159430e 100644
|
||||
index a8258ca..7464957 100644
|
||||
--- a/daemon/remote.c
|
||||
+++ b/daemon/remote.c
|
||||
@@ -4868,12 +4868,13 @@ remoteDispatchStoragePoolListVolumes (struct qemud_server *server ATTRIBUTE_UNUS
|
||||
@@ -4547,12 +4547,13 @@ remoteDispatchStoragePoolListVolumes (struct qemud_server *server ATTRIBUTE_UNUS
|
||||
ret->names.names_len =
|
||||
virStoragePoolListVolumes (pool,
|
||||
ret->names.names_val, args->maxnames);
|
||||
@@ -32,7 +32,7 @@ index 554e75e..159430e 100644
|
||||
|
||||
return 0;
|
||||
}
|
||||
@@ -4897,11 +4898,12 @@ remoteDispatchStoragePoolNumOfVolumes (struct qemud_server *server ATTRIBUTE_UNU
|
||||
@@ -4576,11 +4577,12 @@ remoteDispatchStoragePoolNumOfVolumes (struct qemud_server *server ATTRIBUTE_UNU
|
||||
}
|
||||
|
||||
ret->num = virStoragePoolNumOfVolumes (pool);
|
||||
@@ -0,0 +1,12 @@
|
||||
diff -rup libvirt-0.8.3.orig/src/qemu/qemu_conf.c libvirt-0.8.3.new/src/qemu/qemu_conf.c
|
||||
--- libvirt-0.8.3.orig/src/qemu/qemu_conf.c 2010-08-04 13:21:27.000000000 +0100
|
||||
+++ libvirt-0.8.3.new/src/qemu/qemu_conf.c 2010-08-23 21:08:13.239794362 +0100
|
||||
@@ -3651,7 +3651,7 @@ int qemudBuildCommandLine(virConnectPtr
|
||||
{
|
||||
int i;
|
||||
char memory[50];
|
||||
- char boot[VIR_DOMAIN_BOOT_LAST];
|
||||
+ char boot[VIR_DOMAIN_BOOT_LAST+1];
|
||||
struct utsname ut;
|
||||
int disableKQEMU = 0;
|
||||
int disableKVM = 0;
|
||||
@@ -0,0 +1,44 @@
|
||||
From f970d802ab805f1a37af384f148f34e108714034 Mon Sep 17 00:00:00 2001
|
||||
From: Eric Blake <eblake@redhat.com>
|
||||
Date: Wed, 3 Nov 2010 15:20:24 -0600
|
||||
Subject: [PATCH] rpm: fix /var/lib/libvirt permissions
|
||||
|
||||
https://bugzilla.redhat.com/show_bug.cgi?id=649511
|
||||
|
||||
Regression of forcing 0700 permissions (which breaks guest startup
|
||||
because the qemu user can't see /var/lib/libvirt/*.monitor) was
|
||||
introduced in commit 66823690e, as part of libvirt 0.8.2.
|
||||
|
||||
* libvirt.spec.in (%files): Drop %{_localstatedir}/lib/libvirt,
|
||||
since libvirt depends on libvirt-client.
|
||||
(%files client): Guarantee 755 permissions on
|
||||
%(_localstatedir}/lib/libvirt, since the qemu user must be able to
|
||||
do pathname resolution to a subdirectory.
|
||||
---
|
||||
libvirt.spec.in | 3 +--
|
||||
1 files changed, 1 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/libvirt.spec.in b/libvirt.spec.in
|
||||
index 813e0c0..f77626e 100644
|
||||
--- a/libvirt.spec.in
|
||||
+++ b/libvirt.spec.in
|
||||
@@ -793,7 +793,6 @@ fi
|
||||
|
||||
%dir %{_localstatedir}/run/libvirt/
|
||||
|
||||
-%dir %{_localstatedir}/lib/libvirt/
|
||||
%dir %attr(0711, root, root) %{_localstatedir}/lib/libvirt/images/
|
||||
%dir %attr(0711, root, root) %{_localstatedir}/lib/libvirt/boot/
|
||||
%dir %attr(0700, root, root) %{_localstatedir}/cache/libvirt/
|
||||
@@ -883,7 +882,7 @@ fi
|
||||
|
||||
%{_sysconfdir}/rc.d/init.d/libvirt-guests
|
||||
%config(noreplace) %{_sysconfdir}/sysconfig/libvirt-guests
|
||||
-%dir %attr(0700, root, root) %{_localstatedir}/lib/libvirt
|
||||
+%dir %attr(0755, root, root) %{_localstatedir}/lib/libvirt/
|
||||
|
||||
%if %{with_sasl}
|
||||
%config(noreplace) %{_sysconfdir}/sasl2/libvirt.conf
|
||||
--
|
||||
1.7.3.4
|
||||
|
||||
@@ -0,0 +1,53 @@
|
||||
From 8efebd1761700a0cc32736829aead7807cc7865d Mon Sep 17 00:00:00 2001
|
||||
From: =?utf8?q?Diego=20Elio=20Petten=C3=B2?= <flameeyes@gmail.com>
|
||||
Date: Tue, 26 Oct 2010 14:45:03 +0200
|
||||
Subject: [PATCH] qemu: don't use %.3d format for bus/addr of USB devices
|
||||
|
||||
When using 0-prefixed numbers, QEmu will interpret them as octal numbers
|
||||
(as C convention says); this means that if you attach a device that has
|
||||
addr > 10 (decimal) you're going to attach a different device.
|
||||
---
|
||||
src/qemu/qemu_conf.c | 4 ++--
|
||||
.../qemuxml2argv-hostdev-usb-address-device.args | 2 +-
|
||||
.../qemuxml2argv-hostdev-usb-address.args | 2 +-
|
||||
3 files changed, 4 insertions(+), 4 deletions(-)
|
||||
|
||||
diff --git a/src/qemu/qemu_conf.c b/src/qemu/qemu_conf.c
|
||||
index 00e89a1..5bd3d4c 100644
|
||||
--- a/src/qemu/qemu_conf.c
|
||||
+++ b/src/qemu/qemu_conf.c
|
||||
@@ -3266,7 +3266,7 @@ qemuBuildUSBHostdevDevStr(virDomainHostdevDefPtr dev)
|
||||
return NULL;
|
||||
}
|
||||
|
||||
- if (virAsprintf(&ret, "usb-host,hostbus=%.3d,hostaddr=%.3d,id=%s",
|
||||
+ if (virAsprintf(&ret, "usb-host,hostbus=%d,hostaddr=%d,id=%s",
|
||||
dev->source.subsys.u.usb.bus,
|
||||
dev->source.subsys.u.usb.device,
|
||||
dev->info.alias) < 0)
|
||||
@@ -3288,7 +3288,7 @@ qemuBuildUSBHostdevUsbDevStr(virDomainHostdevDefPtr dev)
|
||||
return NULL;
|
||||
}
|
||||
|
||||
- if (virAsprintf(&ret, "host:%.3d.%.3d",
|
||||
+ if (virAsprintf(&ret, "host:%d.%d",
|
||||
dev->source.subsys.u.usb.bus,
|
||||
dev->source.subsys.u.usb.device) < 0)
|
||||
virReportOOMError();
|
||||
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-hostdev-usb-address-device.args b/tests/qemuxml2argvdata/qemuxml2argv-hostdev-usb-address-device.args
|
||||
index 6900fd3..7e42542 100644
|
||||
--- a/tests/qemuxml2argvdata/qemuxml2argv-hostdev-usb-address-device.args
|
||||
+++ b/tests/qemuxml2argvdata/qemuxml2argv-hostdev-usb-address-device.args
|
||||
@@ -1 +1 @@
|
||||
-LC_ALL=C PATH=/bin HOME=/home/test USER=test LOGNAME=test /usr/bin/qemu -S -M pc -m 214 -smp 1 -nographic -nodefconfig -nodefaults -monitor unix:/tmp/test-monitor,server,nowait -no-acpi -boot c -hda /dev/HostVG/QEMUGuest1 -usb -device usb-host,hostbus=014,hostaddr=006,id=hostdev0 -device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x2
|
||||
+LC_ALL=C PATH=/bin HOME=/home/test USER=test LOGNAME=test /usr/bin/qemu -S -M pc -m 214 -smp 1 -nographic -nodefconfig -nodefaults -monitor unix:/tmp/test-monitor,server,nowait -no-acpi -boot c -hda /dev/HostVG/QEMUGuest1 -usb -device usb-host,hostbus=14,hostaddr=6,id=hostdev0 -device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x2
|
||||
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-hostdev-usb-address.args b/tests/qemuxml2argvdata/qemuxml2argv-hostdev-usb-address.args
|
||||
index e57bec1..96e004d 100644
|
||||
--- a/tests/qemuxml2argvdata/qemuxml2argv-hostdev-usb-address.args
|
||||
+++ b/tests/qemuxml2argvdata/qemuxml2argv-hostdev-usb-address.args
|
||||
@@ -1 +1 @@
|
||||
-LC_ALL=C PATH=/bin HOME=/home/test USER=test LOGNAME=test /usr/bin/qemu -S -M pc -m 214 -smp 1 -nographic -monitor unix:/tmp/test-monitor,server,nowait -no-acpi -boot c -hda /dev/HostVG/QEMUGuest1 -net none -serial none -parallel none -usb -usbdevice host:014.006
|
||||
+LC_ALL=C PATH=/bin HOME=/home/test USER=test LOGNAME=test /usr/bin/qemu -S -M pc -m 214 -smp 1 -nographic -monitor unix:/tmp/test-monitor,server,nowait -no-acpi -boot c -hda /dev/HostVG/QEMUGuest1 -net none -serial none -parallel none -usb -usbdevice host:14.6
|
||||
--
|
||||
1.7.3.4
|
||||
|
||||
@@ -18,76 +18,76 @@ The entry points concerned are:
|
||||
|
||||
* src/libvirt.c: fix the above set of entry points to error on read-only
|
||||
connections
|
||||
|
||||
Rebased to 0.8.2, mostly changed the call of the error routines
|
||||
---
|
||||
|
||||
diff --git a/src/libvirt.c b/src/libvirt.c
|
||||
index caa109d..713291f 100644
|
||||
--- a/src/libvirt.c
|
||||
+++ b/src/libvirt.c
|
||||
@@ -3321,6 +3321,10 @@ char *virConnectDomainXMLToNative(virConnectPtr conn,
|
||||
--- src/libvirt.c.orig 2011-03-14 17:03:45.000000000 +0800
|
||||
+++ src/libvirt.c 2011-03-14 17:10:41.000000000 +0800
|
||||
@@ -3190,6 +3190,10 @@ char *virConnectDomainXMLToNative(virCon
|
||||
virDispatchError(NULL);
|
||||
return NULL;
|
||||
return (NULL);
|
||||
}
|
||||
+ if (conn->flags & VIR_CONNECT_RO) {
|
||||
+ virLibDomainError(VIR_ERR_OPERATION_DENIED, __FUNCTION__);
|
||||
+ virLibConnError(NULL, VIR_ERR_OPERATION_DENIED, __FUNCTION__);
|
||||
+ goto error;
|
||||
+ }
|
||||
|
||||
if (nativeFormat == NULL || domainXml == NULL) {
|
||||
virLibConnError(VIR_ERR_INVALID_ARG, __FUNCTION__);
|
||||
@@ -9748,6 +9752,11 @@ virNodeDeviceDettach(virNodeDevicePtr dev)
|
||||
return -1;
|
||||
virLibConnError(conn, VIR_ERR_INVALID_ARG, __FUNCTION__);
|
||||
@@ -9432,6 +9436,11 @@ virNodeDeviceDettach(virNodeDevicePtr de
|
||||
return (-1);
|
||||
}
|
||||
|
||||
+ if (dev->conn->flags & VIR_CONNECT_RO) {
|
||||
+ virLibConnError(VIR_ERR_OPERATION_DENIED, __FUNCTION__);
|
||||
+ virLibConnError(dev->conn, VIR_ERR_OPERATION_DENIED, __FUNCTION__);
|
||||
+ goto error;
|
||||
+ }
|
||||
+
|
||||
if (dev->conn->driver->nodeDeviceDettach) {
|
||||
int ret;
|
||||
ret = dev->conn->driver->nodeDeviceDettach (dev);
|
||||
@@ -9791,6 +9800,11 @@ virNodeDeviceReAttach(virNodeDevicePtr dev)
|
||||
return -1;
|
||||
@@ -9475,6 +9484,11 @@ virNodeDeviceReAttach(virNodeDevicePtr d
|
||||
return (-1);
|
||||
}
|
||||
|
||||
+ if (dev->conn->flags & VIR_CONNECT_RO) {
|
||||
+ virLibConnError(VIR_ERR_OPERATION_DENIED, __FUNCTION__);
|
||||
+ virLibConnError(dev->conn, VIR_ERR_OPERATION_DENIED, __FUNCTION__);
|
||||
+ goto error;
|
||||
+ }
|
||||
+
|
||||
if (dev->conn->driver->nodeDeviceReAttach) {
|
||||
int ret;
|
||||
ret = dev->conn->driver->nodeDeviceReAttach (dev);
|
||||
@@ -9836,6 +9850,11 @@ virNodeDeviceReset(virNodeDevicePtr dev)
|
||||
return -1;
|
||||
@@ -9520,6 +9534,11 @@ virNodeDeviceReset(virNodeDevicePtr dev)
|
||||
return (-1);
|
||||
}
|
||||
|
||||
+ if (dev->conn->flags & VIR_CONNECT_RO) {
|
||||
+ virLibConnError(VIR_ERR_OPERATION_DENIED, __FUNCTION__);
|
||||
+ virLibConnError(dev->conn, VIR_ERR_OPERATION_DENIED, __FUNCTION__);
|
||||
+ goto error;
|
||||
+ }
|
||||
+
|
||||
if (dev->conn->driver->nodeDeviceReset) {
|
||||
int ret;
|
||||
ret = dev->conn->driver->nodeDeviceReset (dev);
|
||||
@@ -13131,6 +13150,10 @@ virDomainRevertToSnapshot(virDomainSnapshotPtr snapshot,
|
||||
@@ -12775,6 +12794,10 @@ virDomainRevertToSnapshot(virDomainSnaps
|
||||
}
|
||||
|
||||
conn = snapshot->domain->conn;
|
||||
+ if (conn->flags & VIR_CONNECT_RO) {
|
||||
+ virLibConnError(VIR_ERR_OPERATION_DENIED, __FUNCTION__);
|
||||
+ virLibConnError(conn, VIR_ERR_OPERATION_DENIED, __FUNCTION__);
|
||||
+ goto error;
|
||||
+ }
|
||||
|
||||
if (conn->driver->domainRevertToSnapshot) {
|
||||
int ret = conn->driver->domainRevertToSnapshot(snapshot, flags);
|
||||
@@ -13177,6 +13200,10 @@ virDomainSnapshotDelete(virDomainSnapshotPtr snapshot,
|
||||
@@ -12821,6 +12844,10 @@ virDomainSnapshotDelete(virDomainSnapsho
|
||||
}
|
||||
|
||||
conn = snapshot->domain->conn;
|
||||
+ if (conn->flags & VIR_CONNECT_RO) {
|
||||
+ virLibConnError(VIR_ERR_OPERATION_DENIED, __FUNCTION__);
|
||||
+ virLibConnError(conn, VIR_ERR_OPERATION_DENIED, __FUNCTION__);
|
||||
+ goto error;
|
||||
+ }
|
||||
|
||||
+15
-24
@@ -1,7 +1,7 @@
|
||||
From 9388aeabcbb06ec93845b6d066148ad4cfe1dd9e Mon Sep 17 00:00:00 2001
|
||||
From 584f9cee6926b57a19cc8bb36ea77124bdcfed94 Mon Sep 17 00:00:00 2001
|
||||
From: Eric Blake <eblake@redhat.com>
|
||||
Date: Fri, 24 Jun 2011 12:16:05 -0600
|
||||
Subject: [PATCH 6/6] remote: protect against integer overflow
|
||||
Subject: [PATCH] remote: protect against integer overflow
|
||||
|
||||
https://bugzilla.redhat.com/show_bug.cgi?id=717204
|
||||
CVE-2011-2511 - integer overflow in VirDomainGetVcpus
|
||||
@@ -22,20 +22,21 @@ Conflicts:
|
||||
|
||||
daemon/remote.c
|
||||
src/remote/remote_driver.c
|
||||
src/libvirt.c
|
||||
|
||||
Change to internal.h required to avoid backporting 89d994ad.
|
||||
---
|
||||
daemon/remote.c | 3 ++-
|
||||
src/internal.h | 17 +++++++++++++++++
|
||||
src/libvirt.c | 5 +++--
|
||||
src/libvirt.c | 4 ++--
|
||||
src/remote/remote_driver.c | 3 ++-
|
||||
4 files changed, 24 insertions(+), 4 deletions(-)
|
||||
4 files changed, 23 insertions(+), 4 deletions(-)
|
||||
|
||||
diff --git a/daemon/remote.c b/daemon/remote.c
|
||||
index 159430e..b707326 100644
|
||||
index 7464957..c6f7007 100644
|
||||
--- a/daemon/remote.c
|
||||
+++ b/daemon/remote.c
|
||||
@@ -1722,7 +1722,8 @@ remoteDispatchDomainGetVcpus (struct qemud_server *server ATTRIBUTE_UNUSED,
|
||||
@@ -1697,7 +1697,8 @@ remoteDispatchDomainGetVcpus (struct qemud_server *server ATTRIBUTE_UNUSED,
|
||||
return -1;
|
||||
}
|
||||
|
||||
@@ -46,10 +47,10 @@ index 159430e..b707326 100644
|
||||
remoteDispatchFormatError (rerr, "%s", _("maxinfo * maplen > REMOTE_CPUMAPS_MAX"));
|
||||
return -1;
|
||||
diff --git a/src/internal.h b/src/internal.h
|
||||
index e263684..f47b842 100644
|
||||
index fab3e11..53447a9 100644
|
||||
--- a/src/internal.h
|
||||
+++ b/src/internal.h
|
||||
@@ -232,6 +232,23 @@
|
||||
@@ -226,4 +226,21 @@
|
||||
} \
|
||||
} while (0)
|
||||
|
||||
@@ -70,22 +71,12 @@ index e263684..f47b842 100644
|
||||
+ ? (a) < INT_MIN / (b) \
|
||||
+ : INT_MAX / (b) < (a)))
|
||||
+
|
||||
/* divide value by size, rounding up */
|
||||
# define VIR_DIV_UP(value, size) (((value) + (size) - 1) / (size))
|
||||
|
||||
#endif /* __VIR_INTERNAL_H__ */
|
||||
diff --git a/src/libvirt.c b/src/libvirt.c
|
||||
index 8c70a1f..d8ab8f8 100644
|
||||
index 1213ecf..6a584fb 100644
|
||||
--- a/src/libvirt.c
|
||||
+++ b/src/libvirt.c
|
||||
@@ -40,6 +40,7 @@
|
||||
#include "util.h"
|
||||
#include "memory.h"
|
||||
#include "configmake.h"
|
||||
+#include "intprops.h"
|
||||
|
||||
#ifndef WITH_DRIVER_MODULES
|
||||
# ifdef WITH_TEST
|
||||
@@ -5363,8 +5364,8 @@ virDomainGetVcpus(virDomainPtr domain, virVcpuInfoPtr info, int maxinfo,
|
||||
@@ -5218,8 +5218,8 @@ virDomainGetVcpus(virDomainPtr domain, virVcpuInfoPtr info, int maxinfo,
|
||||
|
||||
/* Ensure that domainGetVcpus (aka remoteDomainGetVcpus) does not
|
||||
try to memcpy anything into a NULL pointer. */
|
||||
@@ -93,14 +84,14 @@ index 8c70a1f..d8ab8f8 100644
|
||||
- || (cpumaps && maplen <= 0)) {
|
||||
+ if (!cpumaps ? maplen != 0
|
||||
+ : (maplen <= 0 || INT_MULTIPLY_OVERFLOW(maxinfo, maplen))) {
|
||||
virLibDomainError(VIR_ERR_INVALID_ARG, __FUNCTION__);
|
||||
virLibDomainError(domain, VIR_ERR_INVALID_ARG, __FUNCTION__);
|
||||
goto error;
|
||||
}
|
||||
diff --git a/src/remote/remote_driver.c b/src/remote/remote_driver.c
|
||||
index 4ca0d3b..c73452e 100644
|
||||
index cb0d8e1..0d9b425 100644
|
||||
--- a/src/remote/remote_driver.c
|
||||
+++ b/src/remote/remote_driver.c
|
||||
@@ -2850,7 +2850,8 @@ remoteDomainGetVcpus (virDomainPtr domain,
|
||||
@@ -2467,7 +2467,8 @@ remoteDomainGetVcpus (virDomainPtr domain,
|
||||
maxinfo, REMOTE_VCPUINFO_MAX);
|
||||
goto done;
|
||||
}
|
||||
+105
-180
@@ -1,4 +1,4 @@
|
||||
From 90c7ad8540c9b11caa0e4b8589def6566d6a719b Mon Sep 17 00:00:00 2001
|
||||
From 7aa857f9e3b3de0a8f86d3d79b626dbe89df68de Mon Sep 17 00:00:00 2001
|
||||
From: Jiri Denemark <jdenemar@redhat.com>
|
||||
Date: Fri, 25 Mar 2011 16:45:44 +0100
|
||||
Subject: [PATCH 1/2] Make error reporting in libvirtd thread safe
|
||||
@@ -35,14 +35,14 @@ Conflicts:
|
||||
daemon/remote.c
|
||||
---
|
||||
daemon/dispatch.c | 8 +--
|
||||
daemon/remote.c | 231 +++++++++++++++++++++++++++-------------------------
|
||||
2 files changed, 122 insertions(+), 117 deletions(-)
|
||||
daemon/remote.c | 216 +++++++++++++++++++++++++++-------------------------
|
||||
2 files changed, 114 insertions(+), 110 deletions(-)
|
||||
|
||||
diff --git a/daemon/dispatch.c b/daemon/dispatch.c
|
||||
index bf2ac73..e699e2a 100644
|
||||
index 3028298..6262fa5 100644
|
||||
--- a/daemon/dispatch.c
|
||||
+++ b/daemon/dispatch.c
|
||||
@@ -114,14 +114,10 @@ void remoteDispatchOOMError (remote_error *rerr)
|
||||
@@ -113,14 +113,10 @@ void remoteDispatchOOMError (remote_error *rerr)
|
||||
|
||||
|
||||
void remoteDispatchConnError (remote_error *rerr,
|
||||
@@ -60,10 +60,10 @@ index bf2ac73..e699e2a 100644
|
||||
remoteDispatchCopyError(rerr, verr);
|
||||
else
|
||||
diff --git a/daemon/remote.c b/daemon/remote.c
|
||||
index d53b466..554e75e 100644
|
||||
index 118654c..a8258ca 100644
|
||||
--- a/daemon/remote.c
|
||||
+++ b/daemon/remote.c
|
||||
@@ -757,8 +757,8 @@ remoteDispatchDomainGetSchedulerType (struct qemud_server *server ATTRIBUTE_UNUS
|
||||
@@ -732,8 +732,8 @@ remoteDispatchDomainGetSchedulerType (struct qemud_server *server ATTRIBUTE_UNUS
|
||||
|
||||
type = virDomainGetSchedulerType (dom, &nparams);
|
||||
if (type == NULL) {
|
||||
@@ -73,7 +73,7 @@ index d53b466..554e75e 100644
|
||||
return -1;
|
||||
}
|
||||
|
||||
@@ -801,9 +801,9 @@ remoteDispatchDomainGetSchedulerParameters (struct qemud_server *server ATTRIBUT
|
||||
@@ -776,9 +776,9 @@ remoteDispatchDomainGetSchedulerParameters (struct qemud_server *server ATTRIBUT
|
||||
|
||||
r = virDomainGetSchedulerParameters (dom, params, &nparams);
|
||||
if (r == -1) {
|
||||
@@ -84,7 +84,7 @@ index d53b466..554e75e 100644
|
||||
return -1;
|
||||
}
|
||||
|
||||
@@ -908,12 +908,13 @@ remoteDispatchDomainSetSchedulerParameters (struct qemud_server *server ATTRIBUT
|
||||
@@ -883,12 +883,13 @@ remoteDispatchDomainSetSchedulerParameters (struct qemud_server *server ATTRIBUT
|
||||
}
|
||||
|
||||
r = virDomainSetSchedulerParameters (dom, params, nparams);
|
||||
@@ -99,7 +99,7 @@ index d53b466..554e75e 100644
|
||||
|
||||
return 0;
|
||||
}
|
||||
@@ -939,8 +940,8 @@ remoteDispatchDomainBlockStats (struct qemud_server *server ATTRIBUTE_UNUSED,
|
||||
@@ -914,8 +915,8 @@ remoteDispatchDomainBlockStats (struct qemud_server *server ATTRIBUTE_UNUSED,
|
||||
path = args->path;
|
||||
|
||||
if (virDomainBlockStats (dom, path, &stats, sizeof stats) == -1) {
|
||||
@@ -109,7 +109,7 @@ index d53b466..554e75e 100644
|
||||
return -1;
|
||||
}
|
||||
virDomainFree (dom);
|
||||
@@ -975,8 +976,8 @@ remoteDispatchDomainInterfaceStats (struct qemud_server *server ATTRIBUTE_UNUSED
|
||||
@@ -950,8 +951,8 @@ remoteDispatchDomainInterfaceStats (struct qemud_server *server ATTRIBUTE_UNUSED
|
||||
path = args->path;
|
||||
|
||||
if (virDomainInterfaceStats (dom, path, &stats, sizeof stats) == -1) {
|
||||
@@ -119,7 +119,7 @@ index d53b466..554e75e 100644
|
||||
return -1;
|
||||
}
|
||||
virDomainFree (dom);
|
||||
@@ -1026,12 +1027,13 @@ remoteDispatchDomainMemoryStats (struct qemud_server *server ATTRIBUTE_UNUSED,
|
||||
@@ -1001,12 +1002,13 @@ remoteDispatchDomainMemoryStats (struct qemud_server *server ATTRIBUTE_UNUSED,
|
||||
}
|
||||
|
||||
nr_stats = virDomainMemoryStats (dom, stats, args->maxStats, 0);
|
||||
@@ -134,7 +134,7 @@ index d53b466..554e75e 100644
|
||||
|
||||
/* Allocate return buffer */
|
||||
if (VIR_ALLOC_N(ret->stats.stats_val, args->maxStats) < 0) {
|
||||
@@ -1092,8 +1094,8 @@ remoteDispatchDomainBlockPeek (struct qemud_server *server ATTRIBUTE_UNUSED,
|
||||
@@ -1067,8 +1069,8 @@ remoteDispatchDomainBlockPeek (struct qemud_server *server ATTRIBUTE_UNUSED,
|
||||
if (virDomainBlockPeek (dom, path, offset, size,
|
||||
ret->buffer.buffer_val, flags) == -1) {
|
||||
/* free (ret->buffer.buffer_val); - caller frees */
|
||||
@@ -144,7 +144,7 @@ index d53b466..554e75e 100644
|
||||
return -1;
|
||||
}
|
||||
virDomainFree (dom);
|
||||
@@ -1141,8 +1143,8 @@ remoteDispatchDomainMemoryPeek (struct qemud_server *server ATTRIBUTE_UNUSED,
|
||||
@@ -1116,8 +1118,8 @@ remoteDispatchDomainMemoryPeek (struct qemud_server *server ATTRIBUTE_UNUSED,
|
||||
if (virDomainMemoryPeek (dom, offset, size,
|
||||
ret->buffer.buffer_val, flags) == -1) {
|
||||
/* free (ret->buffer.buffer_val); - caller frees */
|
||||
@@ -154,7 +154,7 @@ index d53b466..554e75e 100644
|
||||
return -1;
|
||||
}
|
||||
virDomainFree (dom);
|
||||
@@ -1168,8 +1170,8 @@ remoteDispatchDomainAttachDevice (struct qemud_server *server ATTRIBUTE_UNUSED,
|
||||
@@ -1143,8 +1145,8 @@ remoteDispatchDomainAttachDevice (struct qemud_server *server ATTRIBUTE_UNUSED,
|
||||
}
|
||||
|
||||
if (virDomainAttachDevice (dom, args->xml) == -1) {
|
||||
@@ -164,7 +164,7 @@ index d53b466..554e75e 100644
|
||||
return -1;
|
||||
}
|
||||
virDomainFree(dom);
|
||||
@@ -1194,8 +1196,8 @@ remoteDispatchDomainAttachDeviceFlags (struct qemud_server *server ATTRIBUTE_UNU
|
||||
@@ -1169,8 +1171,8 @@ remoteDispatchDomainAttachDeviceFlags (struct qemud_server *server ATTRIBUTE_UNU
|
||||
}
|
||||
|
||||
if (virDomainAttachDeviceFlags (dom, args->xml, args->flags) == -1) {
|
||||
@@ -174,7 +174,7 @@ index d53b466..554e75e 100644
|
||||
return -1;
|
||||
}
|
||||
virDomainFree(dom);
|
||||
@@ -1220,8 +1222,8 @@ remoteDispatchDomainUpdateDeviceFlags (struct qemud_server *server ATTRIBUTE_UNU
|
||||
@@ -1195,8 +1197,8 @@ remoteDispatchDomainUpdateDeviceFlags (struct qemud_server *server ATTRIBUTE_UNU
|
||||
}
|
||||
|
||||
if (virDomainUpdateDeviceFlags (dom, args->xml, args->flags) == -1) {
|
||||
@@ -184,7 +184,7 @@ index d53b466..554e75e 100644
|
||||
return -1;
|
||||
}
|
||||
virDomainFree(dom);
|
||||
@@ -1246,8 +1248,8 @@ remoteDispatchDomainCreate (struct qemud_server *server ATTRIBUTE_UNUSED,
|
||||
@@ -1221,8 +1223,8 @@ remoteDispatchDomainCreate (struct qemud_server *server ATTRIBUTE_UNUSED,
|
||||
}
|
||||
|
||||
if (virDomainCreate (dom) == -1) {
|
||||
@@ -194,7 +194,7 @@ index d53b466..554e75e 100644
|
||||
return -1;
|
||||
}
|
||||
virDomainFree(dom);
|
||||
@@ -1272,8 +1274,8 @@ remoteDispatchDomainCreateWithFlags (struct qemud_server *server ATTRIBUTE_UNUSE
|
||||
@@ -1247,8 +1249,8 @@ remoteDispatchDomainCreateWithFlags (struct qemud_server *server ATTRIBUTE_UNUSE
|
||||
}
|
||||
|
||||
if (virDomainCreateWithFlags (dom, args->flags) == -1) {
|
||||
@@ -204,7 +204,7 @@ index d53b466..554e75e 100644
|
||||
return -1;
|
||||
}
|
||||
|
||||
@@ -1346,8 +1348,8 @@ remoteDispatchDomainDestroy (struct qemud_server *server ATTRIBUTE_UNUSED,
|
||||
@@ -1321,8 +1323,8 @@ remoteDispatchDomainDestroy (struct qemud_server *server ATTRIBUTE_UNUSED,
|
||||
}
|
||||
|
||||
if (virDomainDestroy (dom) == -1) {
|
||||
@@ -214,7 +214,7 @@ index d53b466..554e75e 100644
|
||||
return -1;
|
||||
}
|
||||
virDomainFree(dom);
|
||||
@@ -1372,8 +1374,8 @@ remoteDispatchDomainDetachDevice (struct qemud_server *server ATTRIBUTE_UNUSED,
|
||||
@@ -1347,8 +1349,8 @@ remoteDispatchDomainDetachDevice (struct qemud_server *server ATTRIBUTE_UNUSED,
|
||||
}
|
||||
|
||||
if (virDomainDetachDevice (dom, args->xml) == -1) {
|
||||
@@ -224,7 +224,7 @@ index d53b466..554e75e 100644
|
||||
return -1;
|
||||
}
|
||||
|
||||
@@ -1399,8 +1401,8 @@ remoteDispatchDomainDetachDeviceFlags (struct qemud_server *server ATTRIBUTE_UNU
|
||||
@@ -1374,8 +1376,8 @@ remoteDispatchDomainDetachDeviceFlags (struct qemud_server *server ATTRIBUTE_UNU
|
||||
}
|
||||
|
||||
if (virDomainDetachDeviceFlags (dom, args->xml, args->flags) == -1) {
|
||||
@@ -234,7 +234,7 @@ index d53b466..554e75e 100644
|
||||
return -1;
|
||||
}
|
||||
|
||||
@@ -1428,8 +1430,8 @@ remoteDispatchDomainDumpXml (struct qemud_server *server ATTRIBUTE_UNUSED,
|
||||
@@ -1403,8 +1405,8 @@ remoteDispatchDomainDumpXml (struct qemud_server *server ATTRIBUTE_UNUSED,
|
||||
/* remoteDispatchClientRequest will free this. */
|
||||
ret->xml = virDomainGetXMLDesc (dom, args->flags);
|
||||
if (!ret->xml) {
|
||||
@@ -244,7 +244,7 @@ index d53b466..554e75e 100644
|
||||
return -1;
|
||||
}
|
||||
virDomainFree(dom);
|
||||
@@ -1497,8 +1499,8 @@ remoteDispatchDomainGetAutostart (struct qemud_server *server ATTRIBUTE_UNUSED,
|
||||
@@ -1472,8 +1474,8 @@ remoteDispatchDomainGetAutostart (struct qemud_server *server ATTRIBUTE_UNUSED,
|
||||
}
|
||||
|
||||
if (virDomainGetAutostart (dom, &ret->autostart) == -1) {
|
||||
@@ -254,7 +254,7 @@ index d53b466..554e75e 100644
|
||||
return -1;
|
||||
}
|
||||
virDomainFree(dom);
|
||||
@@ -1524,8 +1526,8 @@ remoteDispatchDomainGetInfo (struct qemud_server *server ATTRIBUTE_UNUSED,
|
||||
@@ -1499,8 +1501,8 @@ remoteDispatchDomainGetInfo (struct qemud_server *server ATTRIBUTE_UNUSED,
|
||||
}
|
||||
|
||||
if (virDomainGetInfo (dom, &info) == -1) {
|
||||
@@ -264,7 +264,7 @@ index d53b466..554e75e 100644
|
||||
return -1;
|
||||
}
|
||||
|
||||
@@ -1559,8 +1561,8 @@ remoteDispatchDomainGetMaxMemory (struct qemud_server *server ATTRIBUTE_UNUSED,
|
||||
@@ -1534,8 +1536,8 @@ remoteDispatchDomainGetMaxMemory (struct qemud_server *server ATTRIBUTE_UNUSED,
|
||||
|
||||
ret->memory = virDomainGetMaxMemory (dom);
|
||||
if (ret->memory == 0) {
|
||||
@@ -274,7 +274,7 @@ index d53b466..554e75e 100644
|
||||
return -1;
|
||||
}
|
||||
virDomainFree(dom);
|
||||
@@ -1586,8 +1588,8 @@ remoteDispatchDomainGetMaxVcpus (struct qemud_server *server ATTRIBUTE_UNUSED,
|
||||
@@ -1561,8 +1563,8 @@ remoteDispatchDomainGetMaxVcpus (struct qemud_server *server ATTRIBUTE_UNUSED,
|
||||
|
||||
ret->num = virDomainGetMaxVcpus (dom);
|
||||
if (ret->num == -1) {
|
||||
@@ -284,7 +284,7 @@ index d53b466..554e75e 100644
|
||||
return -1;
|
||||
}
|
||||
virDomainFree(dom);
|
||||
@@ -1614,8 +1616,8 @@ remoteDispatchDomainGetSecurityLabel(struct qemud_server *server ATTRIBUTE_UNUSE
|
||||
@@ -1589,8 +1591,8 @@ remoteDispatchDomainGetSecurityLabel(struct qemud_server *server ATTRIBUTE_UNUSE
|
||||
|
||||
memset(&seclabel, 0, sizeof seclabel);
|
||||
if (virDomainGetSecurityLabel(dom, &seclabel) == -1) {
|
||||
@@ -294,7 +294,7 @@ index d53b466..554e75e 100644
|
||||
return -1;
|
||||
}
|
||||
|
||||
@@ -1686,8 +1688,8 @@ remoteDispatchDomainGetOsType (struct qemud_server *server ATTRIBUTE_UNUSED,
|
||||
@@ -1661,8 +1663,8 @@ remoteDispatchDomainGetOsType (struct qemud_server *server ATTRIBUTE_UNUSED,
|
||||
/* remoteDispatchClientRequest will free this */
|
||||
ret->type = virDomainGetOSType (dom);
|
||||
if (ret->type == NULL) {
|
||||
@@ -304,7 +304,7 @@ index d53b466..554e75e 100644
|
||||
return -1;
|
||||
}
|
||||
virDomainFree(dom);
|
||||
@@ -1737,10 +1739,10 @@ remoteDispatchDomainGetVcpus (struct qemud_server *server ATTRIBUTE_UNUSED,
|
||||
@@ -1712,10 +1714,10 @@ remoteDispatchDomainGetVcpus (struct qemud_server *server ATTRIBUTE_UNUSED,
|
||||
info, args->maxinfo,
|
||||
cpumaps, args->maplen);
|
||||
if (info_len == -1) {
|
||||
@@ -316,17 +316,7 @@ index d53b466..554e75e 100644
|
||||
return -1;
|
||||
}
|
||||
|
||||
@@ -1794,8 +1796,8 @@ remoteDispatchDomainGetVcpusFlags (struct qemud_server *server ATTRIBUTE_UNUSED,
|
||||
|
||||
ret->num = virDomainGetVcpusFlags (dom, args->flags);
|
||||
if (ret->num == -1) {
|
||||
- virDomainFree(dom);
|
||||
remoteDispatchConnError(rerr, conn);
|
||||
+ virDomainFree(dom);
|
||||
return -1;
|
||||
}
|
||||
virDomainFree(dom);
|
||||
@@ -1877,11 +1879,12 @@ remoteDispatchDomainMigratePerform (struct qemud_server *server ATTRIBUTE_UNUSED
|
||||
@@ -1825,11 +1827,12 @@ remoteDispatchDomainMigratePerform (struct qemud_server *server ATTRIBUTE_UNUSED
|
||||
args->cookie.cookie_len,
|
||||
args->uri,
|
||||
args->flags, dname, args->resource);
|
||||
@@ -340,7 +330,7 @@ index d53b466..554e75e 100644
|
||||
|
||||
return 0;
|
||||
}
|
||||
@@ -2013,8 +2016,8 @@ remoteDispatchDomainMigratePrepareTunnel(struct qemud_server *server ATTRIBUTE_U
|
||||
@@ -1961,8 +1964,8 @@ remoteDispatchDomainMigratePrepareTunnel(struct qemud_server *server ATTRIBUTE_U
|
||||
args->flags, dname, args->resource,
|
||||
args->dom_xml);
|
||||
if (r == -1) {
|
||||
@@ -350,7 +340,7 @@ index d53b466..554e75e 100644
|
||||
return -1;
|
||||
}
|
||||
|
||||
@@ -2175,8 +2178,8 @@ remoteDispatchDomainPinVcpu (struct qemud_server *server ATTRIBUTE_UNUSED,
|
||||
@@ -2123,8 +2126,8 @@ remoteDispatchDomainPinVcpu (struct qemud_server *server ATTRIBUTE_UNUSED,
|
||||
(unsigned char *) args->cpumap.cpumap_val,
|
||||
args->cpumap.cpumap_len);
|
||||
if (rv == -1) {
|
||||
@@ -360,7 +350,7 @@ index d53b466..554e75e 100644
|
||||
return -1;
|
||||
}
|
||||
virDomainFree(dom);
|
||||
@@ -2201,8 +2204,8 @@ remoteDispatchDomainReboot (struct qemud_server *server ATTRIBUTE_UNUSED,
|
||||
@@ -2149,8 +2152,8 @@ remoteDispatchDomainReboot (struct qemud_server *server ATTRIBUTE_UNUSED,
|
||||
}
|
||||
|
||||
if (virDomainReboot (dom, args->flags) == -1) {
|
||||
@@ -370,7 +360,7 @@ index d53b466..554e75e 100644
|
||||
return -1;
|
||||
}
|
||||
virDomainFree(dom);
|
||||
@@ -2245,8 +2248,8 @@ remoteDispatchDomainResume (struct qemud_server *server ATTRIBUTE_UNUSED,
|
||||
@@ -2193,8 +2196,8 @@ remoteDispatchDomainResume (struct qemud_server *server ATTRIBUTE_UNUSED,
|
||||
}
|
||||
|
||||
if (virDomainResume (dom) == -1) {
|
||||
@@ -380,7 +370,7 @@ index d53b466..554e75e 100644
|
||||
return -1;
|
||||
}
|
||||
virDomainFree(dom);
|
||||
@@ -2271,8 +2274,8 @@ remoteDispatchDomainSave (struct qemud_server *server ATTRIBUTE_UNUSED,
|
||||
@@ -2219,8 +2222,8 @@ remoteDispatchDomainSave (struct qemud_server *server ATTRIBUTE_UNUSED,
|
||||
}
|
||||
|
||||
if (virDomainSave (dom, args->to) == -1) {
|
||||
@@ -390,7 +380,7 @@ index d53b466..554e75e 100644
|
||||
return -1;
|
||||
}
|
||||
virDomainFree(dom);
|
||||
@@ -2297,8 +2300,8 @@ remoteDispatchDomainCoreDump (struct qemud_server *server ATTRIBUTE_UNUSED,
|
||||
@@ -2245,8 +2248,8 @@ remoteDispatchDomainCoreDump (struct qemud_server *server ATTRIBUTE_UNUSED,
|
||||
}
|
||||
|
||||
if (virDomainCoreDump (dom, args->to, args->flags) == -1) {
|
||||
@@ -400,7 +390,7 @@ index d53b466..554e75e 100644
|
||||
return -1;
|
||||
}
|
||||
virDomainFree(dom);
|
||||
@@ -2323,8 +2326,8 @@ remoteDispatchDomainSetAutostart (struct qemud_server *server ATTRIBUTE_UNUSED,
|
||||
@@ -2271,8 +2274,8 @@ remoteDispatchDomainSetAutostart (struct qemud_server *server ATTRIBUTE_UNUSED,
|
||||
}
|
||||
|
||||
if (virDomainSetAutostart (dom, args->autostart) == -1) {
|
||||
@@ -410,7 +400,7 @@ index d53b466..554e75e 100644
|
||||
return -1;
|
||||
}
|
||||
virDomainFree(dom);
|
||||
@@ -2349,8 +2352,8 @@ remoteDispatchDomainSetMaxMemory (struct qemud_server *server ATTRIBUTE_UNUSED,
|
||||
@@ -2297,8 +2300,8 @@ remoteDispatchDomainSetMaxMemory (struct qemud_server *server ATTRIBUTE_UNUSED,
|
||||
}
|
||||
|
||||
if (virDomainSetMaxMemory (dom, args->memory) == -1) {
|
||||
@@ -420,7 +410,7 @@ index d53b466..554e75e 100644
|
||||
return -1;
|
||||
}
|
||||
virDomainFree(dom);
|
||||
@@ -2375,8 +2378,8 @@ remoteDispatchDomainSetMemory (struct qemud_server *server ATTRIBUTE_UNUSED,
|
||||
@@ -2323,8 +2326,8 @@ remoteDispatchDomainSetMemory (struct qemud_server *server ATTRIBUTE_UNUSED,
|
||||
}
|
||||
|
||||
if (virDomainSetMemory (dom, args->memory) == -1) {
|
||||
@@ -430,34 +420,7 @@ index d53b466..554e75e 100644
|
||||
return -1;
|
||||
}
|
||||
virDomainFree(dom);
|
||||
@@ -2465,13 +2468,14 @@ remoteDispatchDomainSetMemoryParameters(struct qemud_server *server
|
||||
}
|
||||
|
||||
r = virDomainSetMemoryParameters(dom, params, nparams, flags);
|
||||
- virDomainFree(dom);
|
||||
VIR_FREE(params);
|
||||
if (r == -1) {
|
||||
remoteDispatchConnError(rerr, conn);
|
||||
+ virDomainFree(dom);
|
||||
return -1;
|
||||
}
|
||||
|
||||
+ virDomainFree(dom);
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -2515,9 +2519,9 @@ remoteDispatchDomainGetMemoryParameters(struct qemud_server *server
|
||||
|
||||
r = virDomainGetMemoryParameters(dom, params, &nparams, flags);
|
||||
if (r == -1) {
|
||||
+ remoteDispatchConnError(rerr, conn);
|
||||
virDomainFree(dom);
|
||||
VIR_FREE(params);
|
||||
- remoteDispatchConnError(rerr, conn);
|
||||
return -1;
|
||||
}
|
||||
/* In this case, we need to send back the number of parameters
|
||||
@@ -2611,8 +2615,8 @@ remoteDispatchDomainSetVcpus (struct qemud_server *server ATTRIBUTE_UNUSED,
|
||||
@@ -2349,8 +2352,8 @@ remoteDispatchDomainSetVcpus (struct qemud_server *server ATTRIBUTE_UNUSED,
|
||||
}
|
||||
|
||||
if (virDomainSetVcpus (dom, args->nvcpus) == -1) {
|
||||
@@ -467,17 +430,7 @@ index d53b466..554e75e 100644
|
||||
return -1;
|
||||
}
|
||||
virDomainFree(dom);
|
||||
@@ -2637,8 +2641,8 @@ remoteDispatchDomainSetVcpusFlags (struct qemud_server *server ATTRIBUTE_UNUSED,
|
||||
}
|
||||
|
||||
if (virDomainSetVcpusFlags (dom, args->nvcpus, args->flags) == -1) {
|
||||
- virDomainFree(dom);
|
||||
remoteDispatchConnError(rerr, conn);
|
||||
+ virDomainFree(dom);
|
||||
return -1;
|
||||
}
|
||||
virDomainFree(dom);
|
||||
@@ -2663,8 +2667,8 @@ remoteDispatchDomainShutdown (struct qemud_server *server ATTRIBUTE_UNUSED,
|
||||
@@ -2375,8 +2378,8 @@ remoteDispatchDomainShutdown (struct qemud_server *server ATTRIBUTE_UNUSED,
|
||||
}
|
||||
|
||||
if (virDomainShutdown (dom) == -1) {
|
||||
@@ -487,7 +440,7 @@ index d53b466..554e75e 100644
|
||||
return -1;
|
||||
}
|
||||
virDomainFree(dom);
|
||||
@@ -2689,8 +2693,8 @@ remoteDispatchDomainSuspend (struct qemud_server *server ATTRIBUTE_UNUSED,
|
||||
@@ -2401,8 +2404,8 @@ remoteDispatchDomainSuspend (struct qemud_server *server ATTRIBUTE_UNUSED,
|
||||
}
|
||||
|
||||
if (virDomainSuspend (dom) == -1) {
|
||||
@@ -497,7 +450,7 @@ index d53b466..554e75e 100644
|
||||
return -1;
|
||||
}
|
||||
virDomainFree(dom);
|
||||
@@ -2715,8 +2719,8 @@ remoteDispatchDomainUndefine (struct qemud_server *server ATTRIBUTE_UNUSED,
|
||||
@@ -2427,8 +2430,8 @@ remoteDispatchDomainUndefine (struct qemud_server *server ATTRIBUTE_UNUSED,
|
||||
}
|
||||
|
||||
if (virDomainUndefine (dom) == -1) {
|
||||
@@ -507,7 +460,7 @@ index d53b466..554e75e 100644
|
||||
return -1;
|
||||
}
|
||||
virDomainFree(dom);
|
||||
@@ -2808,8 +2812,8 @@ remoteDispatchDomainManagedSave (struct qemud_server *server ATTRIBUTE_UNUSED,
|
||||
@@ -2520,8 +2523,8 @@ remoteDispatchDomainManagedSave (struct qemud_server *server ATTRIBUTE_UNUSED,
|
||||
}
|
||||
|
||||
if (virDomainManagedSave (dom, args->flags) == -1) {
|
||||
@@ -517,7 +470,7 @@ index d53b466..554e75e 100644
|
||||
return -1;
|
||||
}
|
||||
virDomainFree(dom);
|
||||
@@ -2835,8 +2839,8 @@ remoteDispatchDomainHasManagedSaveImage (struct qemud_server *server ATTRIBUTE_U
|
||||
@@ -2547,8 +2550,8 @@ remoteDispatchDomainHasManagedSaveImage (struct qemud_server *server ATTRIBUTE_U
|
||||
|
||||
ret->ret = virDomainHasManagedSaveImage (dom, args->flags);
|
||||
if (ret->ret == -1) {
|
||||
@@ -527,7 +480,7 @@ index d53b466..554e75e 100644
|
||||
return -1;
|
||||
}
|
||||
virDomainFree(dom);
|
||||
@@ -2861,8 +2865,8 @@ remoteDispatchDomainManagedSaveRemove (struct qemud_server *server ATTRIBUTE_UNU
|
||||
@@ -2573,8 +2576,8 @@ remoteDispatchDomainManagedSaveRemove (struct qemud_server *server ATTRIBUTE_UNU
|
||||
}
|
||||
|
||||
if (virDomainManagedSaveRemove (dom, args->flags) == -1) {
|
||||
@@ -537,7 +490,7 @@ index d53b466..554e75e 100644
|
||||
return -1;
|
||||
}
|
||||
virDomainFree(dom);
|
||||
@@ -2921,8 +2925,8 @@ remoteDispatchNetworkCreate (struct qemud_server *server ATTRIBUTE_UNUSED,
|
||||
@@ -2633,8 +2636,8 @@ remoteDispatchNetworkCreate (struct qemud_server *server ATTRIBUTE_UNUSED,
|
||||
}
|
||||
|
||||
if (virNetworkCreate (net) == -1) {
|
||||
@@ -547,7 +500,7 @@ index d53b466..554e75e 100644
|
||||
return -1;
|
||||
}
|
||||
virNetworkFree(net);
|
||||
@@ -2991,8 +2995,8 @@ remoteDispatchNetworkDestroy (struct qemud_server *server ATTRIBUTE_UNUSED,
|
||||
@@ -2703,8 +2706,8 @@ remoteDispatchNetworkDestroy (struct qemud_server *server ATTRIBUTE_UNUSED,
|
||||
}
|
||||
|
||||
if (virNetworkDestroy (net) == -1) {
|
||||
@@ -557,7 +510,7 @@ index d53b466..554e75e 100644
|
||||
return -1;
|
||||
}
|
||||
virNetworkFree(net);
|
||||
@@ -3019,8 +3023,8 @@ remoteDispatchNetworkDumpXml (struct qemud_server *server ATTRIBUTE_UNUSED,
|
||||
@@ -2731,8 +2734,8 @@ remoteDispatchNetworkDumpXml (struct qemud_server *server ATTRIBUTE_UNUSED,
|
||||
/* remoteDispatchClientRequest will free this. */
|
||||
ret->xml = virNetworkGetXMLDesc (net, args->flags);
|
||||
if (!ret->xml) {
|
||||
@@ -567,7 +520,7 @@ index d53b466..554e75e 100644
|
||||
return -1;
|
||||
}
|
||||
virNetworkFree(net);
|
||||
@@ -3045,8 +3049,8 @@ remoteDispatchNetworkGetAutostart (struct qemud_server *server ATTRIBUTE_UNUSED,
|
||||
@@ -2757,8 +2760,8 @@ remoteDispatchNetworkGetAutostart (struct qemud_server *server ATTRIBUTE_UNUSED,
|
||||
}
|
||||
|
||||
if (virNetworkGetAutostart (net, &ret->autostart) == -1) {
|
||||
@@ -577,7 +530,7 @@ index d53b466..554e75e 100644
|
||||
return -1;
|
||||
}
|
||||
virNetworkFree(net);
|
||||
@@ -3073,8 +3077,8 @@ remoteDispatchNetworkGetBridgeName (struct qemud_server *server ATTRIBUTE_UNUSED
|
||||
@@ -2785,8 +2788,8 @@ remoteDispatchNetworkGetBridgeName (struct qemud_server *server ATTRIBUTE_UNUSED
|
||||
/* remoteDispatchClientRequest will free this. */
|
||||
ret->name = virNetworkGetBridgeName (net);
|
||||
if (!ret->name) {
|
||||
@@ -587,7 +540,7 @@ index d53b466..554e75e 100644
|
||||
return -1;
|
||||
}
|
||||
virNetworkFree(net);
|
||||
@@ -3143,8 +3147,8 @@ remoteDispatchNetworkSetAutostart (struct qemud_server *server ATTRIBUTE_UNUSED,
|
||||
@@ -2855,8 +2858,8 @@ remoteDispatchNetworkSetAutostart (struct qemud_server *server ATTRIBUTE_UNUSED,
|
||||
}
|
||||
|
||||
if (virNetworkSetAutostart (net, args->autostart) == -1) {
|
||||
@@ -597,7 +550,7 @@ index d53b466..554e75e 100644
|
||||
return -1;
|
||||
}
|
||||
virNetworkFree(net);
|
||||
@@ -3169,8 +3173,8 @@ remoteDispatchNetworkUndefine (struct qemud_server *server ATTRIBUTE_UNUSED,
|
||||
@@ -2881,8 +2884,8 @@ remoteDispatchNetworkUndefine (struct qemud_server *server ATTRIBUTE_UNUSED,
|
||||
}
|
||||
|
||||
if (virNetworkUndefine (net) == -1) {
|
||||
@@ -607,7 +560,7 @@ index d53b466..554e75e 100644
|
||||
return -1;
|
||||
}
|
||||
virNetworkFree(net);
|
||||
@@ -3406,8 +3410,8 @@ remoteDispatchInterfaceGetXmlDesc (struct qemud_server *server ATTRIBUTE_UNUSED,
|
||||
@@ -3118,8 +3121,8 @@ remoteDispatchInterfaceGetXmlDesc (struct qemud_server *server ATTRIBUTE_UNUSED,
|
||||
/* remoteDispatchClientRequest will free this. */
|
||||
ret->xml = virInterfaceGetXMLDesc (iface, args->flags);
|
||||
if (!ret->xml) {
|
||||
@@ -617,7 +570,7 @@ index d53b466..554e75e 100644
|
||||
return -1;
|
||||
}
|
||||
virInterfaceFree(iface);
|
||||
@@ -3454,8 +3458,8 @@ remoteDispatchInterfaceUndefine (struct qemud_server *server ATTRIBUTE_UNUSED,
|
||||
@@ -3166,8 +3169,8 @@ remoteDispatchInterfaceUndefine (struct qemud_server *server ATTRIBUTE_UNUSED,
|
||||
}
|
||||
|
||||
if (virInterfaceUndefine (iface) == -1) {
|
||||
@@ -627,7 +580,7 @@ index d53b466..554e75e 100644
|
||||
return -1;
|
||||
}
|
||||
virInterfaceFree(iface);
|
||||
@@ -3480,8 +3484,8 @@ remoteDispatchInterfaceCreate (struct qemud_server *server ATTRIBUTE_UNUSED,
|
||||
@@ -3192,8 +3195,8 @@ remoteDispatchInterfaceCreate (struct qemud_server *server ATTRIBUTE_UNUSED,
|
||||
}
|
||||
|
||||
if (virInterfaceCreate (iface, args->flags) == -1) {
|
||||
@@ -637,7 +590,7 @@ index d53b466..554e75e 100644
|
||||
return -1;
|
||||
}
|
||||
virInterfaceFree(iface);
|
||||
@@ -3506,8 +3510,8 @@ remoteDispatchInterfaceDestroy (struct qemud_server *server ATTRIBUTE_UNUSED,
|
||||
@@ -3218,8 +3221,8 @@ remoteDispatchInterfaceDestroy (struct qemud_server *server ATTRIBUTE_UNUSED,
|
||||
}
|
||||
|
||||
if (virInterfaceDestroy (iface, args->flags) == -1) {
|
||||
@@ -647,7 +600,7 @@ index d53b466..554e75e 100644
|
||||
return -1;
|
||||
}
|
||||
virInterfaceFree(iface);
|
||||
@@ -4420,8 +4424,8 @@ remoteDispatchStoragePoolCreate (struct qemud_server *server ATTRIBUTE_UNUSED,
|
||||
@@ -4100,8 +4103,8 @@ remoteDispatchStoragePoolCreate (struct qemud_server *server ATTRIBUTE_UNUSED,
|
||||
}
|
||||
|
||||
if (virStoragePoolCreate (pool, args->flags) == -1) {
|
||||
@@ -657,7 +610,7 @@ index d53b466..554e75e 100644
|
||||
return -1;
|
||||
}
|
||||
virStoragePoolFree(pool);
|
||||
@@ -4490,8 +4494,8 @@ remoteDispatchStoragePoolBuild (struct qemud_server *server ATTRIBUTE_UNUSED,
|
||||
@@ -4170,8 +4173,8 @@ remoteDispatchStoragePoolBuild (struct qemud_server *server ATTRIBUTE_UNUSED,
|
||||
}
|
||||
|
||||
if (virStoragePoolBuild (pool, args->flags) == -1) {
|
||||
@@ -667,7 +620,7 @@ index d53b466..554e75e 100644
|
||||
return -1;
|
||||
}
|
||||
virStoragePoolFree(pool);
|
||||
@@ -4517,8 +4521,8 @@ remoteDispatchStoragePoolDestroy (struct qemud_server *server ATTRIBUTE_UNUSED,
|
||||
@@ -4197,8 +4200,8 @@ remoteDispatchStoragePoolDestroy (struct qemud_server *server ATTRIBUTE_UNUSED,
|
||||
}
|
||||
|
||||
if (virStoragePoolDestroy (pool) == -1) {
|
||||
@@ -677,7 +630,7 @@ index d53b466..554e75e 100644
|
||||
return -1;
|
||||
}
|
||||
virStoragePoolFree(pool);
|
||||
@@ -4543,8 +4547,8 @@ remoteDispatchStoragePoolDelete (struct qemud_server *server ATTRIBUTE_UNUSED,
|
||||
@@ -4223,8 +4226,8 @@ remoteDispatchStoragePoolDelete (struct qemud_server *server ATTRIBUTE_UNUSED,
|
||||
}
|
||||
|
||||
if (virStoragePoolDelete (pool, args->flags) == -1) {
|
||||
@@ -687,7 +640,7 @@ index d53b466..554e75e 100644
|
||||
return -1;
|
||||
}
|
||||
virStoragePoolFree(pool);
|
||||
@@ -4569,8 +4573,8 @@ remoteDispatchStoragePoolRefresh (struct qemud_server *server ATTRIBUTE_UNUSED,
|
||||
@@ -4249,8 +4252,8 @@ remoteDispatchStoragePoolRefresh (struct qemud_server *server ATTRIBUTE_UNUSED,
|
||||
}
|
||||
|
||||
if (virStoragePoolRefresh (pool, args->flags) == -1) {
|
||||
@@ -697,7 +650,7 @@ index d53b466..554e75e 100644
|
||||
return -1;
|
||||
}
|
||||
virStoragePoolFree(pool);
|
||||
@@ -4596,8 +4600,8 @@ remoteDispatchStoragePoolGetInfo (struct qemud_server *server ATTRIBUTE_UNUSED,
|
||||
@@ -4276,8 +4279,8 @@ remoteDispatchStoragePoolGetInfo (struct qemud_server *server ATTRIBUTE_UNUSED,
|
||||
}
|
||||
|
||||
if (virStoragePoolGetInfo (pool, &info) == -1) {
|
||||
@@ -707,7 +660,7 @@ index d53b466..554e75e 100644
|
||||
return -1;
|
||||
}
|
||||
|
||||
@@ -4631,8 +4635,8 @@ remoteDispatchStoragePoolDumpXml (struct qemud_server *server ATTRIBUTE_UNUSED,
|
||||
@@ -4311,8 +4314,8 @@ remoteDispatchStoragePoolDumpXml (struct qemud_server *server ATTRIBUTE_UNUSED,
|
||||
/* remoteDispatchClientRequest will free this. */
|
||||
ret->xml = virStoragePoolGetXMLDesc (pool, args->flags);
|
||||
if (!ret->xml) {
|
||||
@@ -717,7 +670,7 @@ index d53b466..554e75e 100644
|
||||
return -1;
|
||||
}
|
||||
virStoragePoolFree(pool);
|
||||
@@ -4657,8 +4661,8 @@ remoteDispatchStoragePoolGetAutostart (struct qemud_server *server ATTRIBUTE_UNU
|
||||
@@ -4337,8 +4340,8 @@ remoteDispatchStoragePoolGetAutostart (struct qemud_server *server ATTRIBUTE_UNU
|
||||
}
|
||||
|
||||
if (virStoragePoolGetAutostart (pool, &ret->autostart) == -1) {
|
||||
@@ -727,7 +680,7 @@ index d53b466..554e75e 100644
|
||||
return -1;
|
||||
}
|
||||
virStoragePoolFree(pool);
|
||||
@@ -4729,11 +4733,12 @@ remoteDispatchStoragePoolLookupByVolume (struct qemud_server *server ATTRIBUTE_U
|
||||
@@ -4409,11 +4412,12 @@ remoteDispatchStoragePoolLookupByVolume (struct qemud_server *server ATTRIBUTE_U
|
||||
}
|
||||
|
||||
pool = virStoragePoolLookupByVolume (vol);
|
||||
@@ -741,7 +694,7 @@ index d53b466..554e75e 100644
|
||||
|
||||
make_nonnull_storage_pool (&ret->pool, pool);
|
||||
virStoragePoolFree(pool);
|
||||
@@ -4758,8 +4763,8 @@ remoteDispatchStoragePoolSetAutostart (struct qemud_server *server ATTRIBUTE_UNU
|
||||
@@ -4438,8 +4442,8 @@ remoteDispatchStoragePoolSetAutostart (struct qemud_server *server ATTRIBUTE_UNU
|
||||
}
|
||||
|
||||
if (virStoragePoolSetAutostart (pool, args->autostart) == -1) {
|
||||
@@ -751,7 +704,7 @@ index d53b466..554e75e 100644
|
||||
return -1;
|
||||
}
|
||||
virStoragePoolFree(pool);
|
||||
@@ -4784,8 +4789,8 @@ remoteDispatchStoragePoolUndefine (struct qemud_server *server ATTRIBUTE_UNUSED,
|
||||
@@ -4464,8 +4468,8 @@ remoteDispatchStoragePoolUndefine (struct qemud_server *server ATTRIBUTE_UNUSED,
|
||||
}
|
||||
|
||||
if (virStoragePoolUndefine (pool) == -1) {
|
||||
@@ -761,7 +714,7 @@ index d53b466..554e75e 100644
|
||||
return -1;
|
||||
}
|
||||
virStoragePoolFree(pool);
|
||||
@@ -4927,11 +4932,12 @@ remoteDispatchStorageVolCreateXml (struct qemud_server *server ATTRIBUTE_UNUSED,
|
||||
@@ -4607,11 +4611,12 @@ remoteDispatchStorageVolCreateXml (struct qemud_server *server ATTRIBUTE_UNUSED,
|
||||
}
|
||||
|
||||
vol = virStorageVolCreateXML (pool, args->xml, args->flags);
|
||||
@@ -775,7 +728,7 @@ index d53b466..554e75e 100644
|
||||
|
||||
make_nonnull_storage_vol (&ret->vol, vol);
|
||||
virStorageVolFree(vol);
|
||||
@@ -4958,19 +4964,21 @@ remoteDispatchStorageVolCreateXmlFrom (struct qemud_server *server ATTRIBUTE_UNU
|
||||
@@ -4638,19 +4643,21 @@ remoteDispatchStorageVolCreateXmlFrom (struct qemud_server *server ATTRIBUTE_UNU
|
||||
|
||||
clonevol = get_nonnull_storage_vol (conn, args->clonevol);
|
||||
if (clonevol == NULL) {
|
||||
@@ -800,7 +753,7 @@ index d53b466..554e75e 100644
|
||||
|
||||
make_nonnull_storage_vol (&ret->vol, newvol);
|
||||
virStorageVolFree(newvol);
|
||||
@@ -4995,8 +5003,8 @@ remoteDispatchStorageVolDelete (struct qemud_server *server ATTRIBUTE_UNUSED,
|
||||
@@ -4675,8 +4682,8 @@ remoteDispatchStorageVolDelete (struct qemud_server *server ATTRIBUTE_UNUSED,
|
||||
}
|
||||
|
||||
if (virStorageVolDelete (vol, args->flags) == -1) {
|
||||
@@ -810,7 +763,7 @@ index d53b466..554e75e 100644
|
||||
return -1;
|
||||
}
|
||||
virStorageVolFree(vol);
|
||||
@@ -5054,8 +5062,8 @@ remoteDispatchStorageVolGetInfo (struct qemud_server *server ATTRIBUTE_UNUSED,
|
||||
@@ -4734,8 +4741,8 @@ remoteDispatchStorageVolGetInfo (struct qemud_server *server ATTRIBUTE_UNUSED,
|
||||
}
|
||||
|
||||
if (virStorageVolGetInfo (vol, &info) == -1) {
|
||||
@@ -820,7 +773,7 @@ index d53b466..554e75e 100644
|
||||
return -1;
|
||||
}
|
||||
|
||||
@@ -5088,8 +5096,8 @@ remoteDispatchStorageVolDumpXml (struct qemud_server *server ATTRIBUTE_UNUSED,
|
||||
@@ -4768,8 +4775,8 @@ remoteDispatchStorageVolDumpXml (struct qemud_server *server ATTRIBUTE_UNUSED,
|
||||
/* remoteDispatchClientRequest will free this. */
|
||||
ret->xml = virStorageVolGetXMLDesc (vol, args->flags);
|
||||
if (!ret->xml) {
|
||||
@@ -830,7 +783,7 @@ index d53b466..554e75e 100644
|
||||
return -1;
|
||||
}
|
||||
virStorageVolFree(vol);
|
||||
@@ -5117,8 +5125,8 @@ remoteDispatchStorageVolGetPath (struct qemud_server *server ATTRIBUTE_UNUSED,
|
||||
@@ -4797,8 +4804,8 @@ remoteDispatchStorageVolGetPath (struct qemud_server *server ATTRIBUTE_UNUSED,
|
||||
/* remoteDispatchClientRequest will free this. */
|
||||
ret->name = virStorageVolGetPath (vol);
|
||||
if (!ret->name) {
|
||||
@@ -840,7 +793,7 @@ index d53b466..554e75e 100644
|
||||
return -1;
|
||||
}
|
||||
virStorageVolFree(vol);
|
||||
@@ -5145,11 +5153,12 @@ remoteDispatchStorageVolLookupByName (struct qemud_server *server ATTRIBUTE_UNUS
|
||||
@@ -4825,11 +4832,12 @@ remoteDispatchStorageVolLookupByName (struct qemud_server *server ATTRIBUTE_UNUS
|
||||
}
|
||||
|
||||
vol = virStorageVolLookupByName (pool, args->name);
|
||||
@@ -854,7 +807,7 @@ index d53b466..554e75e 100644
|
||||
|
||||
make_nonnull_storage_vol (&ret->vol, vol);
|
||||
virStorageVolFree(vol);
|
||||
@@ -5386,8 +5395,8 @@ remoteDispatchNodeDeviceNumOfCaps (struct qemud_server *server ATTRIBUTE_UNUSED,
|
||||
@@ -5066,8 +5074,8 @@ remoteDispatchNodeDeviceNumOfCaps (struct qemud_server *server ATTRIBUTE_UNUSED,
|
||||
|
||||
ret->num = virNodeDeviceNumOfCaps(dev);
|
||||
if (ret->num < 0) {
|
||||
@@ -864,7 +817,7 @@ index d53b466..554e75e 100644
|
||||
return -1;
|
||||
}
|
||||
|
||||
@@ -5432,8 +5441,8 @@ remoteDispatchNodeDeviceListCaps (struct qemud_server *server ATTRIBUTE_UNUSED,
|
||||
@@ -5112,8 +5120,8 @@ remoteDispatchNodeDeviceListCaps (struct qemud_server *server ATTRIBUTE_UNUSED,
|
||||
virNodeDeviceListCaps (dev, ret->names.names_val,
|
||||
args->maxnames);
|
||||
if (ret->names.names_len == -1) {
|
||||
@@ -874,7 +827,7 @@ index d53b466..554e75e 100644
|
||||
VIR_FREE(ret->names.names_val);
|
||||
return -1;
|
||||
}
|
||||
@@ -5462,8 +5471,8 @@ remoteDispatchNodeDeviceDettach (struct qemud_server *server ATTRIBUTE_UNUSED,
|
||||
@@ -5142,8 +5150,8 @@ remoteDispatchNodeDeviceDettach (struct qemud_server *server ATTRIBUTE_UNUSED,
|
||||
}
|
||||
|
||||
if (virNodeDeviceDettach(dev) == -1) {
|
||||
@@ -884,7 +837,7 @@ index d53b466..554e75e 100644
|
||||
return -1;
|
||||
}
|
||||
|
||||
@@ -5491,8 +5500,8 @@ remoteDispatchNodeDeviceReAttach (struct qemud_server *server ATTRIBUTE_UNUSED,
|
||||
@@ -5171,8 +5179,8 @@ remoteDispatchNodeDeviceReAttach (struct qemud_server *server ATTRIBUTE_UNUSED,
|
||||
}
|
||||
|
||||
if (virNodeDeviceReAttach(dev) == -1) {
|
||||
@@ -894,7 +847,7 @@ index d53b466..554e75e 100644
|
||||
return -1;
|
||||
}
|
||||
|
||||
@@ -5520,8 +5529,8 @@ remoteDispatchNodeDeviceReset (struct qemud_server *server ATTRIBUTE_UNUSED,
|
||||
@@ -5200,8 +5208,8 @@ remoteDispatchNodeDeviceReset (struct qemud_server *server ATTRIBUTE_UNUSED,
|
||||
}
|
||||
|
||||
if (virNodeDeviceReset(dev) == -1) {
|
||||
@@ -904,7 +857,7 @@ index d53b466..554e75e 100644
|
||||
return -1;
|
||||
}
|
||||
|
||||
@@ -5572,8 +5581,8 @@ remoteDispatchNodeDeviceDestroy(struct qemud_server *server ATTRIBUTE_UNUSED,
|
||||
@@ -5252,8 +5260,8 @@ remoteDispatchNodeDeviceDestroy(struct qemud_server *server ATTRIBUTE_UNUSED,
|
||||
}
|
||||
|
||||
if (virNodeDeviceDestroy(dev) == -1) {
|
||||
@@ -914,7 +867,7 @@ index d53b466..554e75e 100644
|
||||
return -1;
|
||||
}
|
||||
|
||||
@@ -5953,8 +5962,8 @@ static int remoteDispatchDomainIsActive(struct qemud_server *server ATTRIBUTE_UN
|
||||
@@ -5631,8 +5639,8 @@ static int remoteDispatchDomainIsActive(struct qemud_server *server ATTRIBUTE_UN
|
||||
ret->active = virDomainIsActive(domain);
|
||||
|
||||
if (ret->active < 0) {
|
||||
@@ -924,7 +877,7 @@ index d53b466..554e75e 100644
|
||||
return -1;
|
||||
}
|
||||
|
||||
@@ -5981,8 +5990,8 @@ static int remoteDispatchDomainIsPersistent(struct qemud_server *server ATTRIBUT
|
||||
@@ -5659,8 +5667,8 @@ static int remoteDispatchDomainIsPersistent(struct qemud_server *server ATTRIBUT
|
||||
ret->persistent = virDomainIsPersistent(domain);
|
||||
|
||||
if (ret->persistent < 0) {
|
||||
@@ -934,17 +887,7 @@ index d53b466..554e75e 100644
|
||||
return -1;
|
||||
}
|
||||
|
||||
@@ -6009,8 +6018,8 @@ static int remoteDispatchDomainIsUpdated(struct qemud_server *server ATTRIBUTE_U
|
||||
ret->updated = virDomainIsUpdated(domain);
|
||||
|
||||
if (ret->updated < 0) {
|
||||
- virDomainFree(domain);
|
||||
remoteDispatchConnError(err, conn);
|
||||
+ virDomainFree(domain);
|
||||
return -1;
|
||||
}
|
||||
|
||||
@@ -6037,8 +6046,8 @@ static int remoteDispatchInterfaceIsActive(struct qemud_server *server ATTRIBUTE
|
||||
@@ -5687,8 +5695,8 @@ static int remoteDispatchInterfaceIsActive(struct qemud_server *server ATTRIBUTE
|
||||
ret->active = virInterfaceIsActive(iface);
|
||||
|
||||
if (ret->active < 0) {
|
||||
@@ -954,7 +897,7 @@ index d53b466..554e75e 100644
|
||||
return -1;
|
||||
}
|
||||
|
||||
@@ -6065,8 +6074,8 @@ static int remoteDispatchNetworkIsActive(struct qemud_server *server ATTRIBUTE_U
|
||||
@@ -5715,8 +5723,8 @@ static int remoteDispatchNetworkIsActive(struct qemud_server *server ATTRIBUTE_U
|
||||
ret->active = virNetworkIsActive(network);
|
||||
|
||||
if (ret->active < 0) {
|
||||
@@ -964,7 +907,7 @@ index d53b466..554e75e 100644
|
||||
return -1;
|
||||
}
|
||||
|
||||
@@ -6093,8 +6102,8 @@ static int remoteDispatchNetworkIsPersistent(struct qemud_server *server ATTRIBU
|
||||
@@ -5743,8 +5751,8 @@ static int remoteDispatchNetworkIsPersistent(struct qemud_server *server ATTRIBU
|
||||
ret->persistent = virNetworkIsPersistent(network);
|
||||
|
||||
if (ret->persistent < 0) {
|
||||
@@ -974,7 +917,7 @@ index d53b466..554e75e 100644
|
||||
return -1;
|
||||
}
|
||||
|
||||
@@ -6121,8 +6130,8 @@ static int remoteDispatchStoragePoolIsActive(struct qemud_server *server ATTRIBU
|
||||
@@ -5771,8 +5779,8 @@ static int remoteDispatchStoragePoolIsActive(struct qemud_server *server ATTRIBU
|
||||
ret->active = virStoragePoolIsActive(pool);
|
||||
|
||||
if (ret->active < 0) {
|
||||
@@ -984,7 +927,7 @@ index d53b466..554e75e 100644
|
||||
return -1;
|
||||
}
|
||||
|
||||
@@ -6149,8 +6158,8 @@ static int remoteDispatchStoragePoolIsPersistent(struct qemud_server *server ATT
|
||||
@@ -5799,8 +5807,8 @@ static int remoteDispatchStoragePoolIsPersistent(struct qemud_server *server ATT
|
||||
ret->persistent = virStoragePoolIsPersistent(pool);
|
||||
|
||||
if (ret->persistent < 0) {
|
||||
@@ -994,7 +937,7 @@ index d53b466..554e75e 100644
|
||||
return -1;
|
||||
}
|
||||
|
||||
@@ -6245,8 +6254,8 @@ remoteDispatchDomainGetJobInfo (struct qemud_server *server ATTRIBUTE_UNUSED,
|
||||
@@ -5895,8 +5903,8 @@ remoteDispatchDomainGetJobInfo (struct qemud_server *server ATTRIBUTE_UNUSED,
|
||||
}
|
||||
|
||||
if (virDomainGetJobInfo (dom, &info) == -1) {
|
||||
@@ -1004,7 +947,7 @@ index d53b466..554e75e 100644
|
||||
return -1;
|
||||
}
|
||||
|
||||
@@ -6287,8 +6296,8 @@ remoteDispatchDomainAbortJob (struct qemud_server *server ATTRIBUTE_UNUSED,
|
||||
@@ -5937,8 +5945,8 @@ remoteDispatchDomainAbortJob (struct qemud_server *server ATTRIBUTE_UNUSED,
|
||||
}
|
||||
|
||||
if (virDomainAbortJob (dom) == -1) {
|
||||
@@ -1014,7 +957,7 @@ index d53b466..554e75e 100644
|
||||
return -1;
|
||||
}
|
||||
|
||||
@@ -6316,8 +6325,8 @@ remoteDispatchDomainMigrateSetMaxDowntime(struct qemud_server *server ATTRIBUTE_
|
||||
@@ -5966,8 +5974,8 @@ remoteDispatchDomainMigrateSetMaxDowntime(struct qemud_server *server ATTRIBUTE_
|
||||
}
|
||||
|
||||
if (virDomainMigrateSetMaxDowntime(dom, args->downtime, args->flags) == -1) {
|
||||
@@ -1024,7 +967,7 @@ index d53b466..554e75e 100644
|
||||
return -1;
|
||||
}
|
||||
|
||||
@@ -6346,8 +6355,8 @@ remoteDispatchDomainSnapshotCreateXml (struct qemud_server *server ATTRIBUTE_UNU
|
||||
@@ -5996,8 +6004,8 @@ remoteDispatchDomainSnapshotCreateXml (struct qemud_server *server ATTRIBUTE_UNU
|
||||
|
||||
snapshot = virDomainSnapshotCreateXML(domain, args->xml_desc, args->flags);
|
||||
if (snapshot == NULL) {
|
||||
@@ -1034,7 +977,7 @@ index d53b466..554e75e 100644
|
||||
return -1;
|
||||
}
|
||||
|
||||
@@ -6388,12 +6397,12 @@ remoteDispatchDomainSnapshotDumpXml (struct qemud_server *server ATTRIBUTE_UNUSE
|
||||
@@ -6038,12 +6046,12 @@ remoteDispatchDomainSnapshotDumpXml (struct qemud_server *server ATTRIBUTE_UNUSE
|
||||
rc = 0;
|
||||
|
||||
cleanup:
|
||||
@@ -1049,7 +992,7 @@ index d53b466..554e75e 100644
|
||||
|
||||
return rc;
|
||||
}
|
||||
@@ -6417,8 +6426,8 @@ remoteDispatchDomainSnapshotNum (struct qemud_server *server ATTRIBUTE_UNUSED,
|
||||
@@ -6067,8 +6075,8 @@ remoteDispatchDomainSnapshotNum (struct qemud_server *server ATTRIBUTE_UNUSED,
|
||||
|
||||
ret->num = virDomainSnapshotNum(domain, args->flags);
|
||||
if (ret->num == -1) {
|
||||
@@ -1059,7 +1002,7 @@ index d53b466..554e75e 100644
|
||||
return -1;
|
||||
}
|
||||
|
||||
@@ -6462,9 +6471,9 @@ remoteDispatchDomainSnapshotListNames (struct qemud_server *server ATTRIBUTE_UNU
|
||||
@@ -6112,9 +6120,9 @@ remoteDispatchDomainSnapshotListNames (struct qemud_server *server ATTRIBUTE_UNU
|
||||
args->nameslen,
|
||||
args->flags);
|
||||
if (ret->names.names_len == -1) {
|
||||
@@ -1070,7 +1013,7 @@ index d53b466..554e75e 100644
|
||||
return -1;
|
||||
}
|
||||
|
||||
@@ -6493,8 +6502,8 @@ remoteDispatchDomainSnapshotLookupByName (struct qemud_server *server ATTRIBUTE_
|
||||
@@ -6143,8 +6151,8 @@ remoteDispatchDomainSnapshotLookupByName (struct qemud_server *server ATTRIBUTE_
|
||||
|
||||
snapshot = virDomainSnapshotLookupByName(domain, args->name, args->flags);
|
||||
if (snapshot == NULL) {
|
||||
@@ -1080,7 +1023,7 @@ index d53b466..554e75e 100644
|
||||
return -1;
|
||||
}
|
||||
|
||||
@@ -6526,8 +6535,8 @@ remoteDispatchDomainHasCurrentSnapshot(struct qemud_server *server ATTRIBUTE_UNU
|
||||
@@ -6176,8 +6184,8 @@ remoteDispatchDomainHasCurrentSnapshot(struct qemud_server *server ATTRIBUTE_UNU
|
||||
|
||||
result = virDomainHasCurrentSnapshot(domain, args->flags);
|
||||
if (result < 0) {
|
||||
@@ -1090,7 +1033,7 @@ index d53b466..554e75e 100644
|
||||
return -1;
|
||||
}
|
||||
|
||||
@@ -6558,8 +6567,8 @@ remoteDispatchDomainSnapshotCurrent(struct qemud_server *server ATTRIBUTE_UNUSED
|
||||
@@ -6208,8 +6216,8 @@ remoteDispatchDomainSnapshotCurrent(struct qemud_server *server ATTRIBUTE_UNUSED
|
||||
|
||||
snapshot = virDomainSnapshotCurrent(domain, args->flags);
|
||||
if (snapshot == NULL) {
|
||||
@@ -1100,7 +1043,7 @@ index d53b466..554e75e 100644
|
||||
return -1;
|
||||
}
|
||||
|
||||
@@ -6598,12 +6607,12 @@ remoteDispatchDomainRevertToSnapshot (struct qemud_server *server ATTRIBUTE_UNUS
|
||||
@@ -6248,12 +6256,12 @@ remoteDispatchDomainRevertToSnapshot (struct qemud_server *server ATTRIBUTE_UNUS
|
||||
rc = 0;
|
||||
|
||||
cleanup:
|
||||
@@ -1115,7 +1058,7 @@ index d53b466..554e75e 100644
|
||||
|
||||
return rc;
|
||||
}
|
||||
@@ -6635,12 +6644,12 @@ remoteDispatchDomainSnapshotDelete (struct qemud_server *server ATTRIBUTE_UNUSED
|
||||
@@ -6285,12 +6293,12 @@ remoteDispatchDomainSnapshotDelete (struct qemud_server *server ATTRIBUTE_UNUSED
|
||||
rc = 0;
|
||||
|
||||
cleanup:
|
||||
@@ -1130,7 +1073,7 @@ index d53b466..554e75e 100644
|
||||
|
||||
return rc;
|
||||
}
|
||||
@@ -6805,8 +6814,8 @@ remoteDispatchNwfilterUndefine (struct qemud_server *server ATTRIBUTE_UNUSED,
|
||||
@@ -6455,8 +6463,8 @@ remoteDispatchNwfilterUndefine (struct qemud_server *server ATTRIBUTE_UNUSED,
|
||||
}
|
||||
|
||||
if (virNWFilterUndefine (nwfilter) == -1) {
|
||||
@@ -1140,7 +1083,7 @@ index d53b466..554e75e 100644
|
||||
return -1;
|
||||
}
|
||||
virNWFilterFree(nwfilter);
|
||||
@@ -6868,8 +6877,8 @@ remoteDispatchNwfilterGetXmlDesc (struct qemud_server *server ATTRIBUTE_UNUSED,
|
||||
@@ -6518,8 +6526,8 @@ remoteDispatchNwfilterGetXmlDesc (struct qemud_server *server ATTRIBUTE_UNUSED,
|
||||
/* remoteDispatchClientRequest will free this. */
|
||||
ret->xml = virNWFilterGetXMLDesc (nwfilter, args->flags);
|
||||
if (!ret->xml) {
|
||||
@@ -1150,7 +1093,7 @@ index d53b466..554e75e 100644
|
||||
return -1;
|
||||
}
|
||||
virNWFilterFree(nwfilter);
|
||||
@@ -6916,8 +6925,8 @@ remoteDispatchDomainGetBlockInfo (struct qemud_server *server ATTRIBUTE_UNUSED,
|
||||
@@ -6566,8 +6574,8 @@ remoteDispatchDomainGetBlockInfo (struct qemud_server *server ATTRIBUTE_UNUSED,
|
||||
}
|
||||
|
||||
if (virDomainGetBlockInfo (dom, args->path, &info, args->flags) == -1) {
|
||||
@@ -1160,7 +1103,7 @@ index d53b466..554e75e 100644
|
||||
return -1;
|
||||
}
|
||||
|
||||
@@ -6949,8 +6958,8 @@ qemuDispatchMonitorCommand (struct qemud_server *server ATTRIBUTE_UNUSED,
|
||||
@@ -6599,8 +6607,8 @@ qemuDispatchMonitorCommand (struct qemud_server *server ATTRIBUTE_UNUSED,
|
||||
|
||||
if (virDomainQemuMonitorCommand(domain, args->cmd, &ret->result,
|
||||
args->flags) == -1) {
|
||||
@@ -1170,24 +1113,6 @@ index d53b466..554e75e 100644
|
||||
return -1;
|
||||
}
|
||||
|
||||
@@ -6993,15 +7002,15 @@ remoteDispatchDomainOpenConsole(struct qemud_server *server ATTRIBUTE_UNUSED,
|
||||
stream->st,
|
||||
args->flags);
|
||||
if (r == -1) {
|
||||
+ remoteDispatchConnError(rerr, conn);
|
||||
virDomainFree(dom);
|
||||
remoteFreeClientStream(client, stream);
|
||||
- remoteDispatchConnError(rerr, conn);
|
||||
return -1;
|
||||
}
|
||||
|
||||
if (remoteAddClientStream(client, stream, 1) < 0) {
|
||||
- virDomainFree(dom);
|
||||
remoteDispatchConnError(rerr, conn);
|
||||
+ virDomainFree(dom);
|
||||
virStreamAbort(stream->st);
|
||||
remoteFreeClientStream(client, stream);
|
||||
return -1;
|
||||
--
|
||||
1.7.3.4
|
||||
|
||||
@@ -1,40 +0,0 @@
|
||||
From e03899ff772cb753f02ecc99c81776a95c8e3d59 Mon Sep 17 00:00:00 2001
|
||||
From: Osier Yang <jyang@redhat.com>
|
||||
Date: Fri, 18 Feb 2011 13:45:13 +0800
|
||||
Subject: [PATCH 2/6] Requires gettext for client package
|
||||
|
||||
https://bugzilla.redhat.com/show_bug.cgi?id=680270
|
||||
libvirt-client is missing some dependencies
|
||||
|
||||
libvirt-guests invokes functions in gettext.sh, so we need to
|
||||
require gettext package in spec file.
|
||||
|
||||
Demo with the fix:
|
||||
% rpm -q gettext
|
||||
package gettext is not installed
|
||||
|
||||
% rpm -ivh libvirt-client-0.8.8-1.fc14.x86_64.rpm
|
||||
error: Failed dependencies:
|
||||
gettext is needed by libvirt-client-0.8.8-1.fc14.x86_64
|
||||
|
||||
* libvirt.spec.in
|
||||
---
|
||||
libvirt.spec.in | 2 ++
|
||||
1 files changed, 2 insertions(+), 0 deletions(-)
|
||||
|
||||
diff --git a/libvirt.spec.in b/libvirt.spec.in
|
||||
index d4208e8..c08b186 100644
|
||||
--- a/libvirt.spec.in
|
||||
+++ b/libvirt.spec.in
|
||||
@@ -415,6 +415,8 @@ Requires: ncurses
|
||||
# So remote clients can access libvirt over SSH tunnel
|
||||
# (client invokes 'nc' against the UNIX socket on the server)
|
||||
Requires: nc
|
||||
+# Needed by libvirt-guests init script.
|
||||
+Requires: gettext
|
||||
%if %{with_sasl}
|
||||
Requires: cyrus-sasl
|
||||
# Not technically required, but makes 'out-of-box' config
|
||||
--
|
||||
1.7.3.4
|
||||
|
||||
@@ -1,30 +0,0 @@
|
||||
From 29680e00f67bad9145387022ea0d3c307465d3dc Mon Sep 17 00:00:00 2001
|
||||
From: Eric Blake <eblake@redhat.com>
|
||||
Date: Mon, 21 Feb 2011 10:43:29 -0700
|
||||
Subject: [PATCH 4/6] build: add dependency on gnutls-utils
|
||||
|
||||
https://bugzilla.redhat.com/show_bug.cgi?id=680270
|
||||
libvirt-client is missing some dependencies
|
||||
|
||||
* libvirt.spec.in (Requires): Add gnutls-utils, for virt-pki-validate.
|
||||
Suggested by Daniel P. Berrange.
|
||||
---
|
||||
libvirt.spec.in | 2 ++
|
||||
1 files changed, 2 insertions(+), 0 deletions(-)
|
||||
|
||||
diff --git a/libvirt.spec.in b/libvirt.spec.in
|
||||
index c08b186..23f4525 100644
|
||||
--- a/libvirt.spec.in
|
||||
+++ b/libvirt.spec.in
|
||||
@@ -417,6 +417,8 @@ Requires: ncurses
|
||||
Requires: nc
|
||||
# Needed by libvirt-guests init script.
|
||||
Requires: gettext
|
||||
+# Needed by virt-pki-validate script.
|
||||
+Requires: gnutls-utils
|
||||
%if %{with_sasl}
|
||||
Requires: cyrus-sasl
|
||||
# Not technically required, but makes 'out-of-box' config
|
||||
--
|
||||
1.7.3.4
|
||||
|
||||
@@ -1,27 +0,0 @@
|
||||
commit efc2594b4e0cbcdd6947fafeeed41accd5b611e0
|
||||
Author: Jim Fehlig <jfehlig@novell.com>
|
||||
Date: Thu Feb 17 14:22:55 2011 -0700
|
||||
|
||||
Do not add drive 'boot=on' param when a kernel is specified
|
||||
|
||||
libvirt-tck was failing several domain tests [1] with qemu 0.14, which
|
||||
is now less tolerable of specifying 2 bootroms with the same boot index [2].
|
||||
|
||||
Drop the 'boot=on' param if kernel has been specfied.
|
||||
|
||||
[1] https://www.redhat.com/archives/libvir-list/2011-February/msg00559.html
|
||||
[2] http://lists.nongnu.org/archive/html/qemu-devel/2011-02/msg01892.html
|
||||
|
||||
diff --git a/src/qemu/qemu_command.c b/src/qemu/qemu_command.c
|
||||
index 371a7ed..0db2843 100644
|
||||
--- a/src/qemu/qemu_command.c
|
||||
+++ b/src/qemu/qemu_command.c
|
||||
@@ -3173,7 +3173,7 @@ qemuBuildCommandLine(virConnectPtr conn,
|
||||
int bootCD = 0, bootFloppy = 0, bootDisk = 0;
|
||||
|
||||
/* If QEMU supports boot=on for -drive param... */
|
||||
- if (qemuCmdFlags & QEMUD_CMD_FLAG_DRIVE_BOOT) {
|
||||
+ if (qemuCmdFlags & QEMUD_CMD_FLAG_DRIVE_BOOT && !def->os.kernel) {
|
||||
for (i = 0 ; i < def->os.nBootDevs ; i++) {
|
||||
switch (def->os.bootDevs[i]) {
|
||||
case VIR_DOMAIN_BOOT_CDROM:
|
||||
@@ -1,32 +0,0 @@
|
||||
From 12509c09a55bd2ab171f9fa029fb94f297adc0a0 Mon Sep 17 00:00:00 2001
|
||||
From: Daniel P. Berrange <berrange@redhat.com>
|
||||
Date: Thu, 24 Feb 2011 12:12:27 +0000
|
||||
Subject: [PATCH] Make commandtest more robust wrt its execution environment
|
||||
|
||||
When executed from cron, commandtest would fail to correctly
|
||||
identify daemon processes. Set session ID and process group
|
||||
IDs at startup to ensure we have a consistent environment to
|
||||
run in.
|
||||
|
||||
* tests/commandtest.c: Call setsid() and setpgid()
|
||||
---
|
||||
tests/commandtest.c | 3 +++
|
||||
1 files changed, 3 insertions(+), 0 deletions(-)
|
||||
|
||||
diff --git a/tests/commandtest.c b/tests/commandtest.c
|
||||
index 7157c51..dc2f8a1 100644
|
||||
--- a/tests/commandtest.c
|
||||
+++ b/tests/commandtest.c
|
||||
@@ -730,6 +730,9 @@ mymain(int argc, char **argv)
|
||||
if (chdir("/tmp") < 0)
|
||||
return(EXIT_FAILURE);
|
||||
|
||||
+ setpgid(0, 0);
|
||||
+ setsid();
|
||||
+
|
||||
/* Kill off any inherited fds that might interfere with our
|
||||
* testing. */
|
||||
fd = 3;
|
||||
--
|
||||
1.7.3.4
|
||||
|
||||
@@ -1,99 +0,0 @@
|
||||
From 775581ead9c0b6435e8a0dad2a6838909638e7b6 Mon Sep 17 00:00:00 2001
|
||||
From: Eric Blake <eblake@redhat.com>
|
||||
Date: Wed, 23 Mar 2011 10:30:49 -0600
|
||||
Subject: [PATCH 5/6] rpm: add missing dependencies
|
||||
|
||||
manually adapted from upstream 206fc979b1656722b254e683d89b3e9fc4480c63
|
||||
|
||||
Among others, the missing radvd dependency showed up as:
|
||||
|
||||
error: Failed to start network ipv6net
|
||||
error: Cannot find radvd - Possibly the package isn't installed: No such file
|
||||
or directory
|
||||
|
||||
even when radvd was installed, because the RADVD preprocessor
|
||||
symbol was missing at configure time.
|
||||
|
||||
* libvirt.spec.in (with_network): Add Build and BuildRequires for radvd
|
||||
(BuildRequires): Add libxslt and augeas for docs and test.
|
||||
(with_libvirtd): Add module-init-tools for modprobe.
|
||||
(with_nwfilter): Add BuildRequires for ebtables.
|
||||
---
|
||||
libvirt.spec.in | 26 ++++++++++++++++++++++++--
|
||||
1 files changed, 24 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/libvirt.spec.in b/libvirt.spec.in
|
||||
index 23f4525..8ffb757 100644
|
||||
--- a/libvirt.spec.in
|
||||
+++ b/libvirt.spec.in
|
||||
@@ -219,15 +219,21 @@ Requires: %{name}-client = %{version}-%{release}
|
||||
# daemon is present
|
||||
%if %{with_libvirtd}
|
||||
Requires: bridge-utils
|
||||
+# for modprobe of pci devices
|
||||
+Requires: module-init-tools
|
||||
+# for /sbin/ip
|
||||
+Requires: iproute
|
||||
%endif
|
||||
%if %{with_network}
|
||||
Requires: dnsmasq >= 2.41
|
||||
+Requires: radvd
|
||||
+%endif
|
||||
+%if %{with_network} || %{with_nwfilter}
|
||||
Requires: iptables
|
||||
+Requires: iptables-ipv6
|
||||
%endif
|
||||
%if %{with_nwfilter}
|
||||
Requires: ebtables
|
||||
-Requires: iptables
|
||||
-Requires: iptables-ipv6
|
||||
%endif
|
||||
# needed for device enumeration
|
||||
%if %{with_hal}
|
||||
@@ -295,10 +301,15 @@ BuildRequires: xmlrpc-c-devel >= 1.14.0
|
||||
%endif
|
||||
BuildRequires: libxml2-devel
|
||||
BuildRequires: xhtml1-dtds
|
||||
+BuildRequires: libxslt
|
||||
BuildRequires: readline-devel
|
||||
BuildRequires: ncurses-devel
|
||||
BuildRequires: gettext
|
||||
BuildRequires: gnutls-devel
|
||||
+%if 0%{?fedora} >= 12 || 0%{?rhel} >= 6
|
||||
+# for augparse, optionally used in testing
|
||||
+BuildRequires: augeas
|
||||
+%endif
|
||||
%if %{with_hal}
|
||||
BuildRequires: hal-devel
|
||||
%endif
|
||||
@@ -323,8 +334,15 @@ BuildRequires: libselinux-devel
|
||||
%endif
|
||||
%if %{with_network}
|
||||
BuildRequires: dnsmasq >= 2.41
|
||||
+BuildRequires: iptables
|
||||
+BuildRequires: iptables-ipv6
|
||||
+BuildRequires: radvd
|
||||
+%endif
|
||||
+%if %{with_nwfilter}
|
||||
+BuildRequires: ebtables
|
||||
%endif
|
||||
BuildRequires: bridge-utils
|
||||
+BuildRequires: module-init-tools
|
||||
%if %{with_sasl}
|
||||
BuildRequires: cyrus-sasl-devel
|
||||
%endif
|
||||
@@ -388,7 +406,11 @@ BuildRequires: libssh2-devel
|
||||
BuildRequires: netcf-devel >= 0.1.4
|
||||
%endif
|
||||
%if %{with_esx}
|
||||
+%if 0%{?fedora} >= 9 || 0%{?rhel} >= 6
|
||||
BuildRequires: libcurl-devel
|
||||
+%else
|
||||
+BuildRequires: curl-devel
|
||||
+%endif
|
||||
%endif
|
||||
%if %{with_audit}
|
||||
BuildRequires: audit-libs-devel
|
||||
--
|
||||
1.7.3.4
|
||||
|
||||
@@ -1,40 +0,0 @@
|
||||
From c2d77ade37ee917ca258cb24ffb130fc07bb95b4 Mon Sep 17 00:00:00 2001
|
||||
From: Eric Blake <eblake@redhat.com>
|
||||
Date: Thu, 26 May 2011 08:18:46 -0600
|
||||
Subject: [PATCH 1/6] security: plug regression introduced in disk probe logic
|
||||
|
||||
This patch resolves:
|
||||
|
||||
https://bugzilla.redhat.com/show_bug.cgi?id=709775
|
||||
CVE-2011-2178 - regression introduced in disk probe logic
|
||||
|
||||
Regression introduced in commit d6623003 (v0.8.8) - using the
|
||||
wrong sizeof operand meant that security manager private data
|
||||
was overlaying the allowDiskFormatProbing member of struct
|
||||
_virSecurityManager. This reopens disk probing, which was
|
||||
supposed to be prevented by the solution to CVE-2010-2238.
|
||||
|
||||
* src/security/security_manager.c
|
||||
(virSecurityManagerGetPrivateData): Use correct offset.
|
||||
---
|
||||
src/security/security_manager.c | 4 +++-
|
||||
1 files changed, 3 insertions(+), 1 deletions(-)
|
||||
|
||||
diff --git a/src/security/security_manager.c b/src/security/security_manager.c
|
||||
index 0246dd8..6f0becd 100644
|
||||
--- a/src/security/security_manager.c
|
||||
+++ b/src/security/security_manager.c
|
||||
@@ -107,7 +107,9 @@ virSecurityManagerPtr virSecurityManagerNew(const char *name,
|
||||
|
||||
void *virSecurityManagerGetPrivateData(virSecurityManagerPtr mgr)
|
||||
{
|
||||
- return ((char*)mgr) + sizeof(mgr);
|
||||
+ /* This accesses the memory just beyond mgr, which was allocated
|
||||
+ * via VIR_ALLOC_VAR earlier. */
|
||||
+ return mgr + 1;
|
||||
}
|
||||
|
||||
|
||||
--
|
||||
1.7.3.4
|
||||
|
||||
@@ -1,27 +0,0 @@
|
||||
From 9679cde15cabf95c7538c3b6929893ec68552d23 Mon Sep 17 00:00:00 2001
|
||||
From: Dan Kenigsberg <danken@redhat.com>
|
||||
Date: Sun, 20 Feb 2011 22:29:25 +0200
|
||||
Subject: [PATCH 3/6] virt-pki-validate: behave when CERTTOOL is missing
|
||||
|
||||
https://bugzilla.redhat.com/show_bug.cgi?id=680270
|
||||
libvirt-client is missing some dependencies
|
||||
---
|
||||
tools/virt-pki-validate.in | 2 +-
|
||||
1 files changed, 1 insertions(+), 1 deletions(-)
|
||||
|
||||
diff --git a/tools/virt-pki-validate.in b/tools/virt-pki-validate.in
|
||||
index 207fa76..96659cf 100755
|
||||
--- a/tools/virt-pki-validate.in
|
||||
+++ b/tools/virt-pki-validate.in
|
||||
@@ -14,7 +14,7 @@ PORT=16514
|
||||
# First get certtool
|
||||
#
|
||||
CERTOOL=`which certtool 2>/dev/null`
|
||||
-if [ ! -x $CERTOOL ]
|
||||
+if [ ! -x "$CERTOOL" ]
|
||||
then
|
||||
echo "Could not locate the certtool program"
|
||||
echo "make sure the gnutls-utils (or gnutls-bin) package is installed"
|
||||
--
|
||||
1.7.3.4
|
||||
|
||||
+69
-196
@@ -31,19 +31,18 @@
|
||||
|
||||
# Then the hypervisor drivers that run on local host
|
||||
%define with_xen 0%{!?_without_xen:%{server_drivers}}
|
||||
%define with_xen_proxy 0%{!?_without_xen_proxy:%{server_drivers}}
|
||||
%define with_qemu 0%{!?_without_qemu:%{server_drivers}}
|
||||
%define with_openvz 0%{!?_without_openvz:%{server_drivers}}
|
||||
%define with_lxc 0%{!?_without_lxc:%{server_drivers}}
|
||||
%define with_vbox 0%{!?_without_vbox:%{server_drivers}}
|
||||
%define with_uml 0%{!?_without_uml:%{server_drivers}}
|
||||
%define with_xenapi 0%{!?_without_xenapi:%{server_drivers}}
|
||||
# XXX this shouldn't be here, but it mistakenly links into libvirtd
|
||||
%define with_one 0%{!?_without_one:%{server_drivers}}
|
||||
|
||||
# Then the hypervisor drivers that talk a native remote protocol
|
||||
%define with_phyp 0%{!?_without_phyp:1}
|
||||
%define with_esx 0%{!?_without_esx:1}
|
||||
%define with_vmware 0%{!?_without_vmware:1}
|
||||
|
||||
# Then the secondary host drivers
|
||||
%define with_network 0%{!?_without_network:%{server_drivers}}
|
||||
@@ -65,10 +64,6 @@
|
||||
%define with_nwfilter 0%{!?_without_nwfilter:0}
|
||||
%define with_libpcap 0%{!?_without_libpcap:0}
|
||||
%define with_macvtap 0%{!?_without_macvtap:0}
|
||||
%define with_libnl 0%{!?_without_libnl:0}
|
||||
%define with_audit 0%{!?_without_audit:0}
|
||||
%define with_dtrace 0%{!?_without_dtrace:0}
|
||||
%define with_cgconfig 0%{!?_without_cgconfig:0}
|
||||
|
||||
# Non-server/HV driver defaults which are always enabled
|
||||
%define with_python 0%{!?_without_python:1}
|
||||
@@ -82,21 +77,19 @@
|
||||
%define with_xen 0
|
||||
%endif
|
||||
|
||||
# Numactl is not available on s390[x] and ARM
|
||||
# Numactl is not available on s390[x] or ARM
|
||||
%ifarch s390 s390x %{arm}
|
||||
%define with_numactl 0
|
||||
%endif
|
||||
|
||||
# RHEL doesn't ship OpenVZ, VBox, UML, OpenNebula, PowerHypervisor,
|
||||
# VMWare, or libxenserver (xenapi)
|
||||
# RHEL doesn't ship OpenVZ, VBox, UML, OpenNebula, PowerHypervisor or ESX
|
||||
%if 0%{?rhel}
|
||||
%define with_openvz 0
|
||||
%define with_vbox 0
|
||||
%define with_uml 0
|
||||
%define with_one 0
|
||||
%define with_phyp 0
|
||||
%define with_vmware 0
|
||||
%define with_xenapi 0
|
||||
%define with_esx 0
|
||||
%endif
|
||||
|
||||
# RHEL-5 has restricted QEMU to x86_64 only and is too old for LXC
|
||||
@@ -116,6 +109,11 @@
|
||||
%define with_xen 0
|
||||
%endif
|
||||
|
||||
# If Xen isn't turned on, we shouldn't build the xen proxy either
|
||||
%if ! %{with_xen}
|
||||
%define with_xen_proxy 0
|
||||
%endif
|
||||
|
||||
# Fedora doesn't have any QEMU on ppc64 - only ppc
|
||||
%if 0%{?fedora}
|
||||
%ifarch ppc64
|
||||
@@ -123,9 +121,11 @@
|
||||
%endif
|
||||
%endif
|
||||
|
||||
# PolicyKit was introduced in Fedora 8 / RHEL-6 or newer
|
||||
# PolicyKit was introduced in Fedora 8 / RHEL-6 or newer, allowing
|
||||
# the setuid Xen proxy to be killed off
|
||||
%if 0%{?fedora} >= 8 || 0%{?rhel} >= 6
|
||||
%define with_polkit 0%{!?_without_polkit:1}
|
||||
%define with_xen_proxy 0
|
||||
%endif
|
||||
|
||||
# libcapng is used to manage capabilities in Fedora 12 / RHEL-6 or newer
|
||||
@@ -159,21 +159,8 @@
|
||||
|
||||
%if %{with_macvtap}
|
||||
%define with_libnl 1
|
||||
%endif
|
||||
|
||||
%if 0%{?fedora} >= 11 || 0%{?rhel} >= 5
|
||||
%define with_audit 0%{!?_without_audit:1}
|
||||
%endif
|
||||
|
||||
%if 0%{?fedora} >= 13 || 0%{?rhel} >= 6
|
||||
%define with_dtrace 1
|
||||
%endif
|
||||
|
||||
# Pull in cgroups config system
|
||||
%if 0%{?fedora} >= 12 || 0%{?rhel} >= 6
|
||||
%if %{with_qemu} || %{with_lxc}
|
||||
%define with_cgconfig 0%{!?_without_cgconfig:1}
|
||||
%endif
|
||||
%else
|
||||
%define with_libnl 0
|
||||
%endif
|
||||
|
||||
# Force QEMU to run as non-root
|
||||
@@ -195,31 +182,23 @@
|
||||
%endif
|
||||
|
||||
|
||||
# there's no use compiling the network driver without
|
||||
# the libvirt daemon
|
||||
%if ! %{with_libvirtd}
|
||||
%define with_network 0
|
||||
%endif
|
||||
|
||||
Summary: Library providing a simple virtualization API
|
||||
Summary: Library providing a simple API virtualization
|
||||
Name: libvirt
|
||||
Version: 0.8.8
|
||||
Release: 7%{?dist}%{?extra_release}
|
||||
Version: 0.8.3
|
||||
Release: 11%{?dist}%{?extra_release}
|
||||
License: LGPLv2+
|
||||
Group: Development/Libraries
|
||||
Source: http://libvirt.org/sources/libvirt-%{version}.tar.gz
|
||||
Patch1: %{name}-%{version}-kernel-boot-index.patch
|
||||
Patch2: %{name}-%{version}-read-only-checks.patch
|
||||
Patch1: %{name}-%{version}-boot-menu.patch
|
||||
Patch2: %{name}-%{version}-octal-addresses.patch
|
||||
Patch3: %{name}-%{version}-read-only-checks.patch
|
||||
Patch4: %{name}-%{version}-fix-var-lib-libvirt-permissions.patch
|
||||
# Patches 5, 6 CVE-2011-1486
|
||||
Patch3: %{name}-%{version}-threadsafe-libvirtd-error-reporting.patch
|
||||
Patch4: %{name}-%{version}-avoid-resetting-errors.patch
|
||||
Patch5: %{name}-%{version}-security-plug-regression-introduced-in-disk-probe-lo.patch
|
||||
Patch6: %{name}-%{version}-Requires-gettext-for-client-package.patch
|
||||
Patch7: %{name}-%{version}-virt-pki-validate-behave-when-CERTTOOL-is-missing.patch
|
||||
Patch8: %{name}-%{version}-build-add-dependency-on-gnutls-utils.patch
|
||||
Patch9: %{name}-%{version}-rpm-add-missing-dependencies.patch
|
||||
Patch10: %{name}-%{version}-remote-protect-against-integer-overflow.patch
|
||||
Patch11: %{name}-%{version}-make-commandtest-more-robust.patch
|
||||
Patch5: %{name}-%{version}-threadsafe-libvirtd-error-reporting.patch
|
||||
Patch6: %{name}-%{version}-avoid-resetting-errors.patch
|
||||
# Patch 7 CVE-2011-2511
|
||||
Patch7: %{name}-%{version}-remote-protect-against-integer-overflow.patch
|
||||
|
||||
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root
|
||||
URL: http://libvirt.org/
|
||||
BuildRequires: python-devel
|
||||
@@ -231,21 +210,15 @@ Requires: %{name}-client = %{version}-%{release}
|
||||
# daemon is present
|
||||
%if %{with_libvirtd}
|
||||
Requires: bridge-utils
|
||||
# for modprobe of pci devices
|
||||
Requires: module-init-tools
|
||||
# for /sbin/ip
|
||||
Requires: iproute
|
||||
%endif
|
||||
%if %{with_network}
|
||||
Requires: dnsmasq >= 2.41
|
||||
Requires: radvd
|
||||
%endif
|
||||
%if %{with_network} || %{with_nwfilter}
|
||||
Requires: iptables
|
||||
Requires: iptables-ipv6
|
||||
%endif
|
||||
%if %{with_nwfilter}
|
||||
Requires: ebtables
|
||||
Requires: iptables
|
||||
Requires: iptables-ipv6
|
||||
%endif
|
||||
# needed for device enumeration
|
||||
%if %{with_hal}
|
||||
@@ -302,9 +275,6 @@ Requires: parted
|
||||
# For multipath support
|
||||
Requires: device-mapper
|
||||
%endif
|
||||
%if %{with_cgconfig}
|
||||
Requires: libcgroup
|
||||
%endif
|
||||
%if %{with_xen}
|
||||
BuildRequires: xen-devel
|
||||
%endif
|
||||
@@ -313,15 +283,10 @@ BuildRequires: xmlrpc-c-devel >= 1.14.0
|
||||
%endif
|
||||
BuildRequires: libxml2-devel
|
||||
BuildRequires: xhtml1-dtds
|
||||
BuildRequires: libxslt
|
||||
BuildRequires: readline-devel
|
||||
BuildRequires: ncurses-devel
|
||||
BuildRequires: gettext
|
||||
BuildRequires: gnutls-devel
|
||||
%if 0%{?fedora} >= 12 || 0%{?rhel} >= 6
|
||||
# for augparse, optionally used in testing
|
||||
BuildRequires: augeas
|
||||
%endif
|
||||
%if %{with_hal}
|
||||
BuildRequires: hal-devel
|
||||
%endif
|
||||
@@ -346,15 +311,8 @@ BuildRequires: libselinux-devel
|
||||
%endif
|
||||
%if %{with_network}
|
||||
BuildRequires: dnsmasq >= 2.41
|
||||
BuildRequires: iptables
|
||||
BuildRequires: iptables-ipv6
|
||||
BuildRequires: radvd
|
||||
%endif
|
||||
%if %{with_nwfilter}
|
||||
BuildRequires: ebtables
|
||||
%endif
|
||||
BuildRequires: bridge-utils
|
||||
BuildRequires: module-init-tools
|
||||
%if %{with_sasl}
|
||||
BuildRequires: cyrus-sasl-devel
|
||||
%endif
|
||||
@@ -418,20 +376,8 @@ BuildRequires: libssh2-devel
|
||||
BuildRequires: netcf-devel >= 0.1.4
|
||||
%endif
|
||||
%if %{with_esx}
|
||||
%if 0%{?fedora} >= 9 || 0%{?rhel} >= 6
|
||||
BuildRequires: libcurl-devel
|
||||
%else
|
||||
BuildRequires: curl-devel
|
||||
%endif
|
||||
%endif
|
||||
%if %{with_audit}
|
||||
BuildRequires: audit-libs-devel
|
||||
%endif
|
||||
%if %{with_dtrace}
|
||||
# we need /usr/sbin/dtrace
|
||||
BuildRequires: systemtap-sdt-devel
|
||||
%endif
|
||||
|
||||
|
||||
# Fedora build root suckage
|
||||
BuildRequires: gawk
|
||||
@@ -449,10 +395,6 @@ Requires: ncurses
|
||||
# So remote clients can access libvirt over SSH tunnel
|
||||
# (client invokes 'nc' against the UNIX socket on the server)
|
||||
Requires: nc
|
||||
# Needed by libvirt-guests init script.
|
||||
Requires: gettext
|
||||
# Needed by virt-pki-validate script.
|
||||
Requires: gnutls-utils
|
||||
%if %{with_sasl}
|
||||
Requires: cyrus-sasl
|
||||
# Not technically required, but makes 'out-of-box' config
|
||||
@@ -494,15 +436,11 @@ of recent versions of Linux (and other OSes).
|
||||
%setup -q
|
||||
%patch1 -p1
|
||||
%patch2 -p1
|
||||
%patch3 -p1
|
||||
%patch3 -p0
|
||||
%patch4 -p1
|
||||
%patch5 -p1
|
||||
%patch6 -p1
|
||||
%patch7 -p1
|
||||
%patch8 -p1
|
||||
%patch9 -p1
|
||||
%patch10 -p1
|
||||
%patch11 -p1
|
||||
|
||||
%build
|
||||
%if ! %{with_xen}
|
||||
@@ -525,10 +463,6 @@ of recent versions of Linux (and other OSes).
|
||||
%define _without_vbox --without-vbox
|
||||
%endif
|
||||
|
||||
%if ! %{with_xenapi}
|
||||
%define _without_xenapi --without-xenapi
|
||||
%endif
|
||||
|
||||
%if ! %{with_sasl}
|
||||
%define _without_sasl --without-sasl
|
||||
%endif
|
||||
@@ -545,10 +479,6 @@ of recent versions of Linux (and other OSes).
|
||||
%define _without_esx --without-esx
|
||||
%endif
|
||||
|
||||
%if ! %{with_vmware}
|
||||
%define _without_vmware --without-vmware
|
||||
%endif
|
||||
|
||||
%if ! %{with_polkit}
|
||||
%define _without_polkit --without-polkit
|
||||
%endif
|
||||
@@ -633,27 +563,11 @@ of recent versions of Linux (and other OSes).
|
||||
%define _without_macvtap --without-macvtap
|
||||
%endif
|
||||
|
||||
%if ! %{with_audit}
|
||||
%define _without_audit --without-audit
|
||||
%endif
|
||||
|
||||
%if ! %{with_dtrace}
|
||||
%define _without_dtrace --without-dtrace
|
||||
%endif
|
||||
|
||||
%define when %(date +"%%F-%%T")
|
||||
%define where %(hostname)
|
||||
%define who %{?packager}%{!?packager:Unknown}
|
||||
%define with_packager --with-packager="%{who}, %{when}, %{where}"
|
||||
%define with_packager_version --with-packager-version="%{release}"
|
||||
|
||||
|
||||
%configure %{?_without_xen} \
|
||||
%{?_without_qemu} \
|
||||
%{?_without_openvz} \
|
||||
%{?_without_lxc} \
|
||||
%{?_without_vbox} \
|
||||
%{?_without_xenapi} \
|
||||
%{?_without_sasl} \
|
||||
%{?_without_avahi} \
|
||||
%{?_without_polkit} \
|
||||
@@ -663,7 +577,6 @@ of recent versions of Linux (and other OSes).
|
||||
%{?_without_one} \
|
||||
%{?_without_phyp} \
|
||||
%{?_without_esx} \
|
||||
%{?_without_vmware} \
|
||||
%{?_without_network} \
|
||||
%{?_with_rhel5_api} \
|
||||
%{?_without_storage_fs} \
|
||||
@@ -680,10 +593,6 @@ of recent versions of Linux (and other OSes).
|
||||
%{?_without_yajl} \
|
||||
%{?_without_libpcap} \
|
||||
%{?_without_macvtap} \
|
||||
%{?_without_audit} \
|
||||
%{?_without_dtrace} \
|
||||
%{with_packager} \
|
||||
%{with_packager_version} \
|
||||
--with-qemu-user=%{qemu_user} \
|
||||
--with-qemu-group=%{qemu_group} \
|
||||
--with-init-script=redhat \
|
||||
@@ -695,7 +604,7 @@ gzip -9 ChangeLog
|
||||
rm -fr %{buildroot}
|
||||
|
||||
%makeinstall
|
||||
for i in domain-events/events-c dominfo domsuspend hellolibvirt openauth python xml/nwfilter systemtap
|
||||
for i in domain-events/events-c dominfo domsuspend hellolibvirt openauth python xml/nwfilter
|
||||
do
|
||||
(cd examples/$i ; make clean ; rm -rf .deps .libs Makefile Makefile.in)
|
||||
done
|
||||
@@ -741,8 +650,6 @@ rm -rf $RPM_BUILD_ROOT%{_datadir}/doc/libvirt-%{version}
|
||||
|
||||
%if ! %{with_libvirtd}
|
||||
rm -rf $RPM_BUILD_ROOT%{_sysconfdir}/libvirt/nwfilter
|
||||
mv $RPM_BUILD_ROOT%{_datadir}/doc/libvirt-%{version}/html \
|
||||
$RPM_BUILD_ROOT%{_datadir}/doc/libvirt-devel-%{version}/
|
||||
%endif
|
||||
|
||||
%if ! %{with_qemu}
|
||||
@@ -757,6 +664,10 @@ rm -rf $RPM_BUILD_ROOT%{_sysconfdir}/logrotate.d/libvirtd.lxc
|
||||
rm -rf $RPM_BUILD_ROOT%{_sysconfdir}/logrotate.d/libvirtd.uml
|
||||
%endif
|
||||
|
||||
%if %{with_libvirtd}
|
||||
chmod 0644 $RPM_BUILD_ROOT%{_sysconfdir}/sysconfig/libvirtd
|
||||
%endif
|
||||
|
||||
%clean
|
||||
rm -fr %{buildroot}
|
||||
|
||||
@@ -769,6 +680,13 @@ do
|
||||
printf "#!/bin/sh\nexit 0\n" > $i
|
||||
chmod +x $i
|
||||
done
|
||||
# Temp hack till we figure out why its broken on ppc and s390(x)
|
||||
# a big endian issue?
|
||||
%ifarch ppc s390 s390x
|
||||
rm -f nwfilterxml2xmltest
|
||||
printf "#!/bin/sh\nexit 0\n" > nwfilterxml2xmltest
|
||||
chmod +x nwfilterxml2xmltest
|
||||
%endif
|
||||
make check
|
||||
|
||||
%pre
|
||||
@@ -801,12 +719,6 @@ then
|
||||
fi
|
||||
%endif
|
||||
|
||||
%if %{with_cgconfig}
|
||||
if [ "$1" -eq "1" ]; then
|
||||
/sbin/chkconfig cgconfig on
|
||||
fi
|
||||
%endif
|
||||
|
||||
/sbin/chkconfig --add libvirtd
|
||||
if [ "$1" -ge "1" ]; then
|
||||
/sbin/service libvirtd condrestart > /dev/null 2>&1
|
||||
@@ -833,12 +745,9 @@ fi
|
||||
/sbin/ldconfig
|
||||
/sbin/chkconfig --add libvirt-guests
|
||||
if [ $1 -ge 1 ]; then
|
||||
level=$(/sbin/runlevel | /bin/cut -d ' ' -f 2)
|
||||
if /sbin/chkconfig --list libvirt-guests | /bin/grep -q $level:on ; then
|
||||
# this doesn't do anything but allowing for libvirt-guests to be
|
||||
# stopped on the first shutdown
|
||||
/sbin/service libvirt-guests start > /dev/null 2>&1 || true
|
||||
fi
|
||||
# this doesn't do anything but allowing for libvirt-guests to be
|
||||
# stopped on the first shutdown
|
||||
/sbin/service libvirt-guests start > /dev/null 2>&1 || true
|
||||
fi
|
||||
|
||||
%postun client -p /sbin/ldconfig
|
||||
@@ -862,9 +771,6 @@ fi
|
||||
%{_sysconfdir}/rc.d/init.d/libvirtd
|
||||
%config(noreplace) %{_sysconfdir}/sysconfig/libvirtd
|
||||
%config(noreplace) %{_sysconfdir}/libvirt/libvirtd.conf
|
||||
%if %{with_dtrace}
|
||||
%{_datadir}/systemtap/tapsets/libvirtd.stp
|
||||
%endif
|
||||
%dir %attr(0700, root, root) %{_localstatedir}/log/libvirt/qemu/
|
||||
%dir %attr(0700, root, root) %{_localstatedir}/log/libvirt/lxc/
|
||||
%dir %attr(0700, root, root) %{_localstatedir}/log/libvirt/uml/
|
||||
@@ -896,8 +802,8 @@ fi
|
||||
|
||||
%if %{with_qemu}
|
||||
%dir %attr(0700, root, root) %{_localstatedir}/run/libvirt/qemu/
|
||||
%dir %attr(0750, %{qemu_user}, %{qemu_group}) %{_localstatedir}/lib/libvirt/qemu/
|
||||
%dir %attr(0750, %{qemu_user}, %{qemu_group}) %{_localstatedir}/cache/libvirt/qemu/
|
||||
%dir %attr(0700, %{qemu_user}, %{qemu_group}) %{_localstatedir}/lib/libvirt/qemu/
|
||||
%dir %attr(0700, %{qemu_user}, %{qemu_group}) %{_localstatedir}/cache/libvirt/qemu/
|
||||
%endif
|
||||
%if %{with_lxc}
|
||||
%dir %{_localstatedir}/run/libvirt/lxc/
|
||||
@@ -936,6 +842,10 @@ fi
|
||||
|
||||
%dir %attr(0700, root, root) %{_localstatedir}/log/libvirt/
|
||||
|
||||
%if %{with_xen_proxy}
|
||||
%attr(4755, root, root) %{_libexecdir}/libvirt_proxy
|
||||
%endif
|
||||
|
||||
%if %{with_lxc}
|
||||
%attr(0755, root, root) %{_libexecdir}/libvirt_lxc
|
||||
%endif
|
||||
@@ -979,7 +889,7 @@ fi
|
||||
|
||||
%{_sysconfdir}/rc.d/init.d/libvirt-guests
|
||||
%config(noreplace) %{_sysconfdir}/sysconfig/libvirt-guests
|
||||
%dir %attr(0755, root, root) %{_localstatedir}/lib/libvirt/
|
||||
%dir %attr(0755, root, root) %{_localstatedir}/lib/libvirt
|
||||
|
||||
%if %{with_sasl}
|
||||
%config(noreplace) %{_sysconfdir}/sasl2/libvirt.conf
|
||||
@@ -1006,7 +916,6 @@ fi
|
||||
%doc examples/domsuspend
|
||||
%doc examples/openauth
|
||||
%doc examples/xml
|
||||
%doc examples/systemtap
|
||||
|
||||
%if %{with_python}
|
||||
%files python
|
||||
@@ -1022,75 +931,39 @@ fi
|
||||
%endif
|
||||
|
||||
%changelog
|
||||
* Wed Jul 5 2011 Laine Stump <laine@redhat.com> - 0.8.8-7
|
||||
- Make commandtest more robust.
|
||||
* Wed Jul 6 2011 Peter Robinson <pbrobinson@gmail.com> - 0.8.3-11
|
||||
- add ARM to NUMA platform exlcludes
|
||||
|
||||
* Wed Jul 5 2011 Peter Robinson <pbrobinson@gmail.com> - 0.8.8-6
|
||||
- Add ARM to NUMA excludes
|
||||
|
||||
* Tue Jul 5 2011 Laine Stump <laine@redhat.com> 0.8.8-5
|
||||
- Fix for CVE-2011-2178, regression introduced in disk probe logic,
|
||||
Bug 709775
|
||||
* Tue Jul 5 2011 Laine Stump <laine@redhat.com> 0.8.3-10
|
||||
- Fix for CVE-2011-2511, integer overflow in VirDomainGetVcpus,
|
||||
Bug 717204
|
||||
- Add several build and runtime dependencies to specfile
|
||||
Bug 680270
|
||||
|
||||
* Tue Apr 5 2011 Laine Stump <laine@redhat.com> 0.8.8-4
|
||||
* Tue Apr 5 2011 Laine Stump <laine@redhat.com> 0.8.3-9
|
||||
- Fix incorrect release version in specfile ChangeLog
|
||||
|
||||
* Tue Apr 5 2011 Laine Stump <laine@redhat.com> 0.8.3-8
|
||||
- Fix for CVE-2011-1486, error reporting in libvirtd is not thread safe,
|
||||
bug 693457
|
||||
|
||||
* Tue Mar 15 2011 Daniel Veillard <veillard@redhat.com> - 0.8.8-3
|
||||
* Mon Apr 4 2011 Laine Stump <laine@redhat.com> 0.8.3-7
|
||||
- fix permissions on /var/lib/libvirt
|
||||
|
||||
* Wed Mar 16 2011 Daniel Veillard <veillard@redhat.com> 0.8.3-6
|
||||
- fix one crash in the the error handling for previous patch
|
||||
|
||||
* Tue Mar 15 2011 Daniel Veillard <veillard@redhat.com> 0.8.3-5
|
||||
- fix a lack of API check on read-only connections 683655
|
||||
- CVE-2011-1146
|
||||
|
||||
* Mon Feb 21 2011 Daniel P. Berrange <berrange@redhat.com> - 0.8.8-2
|
||||
- Fix kernel boot with latest QEMU
|
||||
* Fri Mar 4 2011 Daniel Veillard <veillard@redhat.com> 0.8.3-4
|
||||
- fix problem parsing octal addresses bug 653883
|
||||
|
||||
* Thu Feb 17 2011 Daniel Veillard <veillard@redhat.com> - 0.8.8-1
|
||||
- expose new API for sysinfo extraction
|
||||
- cgroup blkio weight support
|
||||
- smartcard device support
|
||||
- qemu: Support per-device boot ordering
|
||||
- Various improvements and bug fixes
|
||||
|
||||
* Tue Feb 08 2011 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.8.7-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild
|
||||
|
||||
* Thu Jan 6 2011 Daniel Veillard <veillard@redhat.com> - 0.8.7-1
|
||||
- Preliminary support for VirtualBox 4.0
|
||||
- IPv6 support
|
||||
- Add VMware Workstation and Player driver driver
|
||||
- Add network disk support
|
||||
- Various improvements and bug fixes
|
||||
- from 0.8.6:
|
||||
- Add support for iSCSI target auto-discovery
|
||||
- QED: Basic support for QED images
|
||||
- remote console support
|
||||
- support for SPICE graphics
|
||||
- sysinfo and VMBIOS support
|
||||
- virsh qemu-monitor-command
|
||||
- various improvements and bug fixes
|
||||
|
||||
* Fri Oct 29 2010 Daniel Veillard <veillard@redhat.com> - 0.8.5-1
|
||||
- Enable JSON and netdev features in QEMU >= 0.13
|
||||
- framework for auditing integration
|
||||
- framework DTrace/SystemTap integration
|
||||
- Setting the number of vcpu at boot
|
||||
- Enable support for nested SVM
|
||||
- Virtio plan9fs filesystem QEMU
|
||||
- Memory parameter controls
|
||||
- various improvements and bug fixes
|
||||
|
||||
* Wed Sep 29 2010 jkeating - 0.8.4-3
|
||||
* Wed Sep 29 2010 jkeating - 0.8.3-3.1
|
||||
- Rebuilt for gcc bug 634757
|
||||
|
||||
* Thu Sep 16 2010 Dan Horák <dan[at]danny.cz> - 0.8.4-2
|
||||
* Thu Sep 16 2010 Dan Horák <dan[at]danny.cz> - 0.8.3-3
|
||||
- disable the nwfilterxml2xmltest also on s390(x)
|
||||
|
||||
* Mon Sep 13 2010 Daniel Veillard <veillard@redhat.com> - 0.8.4-1
|
||||
- Upstream release 0.8.4
|
||||
|
||||
* Mon Aug 23 2010 Daniel P. Berrange <berrange@redhat.com> - 0.8.3-2
|
||||
- Fix potential overflow in boot menu code
|
||||
|
||||
|
||||
Reference in New Issue
Block a user