diff --git a/tools/python/xen/util/security.py b/tools/python/xen/util/security.py index e617ddf894..91c0badd74 100644 --- a/tools/python/xen/util/security.py +++ b/tools/python/xen/util/security.py @@ -601,8 +601,15 @@ def unify_resname(resource): """Makes all resource locations absolute. In case of physical resources, '/dev/' is added to local file names""" + if not resource: + return resource + # sanity check on resource name - (type, resfile) = resource.split(":") + try: + (type, resfile) = resource.split(":") + except: + err("Resource spec '%s' contains no ':' delimiter" % resource) + if type == "phy": if not resfile.startswith("/"): resfile = "/dev/" + resfile diff --git a/tools/python/xen/xm/create.py b/tools/python/xen/xm/create.py index bfe967b504..67bc9f3602 100644 --- a/tools/python/xen/xm/create.py +++ b/tools/python/xen/xm/create.py @@ -1161,6 +1161,8 @@ def config_security_check(config, verbose): except security.ACMError: print " %s: DENIED" % (resource) (res_label, res_policy) = security.get_res_label(resource) + if not res_label: + res_label = "" print " --> res: %s (%s)" % (str(res_label), str(res_policy)) print " --> dom: %s (%s)" % (str(domain_label), @@ -1202,7 +1204,7 @@ def main(argv): PrettyPrint.prettyprint(config) else: if not create_security_check(config): - raise OptionError('Security Configuration prevents domain from starting') + raise security.ACMError('Security Configuration prevents domain from starting') else: dom = make_domain(opts, config) if opts.vals.console_autoconnect: