Hello community, here is the log from the commit of package libvirt for openSUSE:Factory checked in at Thu Dec 18 15:36:10 CET 2008. -------- --- libvirt/libvirt.changes 2008-12-05 21:56:01.000000000 +0100 +++ /mounts/work_src_done/STABLE/libvirt/libvirt.changes 2008-12-15 20:42:37.000000000 +0100 @@ -1,0 +2,6 @@ +Mon Dec 15 12:40:41 MST 2008 - jfehlig@novell.com + +- Patch for CVE-2008-5086 + bnc#459009 + +------------------------------------------------------------------- calling whatdependson for head-i586 New: ---- cve-2008-5086.patch ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ libvirt.spec ++++++ --- /var/tmp/diff_new_pack.U13338/_old 2008-12-18 15:28:57.000000000 +0100 +++ /var/tmp/diff_new_pack.U13338/_new 2008-12-18 15:28:57.000000000 +0100 @@ -49,7 +49,7 @@ Group: Development/Libraries/C and C++ AutoReqProv: yes Version: 0.4.6 -Release: 12 +Release: 13 Summary: A C toolkit to interract with the virtualization capabilities of Linux Requires: readline Requires: ncurses @@ -85,6 +85,7 @@ Patch16: xen-pv-cdrom.patch Patch17: detach-disk.patch Patch18: migrate-params.patch +Patch19: cve-2008-5086.patch BuildRoot: %{_tmppath}/%{name}-%{version}-build %description @@ -194,6 +195,7 @@ %patch16 -p1 %patch17 -p1 %patch18 -p1 +%patch19 -p1 rm po/no.* %build @@ -326,6 +328,9 @@ %{py_sitedir}/libvirtmod* %changelog +* Mon Dec 15 2008 jfehlig@novell.com +- Patch for CVE-2008-5086 + bnc#459009 * Fri Dec 05 2008 jfehlig@novell.com - Fix migration of Xen domains bnc#456946 ++++++ cve-2008-5086.patch ++++++ Index: libvirt-0.4.6/src/libvirt.c =================================================================== --- libvirt-0.4.6.orig/src/libvirt.c +++ libvirt-0.4.6/src/libvirt.c @@ -2342,6 +2342,16 @@ virDomainMigrate (virDomainPtr domain, return NULL; } + if (domain->conn->flags & VIR_CONNECT_RO) { + virLibDomainError(domain, VIR_ERR_OPERATION_DENIED, __FUNCTION__); + return NULL; + } + if (dconn->flags & VIR_CONNECT_RO) { + /* NB, delibrately report error against source object, not dest here */ + virLibDomainError(domain, VIR_ERR_OPERATION_DENIED, __FUNCTION__); + return NULL; + } + /* Check that migration is supported by both drivers. */ if (!VIR_DRV_SUPPORTS_FEATURE (conn->driver, conn, VIR_DRV_FEATURE_MIGRATION_V1) || @@ -2419,6 +2429,11 @@ __virDomainMigratePrepare (virConnectPtr return -1; } + if (dconn->flags & VIR_CONNECT_RO) { + virLibConnError(dconn, VIR_ERR_OPERATION_DENIED, __FUNCTION__); + return -1; + } + if (dconn->driver->domainMigratePrepare) return dconn->driver->domainMigratePrepare (dconn, cookie, cookielen, uri_in, uri_out, @@ -2449,6 +2464,11 @@ __virDomainMigratePerform (virDomainPtr } conn = domain->conn; + if (domain->conn->flags & VIR_CONNECT_RO) { + virLibDomainError(domain, VIR_ERR_OPERATION_DENIED, __FUNCTION__); + return -1; + } + if (conn->driver->domainMigratePerform) return conn->driver->domainMigratePerform (domain, cookie, cookielen, uri, @@ -2476,6 +2496,11 @@ __virDomainMigrateFinish (virConnectPtr return NULL; } + if (dconn->flags & VIR_CONNECT_RO) { + virLibConnError(dconn, VIR_ERR_OPERATION_DENIED, __FUNCTION__); + return NULL; + } + if (dconn->driver->domainMigrateFinish) return dconn->driver->domainMigrateFinish (dconn, dname, cookie, cookielen, @@ -2833,6 +2858,11 @@ virDomainBlockPeek (virDomainPtr dom, } conn = dom->conn; + if (dom->conn->flags & VIR_CONNECT_RO) { + virLibDomainError(dom, VIR_ERR_OPERATION_DENIED, __FUNCTION__); + return (-1); + } + if (!path) { virLibDomainError (dom, VIR_ERR_INVALID_ARG, _("path is NULL")); @@ -2908,6 +2938,11 @@ virDomainMemoryPeek (virDomainPtr dom, } conn = dom->conn; + if (dom->conn->flags & VIR_CONNECT_RO) { + virLibDomainError(dom, VIR_ERR_OPERATION_DENIED, __FUNCTION__); + return (-1); + } + /* Flags must be VIR_MEMORY_VIRTUAL at the moment. * * Note on access to physical memory: A VIR_MEMORY_PHYSICAL flag is @@ -3175,6 +3210,11 @@ virDomainSetAutostart(virDomainPtr domai conn = domain->conn; + if (domain->conn->flags & VIR_CONNECT_RO) { + virLibDomainError(domain, VIR_ERR_OPERATION_DENIED, __FUNCTION__); + return (-1); + } + if (conn->driver->domainSetAutostart) return conn->driver->domainSetAutostart (domain, autostart); @@ -4125,6 +4165,11 @@ virNetworkSetAutostart(virNetworkPtr net return (-1); } + if (network->conn->flags & VIR_CONNECT_RO) { + virLibNetworkError(network, VIR_ERR_OPERATION_DENIED, __FUNCTION__); + return (-1); + } + conn = network->conn; if (conn->networkDriver && conn->networkDriver->networkSetAutostart) @@ -4323,6 +4368,11 @@ virConnectFindStoragePoolSources(virConn return NULL; } + if (conn->flags & VIR_CONNECT_RO) { + virLibConnError(conn, VIR_ERR_OPERATION_DENIED, __FUNCTION__); + return NULL; + } + if (conn->storageDriver && conn->storageDriver->findPoolSources) return conn->storageDriver->findPoolSources(conn, type, srcSpec, flags); @@ -4996,6 +5046,11 @@ virStoragePoolSetAutostart(virStoragePoo return (-1); } + if (pool->conn->flags & VIR_CONNECT_RO) { + virLibStoragePoolError(pool, VIR_ERR_OPERATION_DENIED, __FUNCTION__); + return (-1); + } + conn = pool->conn; if (conn->storageDriver && conn->storageDriver->poolSetAutostart) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Remember to have fun... -- To unsubscribe, e-mail: opensuse-commit+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-commit+help@opensuse.org