Compare commits

..

19 Commits

Author SHA1 Message Date
Cole Robinson 5754f1817b Rebased to version 1.1.3.9
CVE-2015-0236: missing ACL check for the VIR_DOMAIN_XML_SECURE flag in save images and snapshots objects (bz #1185769)
CVE-2014-8136: local denial of service in qemu/qemu_driver.c (bz #1176179)
2015-02-07 21:56:24 -05:00
Cole Robinson dffbc00050 Rebased to version 1.1.3.8
CVE-2014-3633: out-of-bounds read in blockiotune (bz #1160823)
CVE-2014-3657: Potential deadlock in domain_conf (bz #1160824)
CVE-2014-7823: information leak with migratable flag (bz #1160822)
2014-11-15 22:39:45 -05:00
Cole Robinson 5849970686 Fix USB device descriptions (bz #1138887) 2014-10-30 10:45:29 -04:00
Cole Robinson 46a050e6ba Rebased to version 1.1.3.6
Fix memory leak in testDomainGenerateIfnames (bz 1135388)
Fix python bindings graphics event enum (bz 1113612)
Fix cflags in pkg-config --libs (bz 1134453)
Fix pci bus naming for PPC (bz 1119401)
Fix LXC user namespacess (bz 1105832)
Fix possible 'unknown error' reporting from vol-dumpxml (bz 1097067)
2014-09-08 13:38:51 -04:00
Cole Robinson 5be4aa5a0b Fix xen hvm VNC port (bz #1094262)
CVE-2014-0179: Unsafe XML parsing (bz #1094792, bz #1088290)
Fix failure to start xen instances (rackspace in particular) (bz #1098376)
2014-05-19 18:51:52 -04:00
Cole Robinson 33bd789e17 Rebased to version 1.1.3.5
Fix QXL PCI address conflict (bz #1016775)
Fix journald PRIORITY values (bz #1043550)
Fix crash with filterref and update-device (bz #1093301)
Fix 'cannot find session' error with iscsi (bz #1093791)
Fix bond XML issues (bz #1084702)
2014-05-03 17:37:27 -04:00
Cole Robinson 9cd81dde07 Fix migration failure occurring with VIR_DOMAIN_XML_MIGRATABLE (bz #1075174) 2014-03-18 14:47:14 -04:00
Cole Robinson 2b7e43f135 Escape XML characters in volume XML (bz #1074528) 2014-03-10 09:25:58 -04:00
Cole Robinson 0ae45cb5ee Last patches trigger autotools, enable deps 2014-03-05 13:26:08 -05:00
Cole Robinson fccbb49cca Fix libvirt-guests.service on host boot (bz #1031696) 2014-03-05 12:50:17 -05:00
Cole Robinson a95910f9d1 Rebased to version 1.1.3.4
Fix domain events when ACLs are used (bz #1058839)
CVE-2013-6456: unsafe usage of paths under /proc//root (bz #1048628, bz #1048627)
2014-02-18 19:05:58 -05:00
Cole Robinson a1418ae1be Rebuild again for openwsman soname bump 2014-02-01 14:48:26 -05:00
Cole Robinson b6fdec14ef Fix baselineCPU EXPAND_FEATURES (bz #1049391) 2014-01-30 14:38:37 -05:00
Cole Robinson 48fb36d528 Rebuild for openwsman soname bump 2014-01-27 13:22:37 -05:00
Richard W.M. Jones 553c795477 Backport increase default qemu monitor timeout from 3 to 30
seconds (bz #987088)
2014-01-20 22:17:59 +00:00
Cole Robinson 23714aac86 Rebased to version 1.1.3.3
Fix crash in virDBusAddWatch (bz #885445)
Cleanup migration ports when migration is cancelled (bz #1018530)
Fix virt-login-shell (bz #1054479)
CVE-2013-6458 libvirt: qemu: job usage issue in several APIs leading to libvirtd crash (bz #1054206, bz #1048631)
CVE-2013-6436 libvirt: crash in lxcDomainGetMemoryParameters (bz #1049136, bz #1042252)
CVE-2014-0028 libvirt: event registration bypasses domain:getattr ACL (bz #1054203, bz #1048637)
2014-01-16 21:06:37 -05:00
Cole Robinson 58fbfdc31a Rebased to version 1.1.3.2
Fix occasional libvirt-guests.service startup failure (bz #906009)
Fix hotplugging USB device to qemu VM (bz #1016511)
Fix return code of baselineCPU python API (bz #1033039)
Don't reload libvirt-guests when libvirt-client is updated (bz #962225)
Fix infinite loop in libvirt_lxc (bz #1005570)
Fix vdsm-tool segfault during vdsm startup (bz #1034312)
2013-12-14 16:01:54 -05:00
Cole Robinson d00ec4ee6a Fix attaching ISO from cifs filesystem (bz #1012085)
Fix crash with libxl driver and vcpu affinity (bz #1013045)
Fix managed save 'unexpected migration status' failure (bz #1015636)
Fix qemu deprecation warning in logs with tick options (bz #978719)
2013-11-17 18:22:50 -05:00
Cole Robinson ade916a77e Rebased to version 1.1.3.1
CVE-2013-4400: virt-login-shell arbitrary file overwrites vulnerability (bz #1015228, bz #1025685)
Fix possible domain disappearance on libvirtd crash (bz #1015246)
Fix LXC container startup failure (bz #1014847)
Slim down libvirt LXC dependencies (bz #1012198)
2013-11-06 13:05:32 -05:00
9 changed files with 2388 additions and 1715 deletions
-31
View File
@@ -1,31 +0,0 @@
[suppress_function]
symbol_version_regexp = LIBVIRT_PRIVATE.*
soname_regexp = libvirt\\.so.*
[suppress_function]
symbol_version_regexp = LIBVIRT_ADMIN_PRIVATE.*
soname_regexp = libvirt-admin\\.so.*
[suppress_variable]
symbol_version_regexp = LIBVIRT_PRIVATE.*
soname_regexp = libvirt\\.so.*
[suppress_variable]
symbol_version_regexp = LIBVIRT_ADMIN_PRIVATE.*
soname_regexp = libvirt-admin\\.so.*
[suppress_function]
symbol_version_regexp = .*
soname_regexp = libvirt_storage_.*\\.so.*
[suppress_variable]
symbol_version_regexp = .*
soname_regexp = libvirt_storage_.*\\.so.*
[suppress_function]
symbol_version_regexp = .*
soname_regexp = libvirt_driver_.*\\.so.*
[suppress_variable]
symbol_version_regexp = .*
soname_regexp = libvirt_driver_.*\\.so.*
+1 -1
View File
@@ -2,4 +2,4 @@
*.rpm
i686
x86_64
libvirt-*.tar.xz
libvirt-*.tar.gz
@@ -1,66 +0,0 @@
From 88c5b9f827779ae6fe5a6f08100a4b6184492a1c Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Daniel=20P=2E=20Berrang=C3=A9?= <berrange@redhat.com>
Date: Tue, 31 Aug 2021 10:59:39 +0100
Subject: [PATCH] qemu, xen: add missing deps on virtlockd/virtlogd sockets
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
The QEMU driver uses both virtlogd and virtlockd, while the Xen driver
uses virtlockd. The libvirtd.service unit contains deps on the socket
units for these services, but these deps were missed in the modular
daemons. As a result the virtlockd/virtlogd sockets are not started
when the virtqemud/virtxend daemons are started.
Reviewed-by: Jiri Denemark <jdenemar@redhat.com>
Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
---
src/libxl/virtxend.service.in | 2 ++
src/qemu/virtqemud.service.in | 4 ++++
2 files changed, 6 insertions(+)
diff --git a/src/libxl/virtxend.service.in b/src/libxl/virtxend.service.in
index a863917467..19b19ce3e6 100644
--- a/src/libxl/virtxend.service.in
+++ b/src/libxl/virtxend.service.in
@@ -1,6 +1,7 @@
[Unit]
Description=Virtualization xen daemon
Conflicts=libvirtd.service
+Requires=virtlockd.socket
Requires=virtxend.socket
Requires=virtxend-ro.socket
Requires=virtxend-admin.socket
@@ -25,6 +26,7 @@ KillMode=process
[Install]
WantedBy=multi-user.target
+Also=virtlockd.socket
Also=virtxend.socket
Also=virtxend-ro.socket
Also=virtxend-admin.socket
diff --git a/src/qemu/virtqemud.service.in b/src/qemu/virtqemud.service.in
index 8abc9d3a7f..20e1b43a6e 100644
--- a/src/qemu/virtqemud.service.in
+++ b/src/qemu/virtqemud.service.in
@@ -1,6 +1,8 @@
[Unit]
Description=Virtualization qemu daemon
Conflicts=libvirtd.service
+Requires=virtlogd.socket
+Requires=virtlockd.socket
Requires=virtqemud.socket
Requires=virtqemud-ro.socket
Requires=virtqemud-admin.socket
@@ -42,6 +44,8 @@ LimitMEMLOCK=64M
[Install]
WantedBy=multi-user.target
+Also=virtlogd.socket
+Also=virtlockd.socket
Also=virtqemud.socket
Also=virtqemud-ro.socket
Also=virtqemud-admin.socket
--
2.31.1
@@ -1,81 +0,0 @@
From 7e299ba649b1288d529c7595c0e6060c9ae0ff2a Mon Sep 17 00:00:00 2001
From: Michal Privoznik <mprivozn@redhat.com>
Date: Mon, 29 Nov 2021 09:57:49 +0100
Subject: [PATCH 1/2] wireshark: Switch to tvb_bytes_to_str()
When the dissector sees a byte sequence that is either an opaque
data (xdr_opaque) or a byte sequence (xdr_bytes) it formats the
bytes as a hex numbers using our own implementation. But
wireshark already provides a function for it: tvb_bytes_to_str().
NB, the reason why it returns a const string is so that callers
don't try to free it - the string is allocated using an allocator
which will decide when to free it.
The wireshark formatter was introduced in wireshark commit of
v1.99.2~479 and thus is present in the version we require at
least (2.6.0).
Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
Reviewed-by: Jiri Denemark <jdenemar@redhat.com>
---
tools/wireshark/src/packet-libvirt.c | 30 ++++++++--------------------
1 file changed, 8 insertions(+), 22 deletions(-)
diff --git a/tools/wireshark/src/packet-libvirt.c b/tools/wireshark/src/packet-libvirt.c
index f43919b05d..cb922b8070 100644
--- a/tools/wireshark/src/packet-libvirt.c
+++ b/tools/wireshark/src/packet-libvirt.c
@@ -158,24 +158,6 @@ dissect_xdr_string(tvbuff_t *tvb, proto_tree *tree, XDR *xdrs, int hf,
}
}
-static const gchar *
-format_xdr_bytes(guint8 *bytes, guint32 length)
-{
- gchar *buf;
- guint32 i;
-
- if (length == 0)
- return "";
- buf = wmem_alloc(wmem_packet_scope(), length*2 + 1);
- for (i = 0; i < length; i++) {
- /* We know that buf has enough size to contain
- 2 * length + '\0' characters. */
- g_snprintf(buf, 2*(length - i) + 1, "%02x", bytes[i]);
- buf += 2;
- }
- return buf - length*2;
-}
-
static gboolean
dissect_xdr_opaque(tvbuff_t *tvb, proto_tree *tree, XDR *xdrs, int hf,
guint32 size)
@@ -187,8 +169,10 @@ dissect_xdr_opaque(tvbuff_t *tvb, proto_tree *tree, XDR *xdrs, int hf,
val = g_malloc(size);
start = xdr_getpos(xdrs);
if ((rc = xdr_opaque(xdrs, (caddr_t)val, size))) {
- proto_tree_add_bytes_format_value(tree, hf, tvb, start, xdr_getpos(xdrs) - start,
- NULL, "%s", format_xdr_bytes(val, size));
+ gint len = xdr_getpos(xdrs) - start;
+ const char *s = tvb_bytes_to_str(wmem_packet_scope(), tvb, start, len);
+
+ proto_tree_add_bytes_format_value(tree, hf, tvb, start, len, NULL, "%s", s);
} else {
proto_tree_add_item(tree, hf_libvirt_unknown, tvb, start, -1, ENC_NA);
}
@@ -207,8 +191,10 @@ dissect_xdr_bytes(tvbuff_t *tvb, proto_tree *tree, XDR *xdrs, int hf,
start = xdr_getpos(xdrs);
if (xdr_bytes(xdrs, (char **)&val, &length, maxlen)) {
- proto_tree_add_bytes_format_value(tree, hf, tvb, start, xdr_getpos(xdrs) - start,
- NULL, "%s", format_xdr_bytes(val, length));
+ gint len = xdr_getpos(xdrs) - start;
+ const char *s = tvb_bytes_to_str(wmem_packet_scope(), tvb, start, len);
+
+ proto_tree_add_bytes_format_value(tree, hf, tvb, start, len, NULL, "%s", s);
/* Seems I can't call xdr_free() for this case.
It will raises SEGV by referencing out of bounds call stack */
free(val);
--
2.33.1
@@ -1,33 +0,0 @@
From 010613cfd8dae6d85602a84c5c95b2d441e1b3d1 Mon Sep 17 00:00:00 2001
From: Michal Privoznik <mprivozn@redhat.com>
Date: Mon, 29 Nov 2021 10:20:05 +0100
Subject: [PATCH 2/2] wireshark: Drop needless comment in dissect_xdr_bytes()
In the dissect_xdr_bytes() there's a comment that the string
allocated by xdr_bytes() can't be freed using xdr_free(). Well,
that is expected because xdr_bytes() used plain calloc() AND the
string is not an XDR struct but plain 'char *' type. Passing it
to xdr_free() must result in weird things happening.
Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
Reviewed-by: Jiri Denemark <jdenemar@redhat.com>
---
tools/wireshark/src/packet-libvirt.c | 2 --
1 file changed, 2 deletions(-)
diff --git a/tools/wireshark/src/packet-libvirt.c b/tools/wireshark/src/packet-libvirt.c
index cb922b8070..eeacbcdf0e 100644
--- a/tools/wireshark/src/packet-libvirt.c
+++ b/tools/wireshark/src/packet-libvirt.c
@@ -195,8 +195,6 @@ dissect_xdr_bytes(tvbuff_t *tvb, proto_tree *tree, XDR *xdrs, int hf,
const char *s = tvb_bytes_to_str(wmem_packet_scope(), tvb, start, len);
proto_tree_add_bytes_format_value(tree, hf, tvb, start, len, NULL, "%s", s);
- /* Seems I can't call xdr_free() for this case.
- It will raises SEGV by referencing out of bounds call stack */
free(val);
return TRUE;
} else {
--
2.33.1
@@ -1,78 +0,0 @@
From 979d1ba3ae1332bda80cb6eca98e41dc4462a226 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?J=C3=A1n=20Tomko?= <jtomko@redhat.com>
Date: Tue, 31 Aug 2021 11:41:55 +0200
Subject: [PATCH] tests: virstoragetest: remove tests without backing type
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
As of qemu commit:
commit 497a30dbb065937d67f6c43af6dd78492e1d6f6d
qemu-img: Require -F with -b backing image
creating images with backing images requires specifying the format.
Remove tests which do not pass the backing format on the command
line.
Signed-off-by: Ján Tomko <jtomko@redhat.com>
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
---
tests/virstoragetest.c | 33 ---------------------------------
1 file changed, 33 deletions(-)
diff --git a/tests/virstoragetest.c b/tests/virstoragetest.c
index 1b211b60e6..b80818bc7b 100644
--- a/tests/virstoragetest.c
+++ b/tests/virstoragetest.c
@@ -638,30 +638,6 @@ mymain(void)
};
TEST_CHAIN(abswrap, VIR_STORAGE_FILE_QCOW2, (&wrap, &qcow2, &raw), EXP_PASS);
- /* Rewrite qcow2 and wrap file to omit backing file type */
- virCommandFree(cmd);
- cmd = virCommandNewArgList(qemuimg, "rebase", "-u", "-f", "qcow2",
- "-b", absraw, "qcow2", NULL);
- if (virCommandRun(cmd, NULL) < 0)
- ret = -1;
-
- virCommandFree(cmd);
- cmd = virCommandNewArgList(qemuimg, "rebase", "-u", "-f", "qcow2",
- "-b", absqcow2, "wrap", NULL);
- if (virCommandRun(cmd, NULL) < 0)
- ret = -1;
-
- /* Qcow2 file with raw as absolute backing, backing format omitted */
- testFileData wrap_as_raw = {
- .expBackingStoreRaw = absqcow2,
- .expCapacity = 1024,
- .path = abswrap,
- .type = VIR_STORAGE_TYPE_FILE,
- .format = VIR_STORAGE_FILE_QCOW2,
- };
- TEST_CHAIN(abswrap, VIR_STORAGE_FILE_QCOW2,
- (&wrap_as_raw, &qcow2_as_raw), EXP_FAIL);
-
/* Rewrite qcow2 to a missing backing file, with backing type */
virCommandFree(cmd);
cmd = virCommandNewArgList(qemuimg, "rebase", "-u", "-f", "qcow2",
@@ -674,15 +650,6 @@ mymain(void)
/* Qcow2 file with missing backing file but specified type */
TEST_CHAIN(absqcow2, VIR_STORAGE_FILE_QCOW2, (&qcow2), EXP_FAIL);
- /* Rewrite qcow2 to a missing backing file, without backing type */
- virCommandFree(cmd);
- cmd = virCommandNewArgList(qemuimg, "rebase", "-u", "-f", "qcow2",
- "-b", datadir "/bogus", "qcow2", NULL);
- if (virCommandRun(cmd, NULL) < 0)
- ret = -1;
-
- /* Qcow2 file with missing backing file and no specified type */
- TEST_CHAIN(absqcow2, VIR_STORAGE_FILE_QCOW2, (&qcow2), EXP_FAIL);
/* Rewrite qcow2 to use an nbd: protocol as backend */
virCommandFree(cmd);
--
2.33.1
+21
View File
@@ -0,0 +1,21 @@
# Makefile for source rpm: libvirt
# $Id$
NAME := libvirt
SPECFILE = $(firstword $(wildcard *.spec))
define find-makefile-common
for d in common ../common ../../common ; do if [ -f $$d/Makefile.common ] ; then if [ -f $$d/CVS/Root -a -w $$d/Makefile.common ] ; then cd $$d ; cvs -Q update ; fi ; echo "$$d/Makefile.common" ; break ; fi ; done
endef
MAKEFILE_COMMON := $(shell $(find-makefile-common))
ifeq ($(MAKEFILE_COMMON),)
# attempt a checkout
define checkout-makefile-common
test -f CVS/Root && { cvs -Q -d $$(cat CVS/Root) checkout common && echo "common/Makefile.common" ; } || { echo "ERROR: I can't figure out how to checkout the 'common' module." ; exit -1 ; } >&2
endef
MAKEFILE_COMMON := $(shell $(checkout-makefile-common))
endif
include $(MAKEFILE_COMMON)
+2365 -1424
View File
File diff suppressed because it is too large Load Diff
+1 -1
View File
@@ -1 +1 @@
SHA512 (libvirt-7.6.0.tar.xz) = bad6cc02af071ca909bbbe3c07165e91cad863c9a759b26d9cff6aed6ea5643bc723d2f3c61ad41436dffd4fd50389333d74b131e37eaa54a5071a3ae26df627
e345a41ac10324cbb789387381f07564 libvirt-1.1.3.9.tar.gz