Accepting request 356412 from Virtualization

Supersedes sr#355837 to add a fix for bug#961853.

- qemu: set /usr/share/qemu/ovmf-x86_64-ms-{code,vars}.bin as
  default UEFI firmwares for x86_64
  bsc#961853

- Update to libvirt 1.3.1
  - CVE-2015-5313
  - Many incremental improvements and bug fixes, see
    http://libvirt.org/news.html
  - Dropped patches: 034e47c3-CVE-2015-5313.patch,
    ace1ee22-qemuxml2argv-test.patch, add-with-login-shell.patch,
    virt-aa-helper-rw-mounts.patch

OBS-URL: https://build.opensuse.org/request/show/356412
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/libvirt?expand=0&rev=197
This commit is contained in:
Dominique Leuenberger 2016-01-28 16:25:01 +00:00 committed by Git OBS Bridge
commit bfd77cbb30
29 changed files with 238 additions and 395 deletions

View File

@ -1,68 +0,0 @@
commit 034e47c338b13a95cf02106a3af912c1c5f818d7
Author: Eric Blake <eblake@redhat.com>
Date: Tue Dec 8 17:46:31 2015 -0700
CVE-2015-5313: storage: don't allow '/' in filesystem volume names
The libvirt file system storage driver determines what file to
act on by concatenating the pool location with the volume name.
If a user is able to pick names like "../../../etc/passwd", then
they can escape the bounds of the pool. For that matter,
virStoragePoolListVolumes() doesn't descend into subdirectories,
so a user really shouldn't use a name with a slash.
Normally, only privileged users can coerce libvirt into creating
or opening existing files using the virStorageVol APIs; and such
users already have full privilege to create any domain XML (so it
is not an escalation of privilege). But in the case of
fine-grained ACLs, it is feasible that a user can be granted
storage_vol:create but not domain:write, and it violates
assumptions if such a user can abuse libvirt to access files
outside of the storage pool.
Therefore, prevent all use of volume names that contain "/",
whether or not such a name is actually attempting to escape the
pool.
This changes things from:
$ virsh vol-create-as default ../../../../../../etc/haha --capacity 128
Vol ../../../../../../etc/haha created
$ rm /etc/haha
to:
$ virsh vol-create-as default ../../../../../../etc/haha --capacity 128
error: Failed to create vol ../../../../../../etc/haha
error: Requested operation is not valid: volume name '../../../../../../etc/haha' cannot contain '/'
Signed-off-by: Eric Blake <eblake@redhat.com>
Index: libvirt-1.3.0/src/storage/storage_backend_fs.c
===================================================================
--- libvirt-1.3.0.orig/src/storage/storage_backend_fs.c
+++ libvirt-1.3.0/src/storage/storage_backend_fs.c
@@ -1,7 +1,7 @@
/*
* storage_backend_fs.c: storage backend for FS and directory handling
*
- * Copyright (C) 2007-2014 Red Hat, Inc.
+ * Copyright (C) 2007-2015 Red Hat, Inc.
* Copyright (C) 2007-2008 Daniel P. Berrange
*
* This library is free software; you can redistribute it and/or
@@ -1057,6 +1057,14 @@ virStorageBackendFileSystemVolCreate(vir
else
vol->type = VIR_STORAGE_VOL_FILE;
+ /* Volumes within a directory pools are not recursive; do not
+ * allow escape to ../ or a subdir */
+ if (strchr(vol->name, '/')) {
+ virReportError(VIR_ERR_OPERATION_INVALID,
+ _("volume name '%s' cannot contain '/'"), vol->name);
+ return -1;
+ }
+
VIR_FREE(vol->target.path);
if (virAsprintf(&vol->target.path, "%s/%s",
pool->def->target.path,

View File

@ -1,45 +0,0 @@
commit ace1ee225f5cd87fb095054a6a19bdcd0fa57518
Author: Peter Krempa <pkrempa@redhat.com>
Date: Thu Dec 10 14:36:51 2015 +0100
test: qemuxml2argv: Mock virMemoryMaxValue to remove 32/64 bit difference
Always return LLONG_MAX even on 32 bit systems. The limitation
originates from our use of "unsigned long" in several APIs. The internal
data type is unsigned long long. Make the test suite deterministic by
removing the architecture difference.
Flaw was introduced in 645881139b3d2c86acf9d644c3a1471520bc9e57 where
I've added a test that uses too large numbers.
Index: libvirt-1.3.0/src/util/virutil.c
===================================================================
--- libvirt-1.3.0.orig/src/util/virutil.c
+++ libvirt-1.3.0/src/util/virutil.c
@@ -2639,6 +2639,8 @@ virMemoryLimitIsSet(unsigned long long v
* @capped: whether the value must fit into unsigned long
* (long long is assumed otherwise)
*
+ * Note: This function is mocked in tests/qemuxml2argvmock.c for test stability
+ *
* Returns the maximum possible memory value in bytes.
*/
unsigned long long
Index: libvirt-1.3.0/tests/qemuxml2argvmock.c
===================================================================
--- libvirt-1.3.0.orig/tests/qemuxml2argvmock.c
+++ libvirt-1.3.0/tests/qemuxml2argvmock.c
@@ -74,3 +74,13 @@ virTPMCreateCancelPath(const char *devpa
return path;
}
+
+/**
+ * Large values for memory would fail on 32 bit systems, despite having
+ * variables that support it.
+ */
+unsigned long long
+virMemoryMaxValue(bool capped ATTRIBUTE_UNUSED)
+{
+ return LLONG_MAX;
+}

View File

@ -1,79 +0,0 @@
From 5f42064688d5e2c81b623ef20c243c77f2094193 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?C=C3=A9dric=20Bosdonnat?= <cbosdonnat@suse.com>
Date: Mon, 9 Nov 2015 15:36:40 -0700
Subject: [PATCH] Allow building lxc without virt-login-shell
Add a configure option to disable virt-login-shell build even if lxc is
enabled.
---
configure.ac | 14 ++++++++++++++
tools/Makefile.am | 12 ++++++------
2 files changed, 20 insertions(+), 6 deletions(-)
Index: libvirt-1.3.0/configure.ac
===================================================================
--- libvirt-1.3.0.orig/configure.ac
+++ libvirt-1.3.0/configure.ac
@@ -1074,6 +1074,19 @@ if test "$with_lxc" = "yes" ; then
fi
AM_CONDITIONAL([WITH_LXC], [test "$with_lxc" = "yes"])
+AC_ARG_WITH([login_shell],
+ [AS_HELP_STRING([--with-login-shell],
+ [build virt-login-shell @<:@default=yes@:>@])])
+m4_divert_text([DEFAULTS], [with_login_shell=yes])
+
+if test "$with_lxc" != "yes" ; then
+ with_login_shell="no"
+fi
+if test "$with_login_shell" ; then
+ AC_DEFINE_UNQUOTED([WITH_LOGIN_SHELL], 1, [whether virt-login-shell is built])
+fi
+AM_CONDITIONAL([WITH_LOGIN_SHELL], [test "$with_login_shell" = "yes"])
+
dnl
dnl Checks for the Parallels driver
dnl
@@ -2974,6 +2987,7 @@ AC_MSG_NOTICE([ Init script: $with_
AC_MSG_NOTICE([Char device locks: $with_chrdev_lock_files])
AC_MSG_NOTICE([ Default Editor: $DEFAULT_EDITOR])
AC_MSG_NOTICE([ Loader/NVRAM: $with_loader_nvram])
+AC_MSG_NOTICE([ virt-login-shell: $with_login_shell])
AC_MSG_NOTICE([])
AC_MSG_NOTICE([Developer Tools])
AC_MSG_NOTICE([])
Index: libvirt-1.3.0/tools/Makefile.am
===================================================================
--- libvirt-1.3.0.orig/tools/Makefile.am
+++ libvirt-1.3.0/tools/Makefile.am
@@ -71,12 +71,12 @@ sbin_SCRIPTS = virt-sanlock-cleanup
DISTCLEANFILES += virt-sanlock-cleanup
endif WITH_SANLOCK
-if WITH_LXC
+if WITH_LOGIN_SHELL
conf_DATA += virt-login-shell.conf
bin_PROGRAMS += virt-login-shell
-else ! WITH_LXC
+else ! WITH_LOGIN_SHELL
EXTRA_DIST += virt-login-shell.conf
-endif ! WITH_LXC
+endif ! WITH_LOGIN_SHELL
dist_man1_MANS = \
@@ -85,11 +85,11 @@ dist_man1_MANS = \
virt-xml-validate.1 \
virsh.1 \
virt-admin.1
-if WITH_LXC
+if WITH_LOGIN_SHELL
dist_man1_MANS += virt-login-shell.1
-else ! WITH_LXC
+else ! WITH_LOGIN_SHELL
EXTRA_DIST += virt-login-shell.1
-endif ! WITH_LXC
+endif ! WITH_LOGIN_SHELL
if WITH_SANLOCK
dist_man8_MANS = virt-sanlock-cleanup.8
endif WITH_SANLOCK

View File

@ -1,7 +1,7 @@
Index: libvirt-1.3.0/examples/apparmor/libvirt-qemu
Index: libvirt-1.3.1/examples/apparmor/libvirt-qemu
===================================================================
--- libvirt-1.3.0.orig/examples/apparmor/libvirt-qemu
+++ libvirt-1.3.0/examples/apparmor/libvirt-qemu
--- libvirt-1.3.1.orig/examples/apparmor/libvirt-qemu
+++ libvirt-1.3.1/examples/apparmor/libvirt-qemu
@@ -143,6 +143,9 @@
# for restore
/bin/bash rmix,

View File

@ -1,7 +1,7 @@
Index: libvirt-1.3.0/examples/apparmor/libvirt-lxc
Index: libvirt-1.3.1/examples/apparmor/libvirt-lxc
===================================================================
--- libvirt-1.3.0.orig/examples/apparmor/libvirt-lxc
+++ libvirt-1.3.0/examples/apparmor/libvirt-lxc
--- libvirt-1.3.1.orig/examples/apparmor/libvirt-lxc
+++ libvirt-1.3.1/examples/apparmor/libvirt-lxc
@@ -2,39 +2,15 @@
#include <abstractions/base>

View File

@ -11,11 +11,11 @@ Signed-off-by: Chunyan Liu <cyliu@suse.com>
src/qemu/qemu_driver.c | 7 +++++++
1 file changed, 7 insertions(+)
Index: libvirt-1.3.0/src/qemu/qemu_driver.c
Index: libvirt-1.3.1/src/qemu/qemu_driver.c
===================================================================
--- libvirt-1.3.0.orig/src/qemu/qemu_driver.c
+++ libvirt-1.3.0/src/qemu/qemu_driver.c
@@ -16728,6 +16728,15 @@ qemuDomainBlockCopyCommon(virDomainObjPt
--- libvirt-1.3.1.orig/src/qemu/qemu_driver.c
+++ libvirt-1.3.1/src/qemu/qemu_driver.c
@@ -16698,6 +16698,15 @@ qemuDomainBlockCopyCommon(virDomainObjPt
_("non-file destination not supported yet"));
goto endjob;
}

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:ebcf5645fa565e3fe2fe94a86e841db9b768cf0e0a7e6cf395c6327f9a23bd64
size 30114683

View File

@ -1,7 +0,0 @@
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1
iEYEABECAAYFAlZn8jcACgkQRga4pd6VvB/RIQCgkbUJElaR8UblnEcphnlFUaZt
YooAn32VWCOwuu/LanKnpQU5Ud0Fckx8
=+X0a
-----END PGP SIGNATURE-----

3
libvirt-1.3.1.tar.gz Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:a5d43fbed34d31eeffc641d2ac9b6026a57bf1a4fa74d0fa19a9891d9ec2c21a
size 29900143

7
libvirt-1.3.1.tar.gz.asc Normal file
View File

@ -0,0 +1,7 @@
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1
iEYEABECAAYFAlaa/ekACgkQRga4pd6VvB83RwCfSMXt/m+s8hfjxmOHDLPw91//
be4AoIjs/qtDhPxg+nqJvXjzNnCPyVdZ
=rjLr
-----END PGP SIGNATURE-----

View File

@ -1,23 +1,25 @@
Adjust libvirt-guests init files to conform to SUSE standards
Index: libvirt-1.3.0/tools/libvirt-guests.init.in
Index: libvirt-1.3.1/tools/libvirt-guests.init.in
===================================================================
--- libvirt-1.3.0.orig/tools/libvirt-guests.init.in
+++ libvirt-1.3.0/tools/libvirt-guests.init.in
@@ -3,15 +3,15 @@
# the following is the LSB init header
--- libvirt-1.3.1.orig/tools/libvirt-guests.init.in
+++ libvirt-1.3.1/tools/libvirt-guests.init.in
@@ -4,27 +4,27 @@
# http://refspecs.linuxfoundation.org/LSB_5.0.0/LSB-Core-generic/LSB-Core-generic/initscrcomconv.html
#
### BEGIN INIT INFO
-# Provides: libvirt-guests
-# Default-Start: 3 4 5
-# Default-Stop: 0 1 2 6
-# Required-Start: libvirtd
-# Required-Stop: libvirtd
-# Default-Start: 2 3 4 5
-# Default-Stop: 0 1 6
+# Provides: libvirt-guests
+# Required-Start: $network $remote_fs libvirtd
+# Required-Stop: $network $remote_fs libvirtd
+# Default-Start: 3 5
+# Default-Stop: 0 1 2 4 6
# Should-Start:
# Should-Stop:
# Short-Description: suspend/resume libvirt guests on shutdown/boot
-# Description: This is a script for suspending active libvirt guests
-# on shutdown and resuming them on next boot
@ -28,10 +30,25 @@ Index: libvirt-1.3.0/tools/libvirt-guests.init.in
### END INIT INFO
# the following is chkconfig init header
Index: libvirt-1.3.0/tools/libvirt-guests.sh.in
#
-# libvirt-guests: suspend/resume libvirt guests on shutdown/boot
+# libvirt-guests: suspend/resume libvirt guests on shutdown/boot
#
-# chkconfig: 345 99 01
-# description: This is a script for suspending active libvirt guests \
-# on shutdown and resuming them on next boot \
-# See http://libvirt.org
+# chkconfig: 345 99 01
+# description: This is a script for suspending active libvirt guests \
+# on shutdown and resuming them on next boot \
+# See http://libvirt.org
#
exec @libexecdir@/libvirt-guests.sh "$@"
Index: libvirt-1.3.1/tools/libvirt-guests.sh.in
===================================================================
--- libvirt-1.3.0.orig/tools/libvirt-guests.sh.in
+++ libvirt-1.3.0/tools/libvirt-guests.sh.in
--- libvirt-1.3.1.orig/tools/libvirt-guests.sh.in
+++ libvirt-1.3.1/tools/libvirt-guests.sh.in
@@ -16,14 +16,13 @@
# License along with this library. If not, see
# <http://www.gnu.org/licenses/>.
@ -191,10 +208,10 @@ Index: libvirt-1.3.0/tools/libvirt-guests.sh.in
esac
-exit $RETVAL
+rc_exit
Index: libvirt-1.3.0/tools/libvirt-guests.sysconf
Index: libvirt-1.3.1/tools/libvirt-guests.sysconf
===================================================================
--- libvirt-1.3.0.orig/tools/libvirt-guests.sysconf
+++ libvirt-1.3.0/tools/libvirt-guests.sysconf
--- libvirt-1.3.1.orig/tools/libvirt-guests.sysconf
+++ libvirt-1.3.1/tools/libvirt-guests.sysconf
@@ -1,19 +1,29 @@
+## Path: System/Virtualization/libvirt-guests
+

View File

@ -1,7 +1,7 @@
Index: libvirt-1.3.0/src/cpu/cpu_map.xml
Index: libvirt-1.3.1/src/cpu/cpu_map.xml
===================================================================
--- libvirt-1.3.0.orig/src/cpu/cpu_map.xml
+++ libvirt-1.3.0/src/cpu/cpu_map.xml
--- libvirt-1.3.1.orig/src/cpu/cpu_map.xml
+++ libvirt-1.3.1/src/cpu/cpu_map.xml
@@ -1424,6 +1424,16 @@
<pvr value='0x004d0000' mask='0xffff0000'/>
</model>

View File

@ -1,8 +1,8 @@
Index: libvirt-1.3.0/configure.ac
Index: libvirt-1.3.1/configure.ac
===================================================================
--- libvirt-1.3.0.orig/configure.ac
+++ libvirt-1.3.0/configure.ac
@@ -242,6 +242,7 @@ LIBVIRT_CHECK_FUSE
--- libvirt-1.3.1.orig/configure.ac
+++ libvirt-1.3.1/configure.ac
@@ -246,6 +246,7 @@ LIBVIRT_CHECK_FUSE
LIBVIRT_CHECK_GLUSTER
LIBVIRT_CHECK_HAL
LIBVIRT_CHECK_NETCF
@ -10,7 +10,7 @@ Index: libvirt-1.3.0/configure.ac
LIBVIRT_CHECK_NUMACTL
LIBVIRT_CHECK_OPENWSMAN
LIBVIRT_CHECK_PCIACCESS
@@ -2495,11 +2496,12 @@ if test "$with_libvirtd" = "no" ; then
@@ -2507,11 +2508,12 @@ if test "$with_libvirtd" = "no" ; then
with_interface=no
fi
@ -26,7 +26,7 @@ Index: libvirt-1.3.0/configure.ac
esac
if test "$with_interface" = "yes" ; then
@@ -2893,6 +2895,7 @@ LIBVIRT_RESULT_FUSE
@@ -2890,6 +2892,7 @@ LIBVIRT_RESULT_FUSE
LIBVIRT_RESULT_GLUSTER
LIBVIRT_RESULT_HAL
LIBVIRT_RESULT_NETCF
@ -34,11 +34,11 @@ Index: libvirt-1.3.0/configure.ac
LIBVIRT_RESULT_NUMACTL
LIBVIRT_RESULT_OPENWSMAN
LIBVIRT_RESULT_PCIACCESS
Index: libvirt-1.3.0/src/Makefile.am
Index: libvirt-1.3.1/src/Makefile.am
===================================================================
--- libvirt-1.3.0.orig/src/Makefile.am
+++ libvirt-1.3.0/src/Makefile.am
@@ -922,6 +922,10 @@ if WITH_NETCF
--- libvirt-1.3.1.orig/src/Makefile.am
+++ libvirt-1.3.1/src/Makefile.am
@@ -923,6 +923,10 @@ if WITH_NETCF
INTERFACE_DRIVER_SOURCES += \
interface/interface_backend_netcf.c
endif WITH_NETCF
@ -49,7 +49,7 @@ Index: libvirt-1.3.0/src/Makefile.am
if WITH_UDEV
INTERFACE_DRIVER_SOURCES += \
interface/interface_backend_udev.c
@@ -1547,6 +1551,10 @@ if WITH_NETCF
@@ -1548,6 +1552,10 @@ if WITH_NETCF
libvirt_driver_interface_la_CFLAGS += $(NETCF_CFLAGS)
libvirt_driver_interface_la_LIBADD += $(NETCF_LIBS)
endif WITH_NETCF
@ -60,11 +60,11 @@ Index: libvirt-1.3.0/src/Makefile.am
if WITH_UDEV
libvirt_driver_interface_la_CFLAGS += $(UDEV_CFLAGS)
libvirt_driver_interface_la_LIBADD += $(UDEV_LIBS)
Index: libvirt-1.3.0/tools/virsh.c
Index: libvirt-1.3.1/tools/virsh.c
===================================================================
--- libvirt-1.3.0.orig/tools/virsh.c
+++ libvirt-1.3.0/tools/virsh.c
@@ -588,6 +588,8 @@ virshShowVersion(vshControl *ctl ATTRIBU
--- libvirt-1.3.1.orig/tools/virsh.c
+++ libvirt-1.3.1/tools/virsh.c
@@ -589,6 +589,8 @@ virshShowVersion(vshControl *ctl ATTRIBU
vshPrint(ctl, " Interface");
# if defined(WITH_NETCF)
vshPrint(ctl, " netcf");
@ -73,10 +73,10 @@ Index: libvirt-1.3.0/tools/virsh.c
# elif defined(WITH_UDEV)
vshPrint(ctl, " udev");
# endif
Index: libvirt-1.3.0/src/interface/interface_backend_netcf.c
Index: libvirt-1.3.1/src/interface/interface_backend_netcf.c
===================================================================
--- libvirt-1.3.0.orig/src/interface/interface_backend_netcf.c
+++ libvirt-1.3.0/src/interface/interface_backend_netcf.c
--- libvirt-1.3.1.orig/src/interface/interface_backend_netcf.c
+++ libvirt-1.3.1/src/interface/interface_backend_netcf.c
@@ -23,7 +23,12 @@
#include <config.h>
@ -160,10 +160,10 @@ Index: libvirt-1.3.0/src/interface/interface_backend_netcf.c
if (virSetSharedInterfaceDriver(&interfaceDriver) < 0)
return -1;
if (virRegisterStateDriver(&interfaceStateDriver) < 0)
Index: libvirt-1.3.0/src/interface/interface_driver.c
Index: libvirt-1.3.1/src/interface/interface_driver.c
===================================================================
--- libvirt-1.3.0.orig/src/interface/interface_driver.c
+++ libvirt-1.3.0/src/interface/interface_driver.c
--- libvirt-1.3.1.orig/src/interface/interface_driver.c
+++ libvirt-1.3.1/src/interface/interface_driver.c
@@ -30,8 +30,15 @@ interfaceRegister(void)
if (netcfIfaceRegister() == 0)
return 0;
@ -181,10 +181,10 @@ Index: libvirt-1.3.0/src/interface/interface_driver.c
if (udevIfaceRegister() == 0)
return 0;
#endif /* WITH_UDEV */
Index: libvirt-1.3.0/m4/virt-netcontrol.m4
Index: libvirt-1.3.1/m4/virt-netcontrol.m4
===================================================================
--- /dev/null
+++ libvirt-1.3.0/m4/virt-netcontrol.m4
+++ libvirt-1.3.1/m4/virt-netcontrol.m4
@@ -0,0 +1,35 @@
+dnl The libnetcontrol library
+dnl

View File

@ -1,3 +1,21 @@
-------------------------------------------------------------------
Sat Jan 23 01:19:22 UTC 2016 - jfehlig@suse.com
- qemu: set /usr/share/qemu/ovmf-x86_64-ms-{code,vars}.bin as
default UEFI firmwares for x86_64
bsc#961853
-------------------------------------------------------------------
Mon Jan 18 18:30:52 UTC 2016 - jfehlig@suse.com
- Update to libvirt 1.3.1
- CVE-2015-5313
- Many incremental improvements and bug fixes, see
http://libvirt.org/news.html
- Dropped patches: 034e47c3-CVE-2015-5313.patch,
ace1ee22-qemuxml2argv-test.patch, add-with-login-shell.patch,
virt-aa-helper-rw-mounts.patch
-------------------------------------------------------------------
Tue Dec 22 02:21:44 UTC 2015 - jfehlig@suse.com

View File

@ -1,7 +1,7 @@
#
# spec file for package libvirt
#
# Copyright (c) 2015 SUSE LINUX GmbH, Nuernberg, Germany.
# Copyright (c) 2016 SUSE LINUX GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@ -215,6 +215,11 @@
%endif
%endif
# Advertise OVMF for >= 13.1
%if 0%{?suse_version} >= 1310
%define with_loader_nvram --with-loader-nvram="/usr/share/qemu/ovmf-x86_64-ms-code.bin:/usr/share/qemu/ovmf-x86_64-ms-vars.bin"
%endif
%if %{with_macvtap}
%define with_libnl 1
%endif
@ -240,7 +245,7 @@
Name: libvirt
Url: http://libvirt.org/
Version: 1.3.0
Version: 1.3.1
Release: 0
Summary: Library providing a simple virtualization API
License: LGPL-2.1+
@ -453,11 +458,7 @@ Source3: libvirtd.init
Source4: libvirtd-relocation-server.fw
Source99: baselibs.conf
# Upstream patches
Patch0: 034e47c3-CVE-2015-5313.patch
Patch1: ace1ee22-qemuxml2argv-test.patch
# Patches pending upstream review
Patch100: add-with-login-shell.patch
Patch101: virt-aa-helper-rw-mounts.patch
# Need to go upstream
Patch150: xen-pv-cdrom.patch
Patch151: blockcopy-check-dst-identical-device.patch
@ -973,10 +974,6 @@ Wireshark dissector plugin for better analysis of libvirt RPC traffic.
%prep
%setup -q
%patch0 -p1
%patch1 -p1
%patch100 -p1
%patch101 -p1
%patch150 -p1
%patch151 -p1
%patch152 -p1
@ -1204,6 +1201,7 @@ export CFLAGS="$RPM_OPT_FLAGS"
--libexecdir=%{_libdir}/%{name} \
--with-qemu-user=%{qemu_user} \
--with-qemu-group=%{qemu_group} \
%{?with_loader_nvram} \
--without-login-shell \
%{init_scripts} \
ac_cv_path_MODPROBE=/sbin/modprobe \
@ -1214,10 +1212,7 @@ gzip -9 ChangeLog
%install
%makeinstall SYSTEMD_UNIT_DIR=%{_unitdir} DOCS_DIR=%{_docdir}/%{name}-python EXAMPLE_DIR=%{_docdir}/%{name}-python/examples HTML_DIR=%{_docdir}/%{name}
for i in object-events dominfo domsuspend hellolibvirt openauth xml/nwfilter systemtap domtop rename
do
(cd examples/$i ; make clean ; rm -rf .deps .libs Makefile Makefile.in)
done
make -C examples distclean
cp examples/lxcconvert/virt-lxc-convert $RPM_BUILD_ROOT%{_bindir}
rm -f $RPM_BUILD_ROOT%{_libdir}/*.la
%if %{with_wireshark}

View File

@ -1,7 +1,7 @@
Index: libvirt-1.3.0/daemon/libvirtd.conf
Index: libvirt-1.3.1/daemon/libvirtd.conf
===================================================================
--- libvirt-1.3.0.orig/daemon/libvirtd.conf
+++ libvirt-1.3.0/daemon/libvirtd.conf
--- libvirt-1.3.1.orig/daemon/libvirtd.conf
+++ libvirt-1.3.1/daemon/libvirtd.conf
@@ -18,8 +18,8 @@
# It is necessary to setup a CA and issue server certificates before
# using this capability.
@ -13,10 +13,10 @@ Index: libvirt-1.3.0/daemon/libvirtd.conf
# Listen for unencrypted TCP connections on the public TCP/IP port.
# NB, must pass the --listen flag to the libvirtd process for this to
Index: libvirt-1.3.0/daemon/libvirtd-config.c
Index: libvirt-1.3.1/daemon/libvirtd-config.c
===================================================================
--- libvirt-1.3.0.orig/daemon/libvirtd-config.c
+++ libvirt-1.3.0/daemon/libvirtd-config.c
--- libvirt-1.3.1.orig/daemon/libvirtd-config.c
+++ libvirt-1.3.1/daemon/libvirtd-config.c
@@ -242,7 +242,7 @@ daemonConfigNew(bool privileged ATTRIBUT
if (VIR_ALLOC(data) < 0)
return NULL;
@ -26,10 +26,10 @@ Index: libvirt-1.3.0/daemon/libvirtd-config.c
data->listen_tcp = 0;
if (VIR_STRDUP(data->tls_port, LIBVIRTD_TLS_PORT) < 0 ||
Index: libvirt-1.3.0/daemon/test_libvirtd.aug.in
Index: libvirt-1.3.1/daemon/test_libvirtd.aug.in
===================================================================
--- libvirt-1.3.0.orig/daemon/test_libvirtd.aug.in
+++ libvirt-1.3.0/daemon/test_libvirtd.aug.in
--- libvirt-1.3.1.orig/daemon/test_libvirtd.aug.in
+++ libvirt-1.3.1/daemon/test_libvirtd.aug.in
@@ -2,7 +2,7 @@ module Test_libvirtd =
::CONFIG::

View File

@ -1,9 +1,9 @@
Adjust libvirtd sysconfig file to conform to SUSE standards
Index: libvirt-1.3.0/daemon/libvirtd.sysconf
Index: libvirt-1.3.1/daemon/libvirtd.sysconf
===================================================================
--- libvirt-1.3.0.orig/daemon/libvirtd.sysconf
+++ libvirt-1.3.0/daemon/libvirtd.sysconf
--- libvirt-1.3.1.orig/daemon/libvirtd.sysconf
+++ libvirt-1.3.1/daemon/libvirtd.sysconf
@@ -1,16 +1,25 @@
+## Path: System/Virtualization/libvirt
+

View File

@ -9,10 +9,10 @@ as
See bsc#933043
Index: libvirt-1.3.0/daemon/libvirtd.socket.in
Index: libvirt-1.3.1/daemon/libvirtd.socket.in
===================================================================
--- libvirt-1.3.0.orig/daemon/libvirtd.socket.in
+++ libvirt-1.3.0/daemon/libvirtd.socket.in
--- libvirt-1.3.1.orig/daemon/libvirtd.socket.in
+++ libvirt-1.3.1/daemon/libvirtd.socket.in
@@ -2,10 +2,8 @@
ListenStream=@runstatedir@/libvirt/libvirt-sock
ListenStream=@runstatedir@/libvirt/libvirt-sock-ro

View File

@ -13,10 +13,10 @@ device with the same name that is being created.
src/lxc/lxc_process.c | 1 +
3 files changed, 4 insertions(+)
Index: libvirt-1.3.0/src/lxc/lxc_controller.c
Index: libvirt-1.3.1/src/lxc/lxc_controller.c
===================================================================
--- libvirt-1.3.0.orig/src/lxc/lxc_controller.c
+++ libvirt-1.3.0/src/lxc/lxc_controller.c
--- libvirt-1.3.1.orig/src/lxc/lxc_controller.c
+++ libvirt-1.3.1/src/lxc/lxc_controller.c
@@ -2002,6 +2002,7 @@ static int virLXCControllerDeleteInterfa
if (virNetDevVethDelete(ctrl->veths[i]) < 0)
ret = -1;
@ -25,11 +25,11 @@ Index: libvirt-1.3.0/src/lxc/lxc_controller.c
return ret;
}
Index: libvirt-1.3.0/src/lxc/lxc_driver.c
Index: libvirt-1.3.1/src/lxc/lxc_driver.c
===================================================================
--- libvirt-1.3.0.orig/src/lxc/lxc_driver.c
+++ libvirt-1.3.0/src/lxc/lxc_driver.c
@@ -4254,6 +4254,7 @@ lxcDomainAttachDeviceNetLive(virConnectP
--- libvirt-1.3.1.orig/src/lxc/lxc_driver.c
+++ libvirt-1.3.1/src/lxc/lxc_driver.c
@@ -4257,6 +4257,7 @@ lxcDomainAttachDeviceNetLive(virConnectP
case VIR_DOMAIN_NET_TYPE_BRIDGE:
case VIR_DOMAIN_NET_TYPE_NETWORK:
ignore_value(virNetDevVethDelete(veth));
@ -37,7 +37,7 @@ Index: libvirt-1.3.0/src/lxc/lxc_driver.c
break;
case VIR_DOMAIN_NET_TYPE_DIRECT:
@@ -4681,6 +4682,7 @@ lxcDomainDetachDeviceNetLive(virDomainOb
@@ -4684,6 +4685,7 @@ lxcDomainDetachDeviceNetLive(virDomainOb
virDomainAuditNet(vm, detach, NULL, "detach", false);
goto cleanup;
}
@ -45,10 +45,10 @@ Index: libvirt-1.3.0/src/lxc/lxc_driver.c
break;
/* It'd be nice to support this, but with macvlan
Index: libvirt-1.3.0/src/lxc/lxc_process.c
Index: libvirt-1.3.1/src/lxc/lxc_process.c
===================================================================
--- libvirt-1.3.0.orig/src/lxc/lxc_process.c
+++ libvirt-1.3.0/src/lxc/lxc_process.c
--- libvirt-1.3.1.orig/src/lxc/lxc_process.c
+++ libvirt-1.3.1/src/lxc/lxc_process.c
@@ -221,6 +221,7 @@ static void virLXCProcessCleanup(virLXCD
}
networkReleaseActualDevice(vm->def, iface);

View File

@ -2,10 +2,10 @@ Canonicalize hostarch name ppc64le to ppc64
See bnc#894956
Index: libvirt-1.3.0/src/util/virarch.c
Index: libvirt-1.3.1/src/util/virarch.c
===================================================================
--- libvirt-1.3.0.orig/src/util/virarch.c
+++ libvirt-1.3.0/src/util/virarch.c
--- libvirt-1.3.1.orig/src/util/virarch.c
+++ libvirt-1.3.1/src/util/virarch.c
@@ -169,6 +169,8 @@ virArch virArchFromHost(void)
arch = VIR_ARCH_I686;
} else if (STREQ(ut.machine, "amd64")) {

View File

@ -1,7 +1,7 @@
Index: libvirt-1.3.0/examples/apparmor/libvirt-qemu
Index: libvirt-1.3.1/examples/apparmor/libvirt-qemu
===================================================================
--- libvirt-1.3.0.orig/examples/apparmor/libvirt-qemu
+++ libvirt-1.3.0/examples/apparmor/libvirt-qemu
--- libvirt-1.3.1.orig/examples/apparmor/libvirt-qemu
+++ libvirt-1.3.1/examples/apparmor/libvirt-qemu
@@ -152,6 +152,9 @@
/sys/bus/ r,
/sys/class/ r,

View File

@ -8,11 +8,11 @@ Subject: [PATCH] support managed pci devices in xen driver
src/xenxs/xen_xm.c | 28 +++++++++++++++++++++++++++-
2 files changed, 35 insertions(+), 15 deletions(-)
Index: libvirt-1.3.0/src/xenconfig/xen_common.c
Index: libvirt-1.3.1/src/xenconfig/xen_common.c
===================================================================
--- libvirt-1.3.0.orig/src/xenconfig/xen_common.c
+++ libvirt-1.3.0/src/xenconfig/xen_common.c
@@ -403,6 +403,8 @@ xenParsePCI(virConfPtr conf, virDomainDe
--- libvirt-1.3.1.orig/src/xenconfig/xen_common.c
+++ libvirt-1.3.1/src/xenconfig/xen_common.c
@@ -393,6 +393,8 @@ xenParsePCI(virConfPtr conf, virDomainDe
{
virConfValuePtr list = virConfGetValue(conf, "pci");
virDomainHostdevDefPtr hostdev = NULL;
@ -21,7 +21,7 @@ Index: libvirt-1.3.0/src/xenconfig/xen_common.c
if (list && list->type == VIR_CONF_LIST) {
list = list->list;
@@ -424,6 +426,11 @@ xenParsePCI(virConfPtr conf, virDomainDe
@@ -414,6 +416,11 @@ xenParsePCI(virConfPtr conf, virDomainDe
/* pci=['0000:00:1b.0','0000:00:13.0'] */
if (!(key = list->str))
goto skippci;
@ -33,7 +33,7 @@ Index: libvirt-1.3.0/src/xenconfig/xen_common.c
if (!(nextkey = strchr(key, ':')))
goto skippci;
if (virStrncpy(domain, key, (nextkey - key), sizeof(domain)) == NULL) {
@@ -467,10 +474,31 @@ xenParsePCI(virConfPtr conf, virDomainDe
@@ -457,10 +464,31 @@ xenParsePCI(virConfPtr conf, virDomainDe
goto skippci;
if (virStrToLong_i(func, NULL, 16, &funcID) < 0)
goto skippci;
@ -66,11 +66,11 @@ Index: libvirt-1.3.0/src/xenconfig/xen_common.c
hostdev->source.subsys.type = VIR_DOMAIN_HOSTDEV_SUBSYS_TYPE_PCI;
hostdev->source.subsys.u.pci.addr.domain = domainID;
hostdev->source.subsys.u.pci.addr.bus = busID;
Index: libvirt-1.3.0/src/xenconfig/xen_sxpr.c
Index: libvirt-1.3.1/src/xenconfig/xen_sxpr.c
===================================================================
--- libvirt-1.3.0.orig/src/xenconfig/xen_sxpr.c
+++ libvirt-1.3.0/src/xenconfig/xen_sxpr.c
@@ -999,6 +999,7 @@ xenParseSxprPCI(virDomainDefPtr def,
--- libvirt-1.3.1.orig/src/xenconfig/xen_sxpr.c
+++ libvirt-1.3.1/src/xenconfig/xen_sxpr.c
@@ -1060,6 +1060,7 @@ xenParseSxprPCI(virDomainDefPtr def,
int busID;
int slotID;
int funcID;
@ -78,7 +78,7 @@ Index: libvirt-1.3.0/src/xenconfig/xen_sxpr.c
node = cur->u.s.car;
if (!sexpr_lookup(node, "dev"))
@@ -1046,11 +1047,13 @@ xenParseSxprPCI(virDomainDefPtr def,
@@ -1107,11 +1108,13 @@ xenParseSxprPCI(virDomainDefPtr def,
goto error;
}
@ -93,7 +93,7 @@ Index: libvirt-1.3.0/src/xenconfig/xen_sxpr.c
dev->source.subsys.type = VIR_DOMAIN_HOSTDEV_SUBSYS_TYPE_PCI;
dev->source.subsys.u.pci.addr.domain = domainID;
dev->source.subsys.u.pci.addr.bus = busID;
@@ -2013,11 +2016,15 @@ static void
@@ -1976,11 +1979,15 @@ static void
xenFormatSxprPCI(virDomainHostdevDefPtr def,
virBufferPtr buf)
{
@ -110,7 +110,7 @@ Index: libvirt-1.3.0/src/xenconfig/xen_sxpr.c
}
@@ -2036,12 +2043,6 @@ xenFormatSxprOnePCI(virDomainHostdevDefP
@@ -1999,12 +2006,6 @@ xenFormatSxprOnePCI(virDomainHostdevDefP
virBufferPtr buf,
int detach)
{
@ -123,7 +123,7 @@ Index: libvirt-1.3.0/src/xenconfig/xen_sxpr.c
virBufferAddLit(buf, "(pci ");
xenFormatSxprPCI(def, buf);
if (detach)
@@ -2096,12 +2097,6 @@ xenFormatSxprAllPCI(virDomainDefPtr def,
@@ -2059,12 +2060,6 @@ xenFormatSxprAllPCI(virDomainDefPtr def,
for (i = 0; i < def->nhostdevs; i++) {
if (def->hostdevs[i]->mode == VIR_DOMAIN_HOSTDEV_MODE_SUBSYS &&
def->hostdevs[i]->source.subsys.type == VIR_DOMAIN_HOSTDEV_SUBSYS_TYPE_PCI) {

View File

@ -1,7 +1,7 @@
Index: libvirt-1.3.0/src/qemu/qemu.conf
Index: libvirt-1.3.1/src/qemu/qemu.conf
===================================================================
--- libvirt-1.3.0.orig/src/qemu/qemu.conf
+++ libvirt-1.3.0/src/qemu/qemu.conf
--- libvirt-1.3.1.orig/src/qemu/qemu.conf
+++ libvirt-1.3.1/src/qemu/qemu.conf
@@ -201,11 +201,20 @@
# isolation, but it cannot appear in a list of drivers.
#

View File

@ -1,7 +1,7 @@
Index: libvirt-1.3.0/daemon/libvirtd.service.in
Index: libvirt-1.3.1/daemon/libvirtd.service.in
===================================================================
--- libvirt-1.3.0.orig/daemon/libvirtd.service.in
+++ libvirt-1.3.0/daemon/libvirtd.service.in
--- libvirt-1.3.1.orig/daemon/libvirtd.service.in
+++ libvirt-1.3.1/daemon/libvirtd.service.in
@@ -7,6 +7,7 @@ After=iscsid.service
After=apparmor.service
After=local-fs.target

View File

@ -1,33 +0,0 @@
From 9abe699b0b91fd2c8a2870b36342a37fa97f7e36 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?C=C3=A9dric=20Bosdonnat?= <cbosdonnat@suse.com>
Date: Tue, 17 Nov 2015 10:11:30 +0100
Subject: [PATCH] virt-aa-helper: don't deny writes to readonly mounts
There is no need to deny writes on a readonly mount: write still
won't be accepted, even if the user remounts the folder as RW in
the guest as qemu sets the 9p mount as ro.
This deny rule was leading to problems for example with readonly /:
The qemu process had to write to a bunch of files in / like logs,
sockets, etc. This deny rule was also preventing auditing of these
denials, making it harder to debug.
---
src/security/virt-aa-helper.c | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
Index: libvirt-1.3.0/src/security/virt-aa-helper.c
===================================================================
--- libvirt-1.3.0.orig/src/security/virt-aa-helper.c
+++ libvirt-1.3.0/src/security/virt-aa-helper.c
@@ -1127,7 +1127,10 @@ get_files(vahControl * ctl)
ctl->def->fss[i]->src) {
virDomainFSDefPtr fs = ctl->def->fss[i];
- if (vah_add_path(&buf, fs->src, fs->readonly ? "r" : "rw", true) != 0)
+ /* We don't need to add deny rw rules for readonly mounts,
+ * this can only lead to troubles when mounting / readonly.
+ */
+ if (vah_add_path(&buf, fs->src, "rw", true) != 0)
goto cleanup;
}
}

View File

@ -1,9 +1,9 @@
Adjust virtlockd init files to conform to SUSE standards
Index: libvirt-1.3.0/src/locking/virtlockd.sysconf
Index: libvirt-1.3.1/src/locking/virtlockd.sysconf
===================================================================
--- libvirt-1.3.0.orig/src/locking/virtlockd.sysconf
+++ libvirt-1.3.0/src/locking/virtlockd.sysconf
--- libvirt-1.3.1.orig/src/locking/virtlockd.sysconf
+++ libvirt-1.3.1/src/locking/virtlockd.sysconf
@@ -1,3 +1,7 @@
+## Path: System/Virtualization/virtlockd
+
@ -12,22 +12,28 @@ Index: libvirt-1.3.0/src/locking/virtlockd.sysconf
#
# Pass extra arguments to virtlockd
#VIRTLOCKD_ARGS=
Index: libvirt-1.3.0/src/locking/virtlockd.init.in
Index: libvirt-1.3.1/src/locking/virtlockd.init.in
===================================================================
--- libvirt-1.3.0.orig/src/locking/virtlockd.init.in
+++ libvirt-1.3.0/src/locking/virtlockd.init.in
@@ -4,12 +4,14 @@
# http://www.linux-foundation.org/spec//booksets/LSB-Core-generic/LSB-Core-generic.html#INITSCRCOMCONV
--- libvirt-1.3.1.orig/src/locking/virtlockd.init.in
+++ libvirt-1.3.1/src/locking/virtlockd.init.in
@@ -4,59 +4,57 @@
# http://refspecs.linuxfoundation.org/LSB_5.0.0/LSB-Core-generic/LSB-Core-generic/initscrcomconv.html
#
### BEGIN INIT INFO
-# Provides: virtlockd
-# Default-Start:
-# Default-Stop: 0 1 2 3 4 5 6
-# Default-Start: 3 4 5
-# Default-Stop: 0 1 2 6
-# Required-Start:
-# Required-Stop:
-# Should-Start: $network $remote_fs
-# Should-Stop: $network $remote_fs
+# Provides: virtlockd
+# Required-Start: $network $remote_fs
+# Default-Start: 3 5
+# Required-Stop: $network $remote_fs
+# Default-Start: 3 5
+# Default-Stop: 0 1 2 4 6
+# Should-Start:
+# Should-Stop:
# Short-Description: virtual machine lock manager
-# Description: This is a daemon for managing locks
-# on virtual machine disk images
@ -36,8 +42,21 @@ Index: libvirt-1.3.0/src/locking/virtlockd.init.in
### END INIT INFO
# the following is chkconfig init header
@@ -24,35 +26,33 @@
# pidfile: @localstatedir@/run/virtlockd.pid
#
-# virtlockd: virtual machine lock manager
+# virtlockd: virtual machine lock manager
#
-# chkconfig: 345 96 04
-# description: This is a daemon for managing locks \
-# on virtual machine disk images
+# chkconfig: 345 96 04
+# description: This is a daemon for managing locks \
+# on virtual machine disk images
#
-# processname: virtlockd
-# pidfile: @localstatedir@/run/virtlockd.pid
+# processname: virtlockd
+# pidfile: @localstatedir@/run/virtlockd.pid
#
-# Source function library.
@ -84,7 +103,7 @@ Index: libvirt-1.3.0/src/locking/virtlockd.init.in
rm -f $PIDFILE
fi
}
@@ -66,9 +66,7 @@ reload() {
@@ -70,9 +68,7 @@ reload() {
echo -n $"Reloading $SERVICE configuration: "
killproc -p $PIDFILE $PROCESS -USR1
@ -95,7 +114,7 @@ Index: libvirt-1.3.0/src/locking/virtlockd.init.in
}
# See how we were called.
@@ -77,18 +75,20 @@ case "$1" in
@@ -81,18 +77,20 @@ case "$1" in
$1
;;
status)

View File

@ -1,21 +1,27 @@
Adjust virtlogd init files to conform to SUSE standards
Index: libvirt-1.3.0/src/logging/virtlogd.init.in
Index: libvirt-1.3.1/src/logging/virtlogd.init.in
===================================================================
--- libvirt-1.3.0.orig/src/logging/virtlogd.init.in
+++ libvirt-1.3.0/src/logging/virtlogd.init.in
@@ -4,12 +4,14 @@
# http://www.linux-foundation.org/spec//booksets/LSB-Core-generic/LSB-Core-generic.html#INITSCRCOMCONV
--- libvirt-1.3.1.orig/src/logging/virtlogd.init.in
+++ libvirt-1.3.1/src/logging/virtlogd.init.in
@@ -4,59 +4,56 @@
# http://refspecs.linuxfoundation.org/LSB_5.0.0/LSB-Core-generic/LSB-Core-generic/initscrcomconv.html
#
### BEGIN INIT INFO
-# Provides: virtlogd
-# Default-Start:
-# Default-Stop: 0 1 2 3 4 5 6
-# Default-Start: 3 4 5
-# Default-Stop: 0 1 2 6
-# Required-Start:
-# Required-Stop:
-# Should-Start: $network $remote_fs
-# Should-Stop: $network $remote_fs
+# Provides: virtlogd
+# Required-Start: $network $remote_fs
+# Default-Start: 3 5
+# Required-Stop: $network $remote_fs
+# Default-Start: 3 5
+# Default-Stop: 0 1 2 4 6
+# Should-Start
+# Should-Stop:
# Short-Description: virtual machine log manager
-# Description: This is a daemon for managing logs
-# of virtual machine consoles
@ -24,8 +30,21 @@ Index: libvirt-1.3.0/src/logging/virtlogd.init.in
### END INIT INFO
# the following is chkconfig init header
@@ -24,35 +26,32 @@
# pidfile: @localstatedir@/run/virtlogd.pid
#
-# virtlogd: virtual machine log manager
+# virtlogd: virtual machine log manager
#
-# chkconfig: 345 96 04
-# description: This is a daemon for managing logs \
-# of virtual machine consoles
+# chkconfig: 345 96 04
+# description: This is a daemon for managing logs \
+# of virtual machine consoles
#
-# processname: virtlogd
-# pidfile: @localstatedir@/run/virtlogd.pid
+# processname: virtlogd
+# pidfile: @localstatedir@/run/virtlogd.pid
#
-# Source function library.
@ -49,7 +68,7 @@ Index: libvirt-1.3.0/src/logging/virtlogd.init.in
- daemon --pidfile $PIDFILE --check $SERVICE $PROCESS --daemon $VIRTLOGD_ARGS
- RETVAL=$?
- echo
- [ $RETVAL -eq 0 ] && touch @localstatedir@/log/subsys/$SERVICE
- [ $RETVAL -eq 0 ] && touch @localstatedir@/lock/subsys/$SERVICE
+ echo -n $"Starting $SERVICE "
+ test -d $PIDDIR || mkdir -p $PIDDIR
+ startproc -p $PIDFILE $PROCESS --pid-file $PIDFILE --daemon $VIRTLOGD_ARGS
@ -66,11 +85,11 @@ Index: libvirt-1.3.0/src/logging/virtlogd.init.in
- echo
+ rc_status -v
if [ $RETVAL -eq 0 ]; then
- rm -f @localstatedir@/log/subsys/$SERVICE
- rm -f @localstatedir@/lock/subsys/$SERVICE
rm -f $PIDFILE
fi
}
@@ -66,9 +65,7 @@ reload() {
@@ -70,9 +67,7 @@ reload() {
echo -n $"Reloading $SERVICE configuration: "
killproc -p $PIDFILE $PROCESS -USR1
@ -81,7 +100,7 @@ Index: libvirt-1.3.0/src/logging/virtlogd.init.in
}
# See how we were called.
@@ -77,18 +74,20 @@ case "$1" in
@@ -81,18 +76,20 @@ case "$1" in
$1
;;
status)
@ -95,7 +114,7 @@ Index: libvirt-1.3.0/src/logging/virtlogd.init.in
reload
;;
condrestart|try-restart)
- [ -f @localstatedir@/log/subsys/$SERVICE ] && restart || :
- [ -f @localstatedir@/lock/subsys/$SERVICE ] && restart || :
+ $0 status >/dev/null && restart || :
;;
*)
@ -107,10 +126,10 @@ Index: libvirt-1.3.0/src/logging/virtlogd.init.in
esac
-exit $RETVAL
+rc_exit
Index: libvirt-1.3.0/src/logging/virtlogd.sysconf
Index: libvirt-1.3.1/src/logging/virtlogd.sysconf
===================================================================
--- libvirt-1.3.0.orig/src/logging/virtlogd.sysconf
+++ libvirt-1.3.0/src/logging/virtlogd.sysconf
--- libvirt-1.3.1.orig/src/logging/virtlogd.sysconf
+++ libvirt-1.3.1/src/logging/virtlogd.sysconf
@@ -1,3 +1,7 @@
+## Path: System/Virtualization/virtlogd
+

View File

@ -1,17 +1,17 @@
Index: libvirt-1.3.0/src/xenconfig/xen_sxpr.c
Index: libvirt-1.3.1/src/xenconfig/xen_sxpr.c
===================================================================
--- libvirt-1.3.0.orig/src/xenconfig/xen_sxpr.c
+++ libvirt-1.3.0/src/xenconfig/xen_sxpr.c
@@ -334,7 +334,7 @@ xenParseSxprChar(const char *value,
--- libvirt-1.3.1.orig/src/xenconfig/xen_sxpr.c
+++ libvirt-1.3.1/src/xenconfig/xen_sxpr.c
@@ -390,7 +390,7 @@ xenParseSxprVifRate(const char *rate, un
static int
xenParseSxprDisks(virDomainDefPtr def,
const struct sexpr *root,
- int hvm,
+ int hvm ATTRIBUTE_UNUSED,
int xendConfigVersion)
- int hvm)
+ int hvm ATTRIBUTE_UNUSED)
{
const struct sexpr *cur, *node;
@@ -385,7 +385,6 @@ xenParseSxprDisks(virDomainDefPtr def,
virDomainDiskDefPtr disk = NULL;
@@ -440,7 +440,6 @@ xenParseSxprDisks(virDomainDefPtr def,
/* There is a case without the uname to the CD-ROM device */
offset = strchr(dst, ':');
if (!offset ||

View File

@ -6,11 +6,11 @@ and 'file'. This was implicitly done prior to commit 9673418c.
https://bugzilla.suse.com/show_bug.cgi?id=938228
Index: libvirt-1.3.0/src/xenconfig/xen_sxpr.c
Index: libvirt-1.3.1/src/xenconfig/xen_sxpr.c
===================================================================
--- libvirt-1.3.0.orig/src/xenconfig/xen_sxpr.c
+++ libvirt-1.3.0/src/xenconfig/xen_sxpr.c
@@ -449,10 +449,11 @@ xenParseSxprDisks(virDomainDefPtr def,
--- libvirt-1.3.1.orig/src/xenconfig/xen_sxpr.c
+++ libvirt-1.3.1/src/xenconfig/xen_sxpr.c
@@ -504,10 +504,11 @@ xenParseSxprDisks(virDomainDefPtr def,
omnipotent, we can revisit this, perhaps stat()'ing
the src file in question */
virDomainDiskSetType(disk, VIR_STORAGE_TYPE_FILE);