From 98540ac513adad4812db8524031f7f8ebaf43d56 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?= Date: Mon, 28 Jul 2014 00:52:51 +0200 Subject: [PATCH] core: reject VM names longer than 31 chars --- core-modules/000QubesVm.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/core-modules/000QubesVm.py b/core-modules/000QubesVm.py index e83e9000..6e456e31 100644 --- a/core-modules/000QubesVm.py +++ b/core-modules/000QubesVm.py @@ -287,7 +287,8 @@ class QubesVm(object): if not self.verify_name(self.name): raise QubesException("Invalid VM name (invalid characters, " - "or one of 'none', 'true', 'false')") + "over 31 chars long, or one of 'none', " + "'true', 'false')") if self.netvm is not None: self.netvm.connected_vms[self.qid] = self @@ -492,6 +493,8 @@ class QubesVm(object): def verify_name(self, name): if not isinstance(self.__basic_parse_xml_attr(name), str): return False + if len(name) > 31: + return False return re.match(r"^[a-zA-Z][a-zA-Z0-9_-]*$", name) is not None def pre_rename(self, new_name):