diff --git a/CHANGELOG b/CHANGELOG index f160cf83..83d05be9 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -1,5 +1,17 @@ # Change Log +# 1.3.11 07/10/2015 + +* Escape other usage of glob +* Fix Dynamips identifier is already used by another router +* Protect dynamips against bad glob +* Catch ProcessLookupError in Qemu VM. +* Use the correct UDP tunnel Qemu syntax for version > 1.1.0 when legacy networking is enabled. +* Prevent launching a packet capture with a non-ASCII path when using Dynamips. +* Do not automatically delete Dynamips bootflash file because they are necessary to restore VLANs on the c3600 platform. +* Fix dynamips configuration lost when you delete a node +* Clarify error message when we got UTF-8 chars in the iourc file +* Check for valid FR or ATM switch mappings. Fixes #300. ## 1.4.0b3 22/09/2015 diff --git a/gns3server/modules/qemu/qemu_vm.py b/gns3server/modules/qemu/qemu_vm.py index 86f03a19..32f91768 100644 --- a/gns3server/modules/qemu/qemu_vm.py +++ b/gns3server/modules/qemu/qemu_vm.py @@ -971,10 +971,19 @@ class QemuVM(BaseVM): log.debug('QEMU VM "{name}" [{id}] is closing'.format(name=self._name, id=self._id)) self.acpi_shutdown = False yield from self.stop() + if self._console: self._manager.port_manager.release_tcp_port(self._console, self._project) self._console = None + for adapter in self._ethernet_adapters: + if adapter is not None: + for nio in adapter.ports.values(): + if nio and isinstance(nio, NIOUDP): + self.manager.port_manager.release_udp_port(nio.lport, self._project) + + yield from self.stop() + @asyncio.coroutine def _get_vm_status(self): """