xend: 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 <mbgrego@tycho.ncsc.mil>
Signed-off-by: George S. Coker, II <gscoker@alpha.ncsc.mil>
This commit is contained in:
Keir Fraser committed 2009-08-26 15:35:14 +01:00
1 parent adfa96375a
commit c50b989b44
3 files changed
+6 -17

No files matched your search

+1 -1
View File
@@ -25,7 +25,7 @@ def label2ssidref(label, policy, type):
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
-5
View File
@@ -802,11 +802,6 @@ class XendConfig(dict):
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)):
+5 -11
View File
@@ -1163,17 +1163,11 @@ def preprocess_access_control(vals):
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:
Reference in new issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.