From 1ab466329362c632645cba4c0410a03d2f825b98 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?= Date: Mon, 6 Apr 2015 02:55:26 +0200 Subject: [PATCH] core: reject non-NetVM for vm.netvm and vm.dispvm_netvm --- core-modules/000QubesVm.py | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/core-modules/000QubesVm.py b/core-modules/000QubesVm.py index 054bdf2f..04ecec16 100644 --- a/core-modules/000QubesVm.py +++ b/core-modules/000QubesVm.py @@ -419,6 +419,9 @@ class QubesVm(object): def _set_netvm(self, new_netvm): self.log.debug('netvm = {!r}'.format(new_netvm)) + if new_netvm and not new_netvm.is_netvm(): + raise ValueError("Vm {!r} does not provide network".format( + new_netvm)) if self.is_running() and new_netvm is not None and not new_netvm.is_running(): raise QubesException("Cannot dynamically attach to stopped NetVM") if self.netvm is not None: @@ -611,6 +614,9 @@ class QubesVm(object): @dispvm_netvm.setter def dispvm_netvm(self, value): + if value and not value.is_netvm(): + raise ValueError("Vm {!r} does not provide network".format( + value)) self._dispvm_netvm = value @property