As scheduled I just tagged the git tree and pushed the tarball and rpms
to the usual place:
ftp://libvirt.org/libvirt/
the next relase is planned at the end of February.
This is a bug fix release, we never had that many security advisories
closed in a single release, and there is a lot of various bug fixes so
users are really invited to upgrate to the new version !
One clearly identified new feature and a reasonable number of
improvements too, so not just bugfixes though :)
Features:
- network events API (Cédric Bosdonnat)
Security:
- CVE-2014-0028 event: filter global events by domain:getattr ACL (Eric Blake)
- CVE-2014-1447-2 Really don't crash if a connection closes early (Jiri Denemark)
- CVE-2014-1447-1 Don't crash if a connection closes early (Jiri Denemark)
- CVE-2013-6458-4 qemu: Fix job usage in virDomainGetBlockIoTune (Jiri Denemark)
- CVE-2013-6458-3 qemu: Fix job usage in qemuDomainBlockJobImpl (Jiri Denemark)
- CVE-2013-6458-2 qemu: Avoid using stale data in virDomainGetBlockInfo (Jiri Denemark)
- CVE-2013-6458-1 qemu: Do not access stale data in virDomainBlockStats (Jiri Denemark)
- CVE-2013-6457 libxl: avoid crashing if calling `virsh numatune' on inactive domain
(Dario Faggioli)
- CVE-2013-6436: fix crash in lxcDomainGetMemoryParameters (Martin Kletzander)
Documentation:
- mention maintenance branches (Eric Blake)
- Fix docs for PMWakeup/PMSuspend callback types (Claudio Bley)
- storage: fs: Fix comment for virStorageBackendFileSystemDelete (Peter Krempa)
- Clarify documentation on possible return values in case of errors (Claudio Bley)
- Add Documentation fields to systemd service files (Guido Günther)
- add LXC multi console command docs and a example (Chen Hanxiao)
- maint: fix comment typos in qemu numa code (Eric Blake)
- return paragraph must be last (Eric Blake)
- fix layout of code snippets (Eric Blake)
- improve event-related documentation (Eric Blake)
- virsh: man: Mention that volumes need to be in storage pool for undefine (Peter Krempa)
- fix address type for disks (Martin Kletzander)
- qemu: fix typo PCi => PCI (Martin Kletzander)
- tools: Fix virsh connect man page (Jiri Denemark)
- fix a typo in libvirt.h (Chen Hanxiao)
- fix recent typo (Eric Blake)
- Enhance memoryBacking/locked documentation (Jiri Denemark)
- fix double articles bug (Wang Yufei)
- Explicitly declaring that nodedev-destroy only works for vHBA (Osier Yang)
- fix some typos (Eric Blake)
- fix typo in previous patch (Eric Blake)
- fix typos in libvirt.h.in (Chen Hanxiao)
Portability:
- build: fix build on mingw with winpthreads (Eric Blake)
- BSD: implement nodeGetMemoryStats (Roman Bogorodskiy)
- build: fix bootstrap with older autoconf (Eric Blake)
- AArch64: Porting of armv7l conditons to run qemu for aarch64. (Pranavkumar
Sawargaonkar)
- vmware: os x support is broken (Denis Kondratenko)
- tests: fix syntax in previous patch (Eric Blake)
- aarch64: Fix sysinfo test. (Richard W.M. Jones)
- aarch64: Disable -fstack-protector. (Richard W.M. Jones)
- virnettlscontexttest fails with GNUTLS 3.0.28 (Cédric Bosdonnat)
- Fix build when default python is python3 (Lénaïc Huard)
- specfile: fix make rpm when with_driver_modules is 1 (Laine Stump)
- object: require maximal alignment in base class (Eric Blake)
- configure: Resolve compile issue in configure.ac (Adam Walters)
Bug Fixes:
- qemu: Avoid operations on NULL monitor if VM fails early (Peter Krempa)
- Fix coverity complain in commandtest.c (Pavel Hrdina)
- Fix memory leak in securityselinuxlabeltest.c (Pavel Hrdina)
- Fix possible memory leak in util/virxml.c (Pavel Hrdina)
- Fix possible memory leak in phyp_driver.c (Pavel Hrdina)
- Fix memory leak in openvz_conf.c (Pavel Hrdina)
- Fix memory leak in testDomainCreateXMLMixed() (Nehal J Wani)
- schema: fix idmap validation (Eric Blake)
- event: don't queue NULL event on OOM (Eric Blake)
- virt-login-shell: fix regressions in behavior (Eric Blake)
- storage: fix crash when listing volumes or undefining a pool (Martin Kletzander)
- qemuBuildNicDevStr: Set vectors= on Multiqueue (Michal Privoznik)
- libxl: Fix devid init in libxlMakeNicList (Stefan Bader)
- LXC: create monitor socket under selinux context of domain (Gao feng)
- virsh: Use inactive definition when removing disk from config (Peter Krempa)
- virsh: Don't use legacy API if --current is used on device hot(un)plug (Peter
Krempa)
- virConnect(Un)registerCloseCallback: Unlock @conn prior to error dispatch (Michal
Privoznik)
- Allow to install apparmor profiles (Guido Günther)
- Fix bridge configuration when OUTPUT policy is DROP on the host (Lénaïc Huard)
- lxc_controller: Don't leak @name (Michal Privoznik)
- qemu: Fix job usage in qemuDomainBlockCopy (Jiri Denemark)
- Fix segmentation fault when accessing default qemu machine type (Yudai Yamagish)
- event: make deregister return value match docs (Eric Blake)
- qemuProcessStop: Don't overwrite any errors (Michal Privoznik)
- Fix argument order of qemuMigrationPerformJob(). (Minoru Usui)
- libxl: Fix initialization of nictype in libxl_device_nic (Jim Fehlig)
- qemu: range check numa memory placement mode (Peter Krempa)
- Fix explicit usage of default video PCI slots (Ján Tomko)
- maint: avoid nested public calls (Eric Blake)
- event: don't overwrite registration error message (Eric Blake)
- tests: sysinfotest: Actual/expected were swapped in error message. (Richard W.M. Jones)
- domain: don't try to interpret <driver> as virtio config for hostdev
interfaces (Laine Stump)
- virkeycode: Allow ANSI_A (Michal Privoznik)
- interface: Take interface status into account when starting and destroying (Michal
Privoznik)
- event-test: Unregister close callback (Michal Privoznik)
- qemu: re-add hostdev interfaces to hostdev array on libvirtd restart (Laine Stump)
- qemu: avoid duplicate security label restore on hostdev attach failure (Laine Stump)
- qemu: properly set MaxMemLock when hotplugging with VFIO (Laine Stump)
- PanicCheckABIStability: Need to check for existence (John Ferlan)
- libxl: fix segfault when domain create fail (Bamvor Jian Zhang)
- Fix crash in lxcDomainSetMemoryParameters (Martin Kletzander)
- storage: fix bogus target in gluster volume xml (Eric Blake)
- Fix crash in virsystemdtest with dbus 1.7.6 (Cédric Bosdonnat)
- Fix race leading to crash when setting up dbus watches (Daniel P. Berrange)
- libxl: libxl_get_max_cpus returning a libxl error from 4.4 onward (Dario Faggioli)
- virsh: domain: Fix undefine with storage of 'volume' disks (Peter Krempa)
- qemu: ask for -enable-fips when FIPS is required (Eric Blake)
- configure: make --with-test-suite work (Martin Kletzander)
- Fix memory leak in virObjectEventCallbackListRemoveID() (Nehal J Wani)
- qemu: check for reboot-timeout on monitor (Martin Kletzander)
- lxc: return -1 if failed to kill lxc process (Chen Hanxiao)
- Add another missing % on %{_libdir} macro (Laine Stump)
- Add missing % on %{_libdir} macro in RPM (Daniel P. Berrange)
- storage: fix omitted slash in gluster volume URI (Eric Blake)
- qemu_process: Read errors from child (Michal Privoznik)
- qemu: hotplug: Fix adding USB devices to the driver list (Cole Robinson)
- qemu: hotplug: Fix double free on USB collision (Cole Robinson)
- qemu: hotplug: Only label hostdev after checking device conflicts (Cole Robinson)
- lxcContainerMountFSDevPTS: Unify @ret usage pattern (Chen Hanxiao)
- conf: Fix XML formatting of RNG device info (Peter Krempa)
- qemu: snapshot: Fix incorrect disk type for auto-generated disks (Peter Krempa)
- virThreadPoolFree: Set n(Prio)Workers after the pool is locked (Michal Privoznik)
- qemuAgentDispose: Reset lastError (Wangyufei (James))
- Fix memory leak in qemuBuildDriveStr() (Nehal J Wani)
- Don't overwrite errors from virConfReadFile (Daniel P. Berrange)
- virThreadPoolFree: Join worker threads (Michal Privoznik)
- qemu: fix live pinning to memory node on NUMA system (Shivaprasad G Bhat)
- storage_driver: Resolve Coverity CHECKED_RETURN warning (John Ferlan)
- bridge_driver: Resolve Coverity CHECKED_RETURN warning (John Ferlan)
- virnetserverclient: Fix conditional change HAVE_SASL to WITH_SASL (John Ferlan)
- virnetserverclient: Remove Coverity DEADCODE warning (John Ferlan)
- nwfilter: Remove Coverity DEADCODE warning (John Ferlan)
- qemu: report error on attempt to live change virtio-net queues (Laine Stump)
- daemon: Run virStateCleanup conditionally (Michal Privoznik)
- qemu: default to vfio for nodedev-detach (Laine Stump)
- Ensure to zero out the virDomainBlockJobInfo arg (Daniel P. Berrange)
- snapshot: conf: Fix NULL dereference when <driver> element is empty (Peter
Krempa)
Improvements:
- event: wire up RPC for server-side network event filtering (Eric Blake)
- event: add notion of remoteID for filtering client network events (Eric Blake)
- event: track callbackID on daemon side of RPC (Eric Blake)
- tests: be more explicit on qcow2 versions in virstoragetest (Eric Blake)
- Add Gao feng to the committers list (Gao feng)
- maint: ignore transient files during tests (Eric Blake)
- storage: FS: Tweak some comments and fix typos (Peter Krempa)
- Exercise the ABI stability check code in test suite (Daniel P. Berrange)
- storage: Improve error message when a storage backend is missing (Peter Krempa)
- storage: lvm: Avoid forward decl of virStorageBackendLogicalDeleteVol (Peter Krempa)
- maint: improve VIR_ERR_INVALID_DOMAIN_SNAPSHOT usage (Eric Blake)
- maint: improve VIR_ERR_INVALID_NWFILTER usage (Eric Blake)
- maint: improve VIR_ERR_INVALID_STREAM usage (Eric Blake)
- maint: improve VIR_ERR_INVALID_SECRET usage (Eric Blake)
- maint: improve VIR_ERR_INVALID_NODE_DEVICE usage (Eric Blake)
- maint: improve VIR_ERR_INVALID_STORAGE_VOL usage (Eric Blake)
- maint: improve VIR_ERR_INVALID_STORAGE_POOL usage (Eric Blake)
- test driver: Add authentication to test driver. (Richard W.M. Jones)
- maint: improve VIR_ERR_INVALID_INTERFACE usage (Eric Blake)
- event: clean up client side RPC code (Eric Blake)
- Make sure AC_ARG_WITH is always executed (Guido Günther)
- maint: improve VIR_ERR_INVALID_NETWORK usage (Eric Blake)
- conf: trivial typo fix (Martin Kletzander)
- maint: inline VIR_IS*_DOMAIN macro (Eric Blake)
- maint: improve VIR_ERR_INVALID_DOMAIN usage (Eric Blake)
- event: make network events easier to use without casts (Eric Blake)
- event: don't turn offline domain into global event (Eric Blake)
- event: don't allow mix of old- and new-style registration (Eric Blake)
- event: properly filter count of remaining events (Eric Blake)
- Read PCI class from sysfs class file instead of config space. (Thadeu Lima de Souza
Cascardo)
- event: tighten scope of object_event (Eric Blake)
- event: don't let old-style events clobber per-domain events (Eric Blake)
- event: rename confusing variable in test, remote drivers (Eric Blake)
- event: share state driver between test:///default connections (Eric Blake)
- lxc_controller: Fix error message on missing --handshakefd (Michal Privoznik)
- maint: inline VIR_IS_CONNECT macro (Eric Blake)
- maint: Fix messy include of libvirt_internal.h (Peter Krempa)
- maint: improve VIR_ERR_INVALID_CONN usage (Eric Blake)
- maint: improve VIR_ERR_OPERATION_DENIED usage (Eric Blake)
- qemu: Clean up qemuDomainSetNumaParameters (Peter Krempa)
- storage: Use VIR_DELETE_ELEMENT instead of open coding (Peter Krempa)
- event: use newer array management macros (Eric Blake)
- event: use bool in more places (Eric Blake)
- maint: improve VIR_ERR_NO_SUPPORT usage (Eric Blake)
- event: remove unneeded virObjectEventGetEventID (Eric Blake)
- event: fix doc typos, and doc more public methods (Eric Blake)
- maint: reset error on entrance to public API (Eric Blake)
- maint: improve error condition style in public API (Eric Blake)
- maint: split long lines in invalidArg errors (Eric Blake)
- maint: move debug statements first in public API (Eric Blake)
- maint: improve debug of libvirt-{qemu,lxc} apis (Eric Blake)
- maint: consistent formatting in libvirt.c (Eric Blake)
- event: improve public API docs (Eric Blake)
- tests: virnetsockettest: Print the error if getifaddrs fails. (Richard W.M. Jones)
- maint: update to latest gnulib (Eric Blake)
- maint: fix typo in error message (Eric Blake)
- interface: Introduce netcfInterfaceObjIsActive (Michal Privoznik)
- examples: Resurrect domsuspend example (Michal Privoznik)
- libxl: correctly handle affinity reset in virDomainPinVcpu[Flags] (Dario Faggioli)
- libxl: implement virDomainPinVcpuFlags (Dario Faggioli)
- libxl: implement virDomainGetVcpuPinInfo (Dario Faggioli)
- virt-login-shell: clean up usage (Eric Blake)
- storage: Avoid forward declaration of virStorageVolDelete (Peter Krempa)
- storage: Add gluster pool filter and fix virsh pool listing (Peter Krempa)
- snapshot: schema: Split out snapshot disk driver definition (Peter Krempa)
- Remove redefinition of bool type when --enable-test-locking (Daniel P. Berrange)
- Set the 'container_ttys' env variable for LXC consoles (Daniel P. Berrange)
- storage: resize vol against real allocated size (Michal Privoznik)
- Support transient attribute on vmware disks (Wout Mertens)
- LXC: Change incorrect error report in lxcContainerPivotRoot (Gao feng)
- Add debug output when registering event handlers (Daniel P. Berrange)
- Remove the event namespace concept (Daniel P. Berrange)
- Associate a dispatch function with the event objects (Daniel P. Berrange)
- Introduce abstract virNetworkEvent class (Daniel P. Berrange)
- Add 'detail' arg to network lifecycle event internals (Daniel P. Berrange)
- Update event demo program to support network events too (Daniel P. Berrange)
- Move examples/domain-events/event-c to examples/object-events (Daniel P. Berrange)
- qemu: add support for -device pvpanic (Hu Tao)
- conf: add support for panic device (Hu Tao)
- conf: introduce generic ISA address (Hu Tao)
- Bump version to 1.2.1 for new dev cycle (Daniel P. Berrange)
- rename virBlkioDeviceWeightPtr to virBlkioDevicePtr (Gao feng)
- rename virBlkioDeviceWeightArrayClear to virBlkioDeviceArrayClear (Gao feng)
- rename virDomainBlkioDeviceWeightParseXML to virDomainBlkioDeviceParseXML (Gao feng)
- storage: show gluster option in virsh --version=long (Eric Blake)
- Added default case with error for object event dispatching (Cédric Bosdonnat)
- Fixed indentation in src/conf/*_event* (Cédric Bosdonnat)
- Added network events to the bridged network driver (Cédric Bosdonnat)
- Add network events to the remote driver (Cédric Bosdonnat)
- Add network events unit tests (Cédric Bosdonnat)
- test driver: implemented network events (Cédric Bosdonnat)
- Added Network events API and virNetworkEventLifecycle. (Cédric Bosdonnat)
- storage_backend_rbd: rename "stat" variable (Michael Chapman)
- If we do not specify a readonly mount, we don't need to re-mount it again. (Chen
Hanxiao)
- daemon/remote.c: renamed remoteDispatchDomainEventSend (Cédric Bosdonnat)
- test driver: renamed testDomainEventQueue into testObjectEventQueue (Cédric Bosdonnat)
- Extracted common parts of domain_event.[ch] to object_event.[ch] (Cédric Bosdonnat)
- Split the virObjectEvent and virDomainEvent* to separate them after (Cédric Bosdonnat)
- Renamed virDomainEventTimer to virObjectEventTimer (Cédric Bosdonnat)
- Add object event namespaces for the event IDs (Cédric Bosdonnat)
- Use virObjectEventPtr instead of virDomainEventPtr (Cédric Bosdonnat)
- Create virDomainEventDeviceRemoved and remove the huge union (Cédric Bosdonnat)
- Create virDomainEventBalloonChange to get rid of the huge union (Cédric Bosdonnat)
- Create virDomainEventTrayChange to get rid of the huge union (Cédric Bosdonnat)
- Create virDomainEventDiskChange to get rid of the huge union (Cédric Bosdonnat)
- Create virDomainEventBlockJob to get rid of the huge union (Cédric Bosdonnat)
- Create virDomainEventGraphics to get rid of the huge union (Cédric Bosdonnat)
- Create virDomainEventIOError to get rid of the huge union (Cédric Bosdonnat)
- Create virDomainEventWatchdog to get rid of the huge union (Cédric Bosdonnat)
- Create virDomainEventRTCChange to get rid of the huge union (Cédric Bosdonnat)
- Renamed virDomainEventNewInternal to virDomainEventNew (Cédric Bosdonnat)
- Renamed virDomainEventNew* to virDomainEventLifecycleNew* (Cédric Bosdonnat)
- Create virDomainEventLifecycle to start removing the huge union (Cédric Bosdonnat)
- virObject-ified virDomainEvent (Cédric Bosdonnat)
- Created virObjectEventStateRegisterID (Cédric Bosdonnat)
- Renamed virDomainEventCallbackList* to virObjectEventCallbackList* (Cédric Bosdonnat)
- Renamed virDomainEventState to virObjectEventState (Cédric Bosdonnat)
- Renamed virDomainEventQueue to virObjectEventQueue (Cédric Bosdonnat)
- Renamed virDomainMeta to virObjectMeta (Cédric Bosdonnat)
- Rename virDomainEventCallback to virObjectEventCallback (Cédric Bosdonnat)
- Added domain start/stop/define/undefine event unit tests (Cédric Bosdonnat)
- spec: clean up libvirtd and virtlockd service mgmt (Michael Chapman)
- virtlockd: use common exit path when out-of-memory (Michael Chapman)
- virtlockd: improve initscripts (Michael Chapman)
- virtlockd: improve systemd units (Michael Chapman)
- conf: don't format memtune with unlimited values (Martin Kletzander)
- qemu: Fix minor inconsistency in error message (Martin Kletzander)
- qemu: Report VIR_DOMAIN_MEMORY_PARAM_UNLIMITED properly (Martin Kletzander)
- cgroups: Redefine what "unlimited" means wrt memory limits (Martin
Kletzander)
- spec: move driver-specific files to driver subpackages (Jim Fehlig)
- spec: Define hypervisor-specific files together (Jim Fehlig)
- spec: Conditionally specify some hypervisor-specific files (Jim Fehlig)
- spec: Fix files list when building without driver modules (Jim Fehlig)
- spec: Only add libvirt-daemon pre install script if building with qemu (Jim Fehlig)
- spec: Fix unconditional references of nwfilter (Jim Fehlig)
- Cgroup: Replace 'newpath' with 'newPath' (Zhou Yimin)
- Add qxl ram size to ABI stability check (Ján Tomko)
- qemu: Improve error when setting invalid count of vcpus via agent (Peter Krempa)
- qemu: hotplug: Mark 2 private functions as static (Cole Robinson)
- qemu: Fix indentation in qemuTranslateDiskSourcePool (Peter Krempa)
- domainsnapshotxml2xmltest: Add test case for empty driver element (Peter Krempa)
- domainsnapshotxml2xmltest: Add existing files as new tests (Peter Krempa)
- domainsnapshotxml2xml: Move files with conflicting names (Peter Krempa)
- domainsnapshotxml2xmltest: Allow for better testing of snapshots (Peter Krempa)
- domainsnapshotxml2xmltest: Clean up labels and use bool instead of int (Peter Krempa)
- maint: Kill usage of atoi() (Peter Krempa)
- src: Align make output (Michal Privoznik)
- tests: add forgotten boot-strict test files (Laine Stump)
- qemu: add "-boot strict" to commandline whenever possible (Laine Stump)
- qemu: snapshots: Declare supported and unsupported snapshot configs (Peter Krempa)
- qemu: Clear old translated pool source (Peter Krempa)
- qemu: Refactor disk source string formatting (Peter Krempa)
- qemu: Unify formatting of RBD sources (Peter Krempa)
- qemu: Split out NBD command generation (Peter Krempa)
- qemu: Migrate sheepdog source generation into common function (Peter Krempa)
- qemu: Use qemuBuildNetworkDriveURI to handle http/ftp and friends (Peter Krempa)
- qemu: Simplify call pattern of qemuBuildDriveURIString (Peter Krempa)
- qemu: Split out formatting of network disk source URI (Peter Krempa)
- qemu: Refactor qemuTranslateDiskSourcePool (Peter Krempa)
- virsh: improve grammar in error message (Eric Blake)
- qemu: snapshot: Add functions similar to disk source pool translation (Peter Krempa)
- qemu: snapshot: Touch up error message (Peter Krempa)
- conf: Add helper do clear disk source authentication struct (Peter Krempa)
- qemu: snapshot: Detect internal snapshots also for sheepdog and RBD (Peter Krempa)
- conf: Add functions to copy and free network disk source definitions (Peter Krempa)
- snapshot: conf: Use common parsing and formatting functions for source (Peter Krempa)
- conf: Export disk source formatter and parser (Peter Krempa)
- conf: Split out seclabel formating code for disk source (Peter Krempa)
- conf: Clean up virDomainDiskSourceDefFormatInternal (Peter Krempa)
- conf: Support disk source formatting without needing a virDomainDiskDefPtr (Peter
Krempa)
- tests: Fix comment for fake storage pool driver (Peter Krempa)
- qemuxml2argv: Add test for disk type='volume' with iSCSI pools (Peter Krempa)
- qemuxml2argv: Add test to verify correct usage of disk type="volume" (Peter
Krempa)
- test: Implement fake storage pool driver in qemuxml2argv test (Peter Krempa)
- util: Use new array management macros (Osier Yang)
Cleanups:
- storage: Break long lines and clean up spaces in storage backend header (Peter Krempa)
- event: fix typo in previous patch (Eric Blake)
- Remove stray semicolon after pragma macros (Daniel P. Berrange)
- examples: Remove broken bad example (Peter Krempa)
Thanks everybody who contributed to the release in some way, be it
with bug reports, ideas, patches, reviews, docs or localizations !
Enjoy !
Daniel
--
Daniel Veillard | Open Source and Standards, Red Hat
veillard(a)redhat.com | libxml Gnome XML XSLT toolkit
http://xmlsoft.org/
http://veillard.com/ | virtualization library
http://libvirt.org/