[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-changelog] [xen-unstable] Revert 10534 (xm subcommands for ACM). Doesn't work when ACM disabled.
# HG changeset patch # User kaf24@xxxxxxxxxxxxxxxxxxxx # Node ID 266573a53949e97bdfbc75d0de58f41dc62bd821 # Parent a0a93337f9abfce7dae0da565e359ddd2cac5163 Revert 10534 (xm subcommands for ACM). Doesn't work when ACM disabled. Signed-off-by: Keir Fraser <keir@xxxxxxxxxxxxx> --- tools/python/xen/util/security.py | 22 +++++++++++++--------- tools/python/xen/xm/addlabel.py | 18 ++++++++++++------ tools/python/xen/xm/getlabel.py | 19 +++++++++++-------- tools/python/xen/xm/resources.py | 23 ++++++++++++++++------- tools/python/xen/xm/rmlabel.py | 20 ++++++++++++-------- 5 files changed, 64 insertions(+), 38 deletions(-) diff -r a0a93337f9ab -r 266573a53949 tools/python/xen/util/security.py --- a/tools/python/xen/util/security.py Thu Jun 29 14:37:32 2006 +0100 +++ b/tools/python/xen/util/security.py Thu Jun 29 14:38:39 2006 +0100 @@ -22,10 +22,10 @@ import sys, os, string, re import sys, os, string, re import traceback import shutil +#from xml.marshal import generic from xen.lowlevel import acm from xen.xend import sxp from xen.xend.XendLogging import log -from xen.util import dictio #global directories and tools for security management policy_dir_prefix = "/etc/xen/acm-security/policies" @@ -551,16 +551,20 @@ def get_res_label(resource): (label, policy) = default_res_label() # load the resource label file - res_label_cache = {} - try: - res_label_cache = dictio.dict_read("resources", res_label_filename) - except: + configfile = res_label_filename + if not os.path.isfile(configfile): log.info("Resource label file not found.") return default_res_label() - - # find the resource information - if res_label_cache.has_key(resource): - (policy, label) = res_label_cache[resource] +# +# Commented out pending replacement for xml.marshal.generic +# +# fd = open(configfile, "rb") +# res_label_cache = generic.load(fd) +# fd.close() + +# # find the resource information +# if res_label_cache.has_key(resource): +# (policy, label) = res_label_cache[resource] return (label, policy) diff -r a0a93337f9ab -r 266573a53949 tools/python/xen/xm/addlabel.py --- a/tools/python/xen/xm/addlabel.py Thu Jun 29 14:37:32 2006 +0100 +++ b/tools/python/xen/xm/addlabel.py Thu Jun 29 14:38:39 2006 +0100 @@ -22,7 +22,7 @@ import sys, os import sys, os import string import traceback -from xen.util import dictio +#from xml.marshal import generic from xen.util import security def usage(): @@ -79,13 +79,17 @@ def add_resource_label(label, resource, return # see if this resource is already in the file - access_control = {} file = security.res_label_filename - try: - access_control = dictio.dict_read("resources", file) - except: + if not os.path.isfile(file): print "Resource file not found, creating new file at:" print "%s" % (file) + fd = open(file, "w") + fd.close(); + access_control = {} + else: + fd = open(file, "rb") +# access_control = generic.load(fd) + fd.close() if access_control.has_key(resource): security.err("This resource is already labeled.") @@ -93,7 +97,9 @@ def add_resource_label(label, resource, # write the data to file new_entry = { resource : tuple([policyref, label]) } access_control.update(new_entry) - dictio.dict_write(access_control, "resources", file) + fd = open(file, "wb") +# generic.dump(access_control, fd) + fd.close() except security.ACMError: pass diff -r a0a93337f9ab -r 266573a53949 tools/python/xen/xm/getlabel.py --- a/tools/python/xen/xm/getlabel.py Thu Jun 29 14:37:32 2006 +0100 +++ b/tools/python/xen/xm/getlabel.py Thu Jun 29 14:38:39 2006 +0100 @@ -21,7 +21,7 @@ import sys, os, re import sys, os, re import string import traceback -from xen.util import dictio +#from xml.marshal import generic from xen.util import security def usage(): @@ -33,15 +33,17 @@ def get_resource_label(resource): def get_resource_label(resource): """Gets the resource label """ - # read in the resource file - file = security.res_label_filename try: - access_control = dictio.dict_read("resources", file) - except: - print "Resource label file not found" - return + # read in the resource file + file = security.res_label_filename + if os.path.isfile(file): + fd = open(file, "rb") +# access_control = generic.load(fd) + fd.close() + else: + print "Resource label file not found" + return - try: # get the entry and print label if access_control.has_key(resource): policy = access_control[resource][0] @@ -98,6 +100,7 @@ def get_domain_label(configfile): data = data.strip() data = data.lstrip("[\'") data = data.rstrip("\']") + (p, l) = data.split(",") print data except security.ACMError: diff -r a0a93337f9ab -r 266573a53949 tools/python/xen/xm/resources.py --- a/tools/python/xen/xm/resources.py Thu Jun 29 14:37:32 2006 +0100 +++ b/tools/python/xen/xm/resources.py Thu Jun 29 14:38:39 2006 +0100 @@ -21,7 +21,7 @@ import sys, os import sys, os import string import traceback -from xen.util import dictio +#from xml.marshal import generic from xen.util import security def usage(): @@ -40,15 +40,24 @@ def print_resource_data(access_control): print " label: "+label +def get_resource_data(): + """Returns the resource dictionary. + """ + file = security.res_label_filename + if not os.path.isfile(file): + security.err("Resource file not found.") + + fd = open(file, "rb") +# access_control = generic.load(fd) + fd.close() + return access_control + + def main (argv): try: - file = security.res_label_filename - access_control = dictio.dict_read("resources", file) - except: - security.err("Resource file not found.") + access_control = get_resource_data() + print_resource_data(access_control) - try: - print_resource_data(access_control) except security.ACMError: pass except: diff -r a0a93337f9ab -r 266573a53949 tools/python/xen/xm/rmlabel.py --- a/tools/python/xen/xm/rmlabel.py Thu Jun 29 14:37:32 2006 +0100 +++ b/tools/python/xen/xm/rmlabel.py Thu Jun 29 14:38:39 2006 +0100 @@ -21,7 +21,7 @@ import sys, os, re import sys, os, re import string import traceback -from xen.util import dictio +#from xml.marshal import generic from xen.util import security def usage(): @@ -36,18 +36,22 @@ def rm_resource_label(resource): def rm_resource_label(resource): """Removes a resource label from the global resource label file. """ - # read in the resource file - file = security.res_label_filename try: - access_control = dictio.dict_read("resources", file) - except: - security.err("Resource file not found, cannot remove label!") + # read in the resource file + file = security.res_label_filename + if os.path.isfile(file): + fd = open(file, "rb") +# access_control = generic.load(fd) + fd.close() + else: + security.err("Resource file not found, cannot remove label!") - try: # remove the entry and update file if access_control.has_key(resource): del access_control[resource] - dictio.dict_write(access_control, "resources", file) + fd = open(file, "wb") +# generic.dump(access_control, fd) + fd.close() else: security.err("Label does not exist in resource label file.") _______________________________________________ Xen-changelog mailing list Xen-changelog@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-changelog
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |