tools/python/xen Flask MLS security label handling
PATCH 1/1 tools/python/xen Flask MLS security label handling
Changed the way security labels are handled to allow domains to be labeled with Flask MLS security labels. Changed the error message generated when an invalid context is submitted to be more useful.
Signed-off-by Machon B. Gregory <[email protected]>
Signed-off-by George S. Coker, II <[email protected]>
---
tools/python/xen/util/xsm/flask/flask.py | 2 +- tools/python/xen/xend/XendConfig.py | 5 ----- tools/python/xen/xm/create.py | 16 +++++----------- 3 files changed, 6 insertions(+), 17 deletions(-)
Signature · 2 lines
Machon Gregory National Information Assurance Research Lab (NIARL)
tools/python/xen/util/xsm/flask/flask.py +1 -1
@@ -25,7 +25,7 @@ try: return flask.flask_context_to_sid(label) except: - return "" + raise XSMError('Invalid context %s' % label) def parse_security_label(security_label): return security_label
tools/python/xen/xend/XendConfig.py +0 -5
@@ -799,11 +799,6 @@ if not sxp.child_value(sxp_cfg, 'security_label'): del cfg['security'] - sec_lab = cfg['security_label'].split(":") - if len(sec_lab) != 3: - raise XendConfigError("Badly formatted security label: %s" - % cfg['security_label']) - old_state = sxp.child_value(sxp_cfg, 'state') if old_state: for i in range(len(CONFIG_OLD_DOM_STATES)):
tools/python/xen/xm/create.py +5 -11
@@ -1163,17 +1163,11 @@ num = len(vals.access_control) if num == 1: access_control = (vals.access_control)[0] - d = {} - a = access_control.split(',') - if len(a) > 2: - err('Too many elements in access_control specifier: ' + access_control) - for b in a: - (k, v) = b.strip().split('=', 1) - k = k.strip() - v = v.strip() - if k not in ['policy','label']: - err('Invalid access_control specifier: ' + access_control) - d[k] = v + acc_re = 'policy=(?P<policy>.*),label=(?P<label>.*)' + acc_match = re.match(acc_re,access_control) + if acc_match == None: + err('Invalid access_control specifier: ' + access_control) + d = acc_match.groupdict(); access_controls.append(d) vals.access_control = access_controls elif num > 1:
_______________________________________________
Xen-devel mailing list
[email protected]
http://lists.xensource.com/xen-devel