Hello community, here is the log from the commit of package libvirt for openSUSE:Factory checked in at 2017-06-01 16:28:58 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/libvirt (Old) and /work/SRC/openSUSE:Factory/.libvirt.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "libvirt" Thu Jun 1 16:28:58 2017 rev:229 rq:497373 version:3.3.0 Changes: -------- --- /work/SRC/openSUSE:Factory/libvirt/libvirt.changes 2017-05-18 20:44:42.333867089 +0200 +++ /work/SRC/openSUSE:Factory/.libvirt.new/libvirt.changes 2017-06-01 16:29:01.582494753 +0200 @@ -1,0 +2,11 @@ +Mon May 22 17:30:44 UTC 2017 - [email protected] + +- libxl: add default listen address for VNC and spice + 975ea20f-loopback-macro.patch, + dbb85e0c-libxl-graphics-listen-addr.patch + bsc#1040207 +- xenconfig: fix handling of NULL disk source + 4cd3f241-fix-NULL-disk-source.patch + bsc#1040213 + +------------------------------------------------------------------- New: ---- 4cd3f241-fix-NULL-disk-source.patch 975ea20f-loopback-macro.patch dbb85e0c-libxl-graphics-listen-addr.patch ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ libvirt.spec ++++++ --- /var/tmp/diff_new_pack.FPMbHp/_old 2017-06-01 16:29:03.074284406 +0200 +++ /var/tmp/diff_new_pack.FPMbHp/_new 2017-06-01 16:29:03.078283842 +0200 @@ -326,6 +326,9 @@ Patch6: a5691448-qemu-iommu-cache-mode.patch Patch7: 3a276c65-conf-iommu-def-stability-check.patch Patch8: 935d927a-conf-iommu-ABI-stability-check.patch +Patch9: 4cd3f241-fix-NULL-disk-source.patch +Patch10: 975ea20f-loopback-macro.patch +Patch11: dbb85e0c-libxl-graphics-listen-addr.patch # Patches pending upstream review Patch100: libxl-dom-reset.patch Patch101: network-don-t-use-dhcp-authoritative-on-static-netwo.patch @@ -905,6 +908,9 @@ %patch6 -p1 %patch7 -p1 %patch8 -p1 +%patch9 -p1 +%patch10 -p1 +%patch11 -p1 %patch100 -p1 %patch101 -p1 %patch102 -p1 ++++++ 4cd3f241-fix-NULL-disk-source.patch ++++++ commit 4cd3f241399eb691a7fc9a1279938bfe76215a77 Author: Wim ten Have <[email protected]> Date: Fri May 19 16:38:43 2017 +0200 xenconfig: fix handling of NULL disk source It is possible to crash libvirtd when converting xl native config to domXML when the xl config contains an empty disk source, e.g. an empty CDROM. Fix by checking that the disk source is non-NULL before parsing it. Signed-off-by: Wim ten Have <[email protected]> Index: libvirt-3.3.0/src/xenconfig/xen_xl.c =================================================================== --- libvirt-3.3.0.orig/src/xenconfig/xen_xl.c +++ libvirt-3.3.0/src/xenconfig/xen_xl.c @@ -316,6 +316,10 @@ xenParseXLDiskSrc(virDomainDiskDefPtr di char *tmpstr = NULL; int ret = -1; + /* A NULL source is valid, e.g. an empty CDROM */ + if (srcstr == NULL) + return 0; + if (STRPREFIX(srcstr, "rbd:")) { if (!(tmpstr = virStringReplace(srcstr, "\\\\", "\\"))) goto cleanup; Index: libvirt-3.3.0/tests/xlconfigdata/test-disk-positional-parms-partial.cfg =================================================================== --- libvirt-3.3.0.orig/tests/xlconfigdata/test-disk-positional-parms-partial.cfg +++ libvirt-3.3.0/tests/xlconfigdata/test-disk-positional-parms-partial.cfg @@ -22,4 +22,4 @@ parallel = "none" serial = "none" builder = "hvm" boot = "d" -disk = [ "/dev/HostVG/XenGuest2,,hda,,backendtype=phy", "/var/lib/libvirt/images/XenGuest2-home,,hdb,,", "/root/boot.iso,,hdc,,devtype=cdrom" ] +disk = [ "/dev/HostVG/XenGuest2,,hda,,backendtype=phy", "/var/lib/libvirt/images/XenGuest2-home,,hdb,,", "/root/boot.iso,,hdc,,devtype=cdrom" , "format=raw,vdev=hdd,access=ro,devtype=cdrom" ] Index: libvirt-3.3.0/tests/xlconfigdata/test-disk-positional-parms-partial.xml =================================================================== --- libvirt-3.3.0.orig/tests/xlconfigdata/test-disk-positional-parms-partial.xml +++ libvirt-3.3.0/tests/xlconfigdata/test-disk-positional-parms-partial.xml @@ -39,6 +39,12 @@ <readonly/> <address type='drive' controller='0' bus='1' target='0' unit='0'/> </disk> + <disk type='file' device='cdrom'> + <driver name='qemu' type='raw'/> + <target dev='hdd' bus='ide'/> + <readonly/> + <address type='drive' controller='0' bus='1' target='0' unit='1'/> + </disk> <controller type='ide' index='0'/> <interface type='bridge'> <mac address='00:16:3e:66:92:9c'/> ++++++ 975ea20f-loopback-macro.patch ++++++ commit 975ea20f85987855686a683c1840e56b7270c570 Author: Jim Fehlig <[email protected]> Date: Fri May 19 15:31:48 2017 -0600 maint: define a macro for IPv4 loopback address Use a macro instead of hardcoding "127.0.0.1" throughout the sources. Index: libvirt-3.3.0/src/internal.h =================================================================== --- libvirt-3.3.0.orig/src/internal.h +++ libvirt-3.3.0/src/internal.h @@ -79,6 +79,8 @@ # define INET_ADDRSTRLEN 16 # endif +# define VIR_LOOPBACK_IPV4_ADDR "127.0.0.1" + /* String equality tests, suggested by Jim Meyering. */ # define STREQ(a, b) (strcmp(a, b) == 0) # define STRCASEEQ(a, b) (c_strcasecmp(a, b) == 0) Index: libvirt-3.3.0/src/qemu/qemu_conf.c =================================================================== --- libvirt-3.3.0.orig/src/qemu/qemu_conf.c +++ libvirt-3.3.0/src/qemu/qemu_conf.c @@ -250,10 +250,10 @@ virQEMUDriverConfigPtr virQEMUDriverConf SYSCONFDIR "/pki/qemu") < 0) goto error; - if (VIR_STRDUP(cfg->vncListen, "127.0.0.1") < 0) + if (VIR_STRDUP(cfg->vncListen, VIR_LOOPBACK_IPV4_ADDR) < 0) goto error; - if (VIR_STRDUP(cfg->spiceListen, "127.0.0.1") < 0) + if (VIR_STRDUP(cfg->spiceListen, VIR_LOOPBACK_IPV4_ADDR) < 0) goto error; /* Index: libvirt-3.3.0/src/util/virsocketaddr.c =================================================================== --- libvirt-3.3.0.orig/src/util/virsocketaddr.c +++ libvirt-3.3.0/src/util/virsocketaddr.c @@ -383,11 +383,11 @@ virSocketAddrFormatFull(const virSocketA * nicely for UNIX sockets */ if (addr->data.sa.sa_family == AF_UNIX) { if (withService) { - if (virAsprintf(&addrstr, "127.0.0.1%s0", + if (virAsprintf(&addrstr, VIR_LOOPBACK_IPV4_ADDR"%s0", separator ? separator : ":") < 0) goto error; } else { - if (VIR_STRDUP(addrstr, "127.0.0.1") < 0) + if (VIR_STRDUP(addrstr, VIR_LOOPBACK_IPV4_ADDR) < 0) goto error; } return addrstr; Index: libvirt-3.3.0/src/vz/vz_sdk.c =================================================================== --- libvirt-3.3.0.orig/src/vz/vz_sdk.c +++ libvirt-3.3.0/src/vz/vz_sdk.c @@ -3084,7 +3084,7 @@ static int prlsdkApplyGraphicsParams(PRL glisten = virDomainGraphicsGetListen(gr, 0); pret = PrlVmCfg_SetVNCHostName(sdkdom, glisten && glisten->address ? - glisten->address : "127.0.0.1"); + glisten->address : VIR_LOOPBACK_IPV4_ADDR); prlsdkCheckRetGoto(pret, cleanup); ret = 0; ++++++ dbb85e0c-libxl-graphics-listen-addr.patch ++++++ commit dbb85e0c15593661ee8e5d95a6160ebdbaa2c9b5 Author: Jim Fehlig <[email protected]> Date: Fri May 19 15:52:04 2017 -0600 libxl: add default listen address for VNC and spice If a VNC listen address is not specified in domXML, libxl will default to 127.0.0.1, but this is never reflected in the domXML. In the case of spice, a missing listen address resulted in listening on all interfaces, i.e. '0.0.0.0'. If not specified, set the listen address in virDomainGraphicsDef struct to the libxl default when creating the frame buffer device. Additionally, set default spice listen address to 127.0.0.1. Index: libvirt-3.3.0/src/libxl/libxl_conf.c =================================================================== --- libvirt-3.3.0.orig/src/libxl/libxl_conf.c +++ libvirt-3.3.0/src/libxl/libxl_conf.c @@ -1227,13 +1227,18 @@ libxlMakeVfb(virPortAllocatorPtr graphic } x_vfb->vnc.display = l_vfb->data.vnc.port - LIBXL_VNC_PORT_MIN; - if ((glisten = virDomainGraphicsGetListen(l_vfb, 0)) && - glisten->address) { - /* libxl_device_vfb_init() does VIR_STRDUP("127.0.0.1") */ - VIR_FREE(x_vfb->vnc.listen); - if (VIR_STRDUP(x_vfb->vnc.listen, glisten->address) < 0) - return -1; + if ((glisten = virDomainGraphicsGetListen(l_vfb, 0))) { + if (glisten->address) { + /* libxl_device_vfb_init() does VIR_STRDUP("127.0.0.1") */ + VIR_FREE(x_vfb->vnc.listen); + if (VIR_STRDUP(x_vfb->vnc.listen, glisten->address) < 0) + return -1; + } else { + if (VIR_STRDUP(glisten->address, VIR_LOOPBACK_IPV4_ADDR) < 0) + return -1; + } } + if (VIR_STRDUP(x_vfb->vnc.passwd, l_vfb->data.vnc.auth.passwd) < 0) return -1; if (VIR_STRDUP(x_vfb->keymap, l_vfb->data.vnc.keymap) < 0) @@ -1335,10 +1340,16 @@ libxlMakeBuildInfoVfb(virPortAllocatorPt } b_info->u.hvm.spice.port = l_vfb->data.spice.port; - if ((glisten = virDomainGraphicsGetListen(l_vfb, 0)) && - glisten->address && - VIR_STRDUP(b_info->u.hvm.spice.host, glisten->address) < 0) - return -1; + if ((glisten = virDomainGraphicsGetListen(l_vfb, 0))) { + if (glisten->address) { + if (VIR_STRDUP(b_info->u.hvm.spice.host, glisten->address) < 0) + return -1; + } else { + if (VIR_STRDUP(b_info->u.hvm.spice.host, VIR_LOOPBACK_IPV4_ADDR) < 0 || + VIR_STRDUP(glisten->address, VIR_LOOPBACK_IPV4_ADDR) < 0) + return -1; + } + } if (VIR_STRDUP(b_info->u.hvm.keymap, l_vfb->data.spice.keymap) < 0) return -1; ++++++ libxl-def-usbctrl.patch ++++++ --- /var/tmp/diff_new_pack.FPMbHp/_old 2017-06-01 16:29:03.290253954 +0200 +++ /var/tmp/diff_new_pack.FPMbHp/_new 2017-06-01 16:29:03.290253954 +0200 @@ -27,7 +27,7 @@ =================================================================== --- libvirt-3.3.0.orig/src/libxl/libxl_conf.c +++ libvirt-3.3.0/src/libxl/libxl_conf.c -@@ -1822,34 +1822,94 @@ libxlMakeUSBController(virDomainControll +@@ -1833,34 +1833,94 @@ libxlMakeUSBController(virDomainControll } static int
