Commit 27b5c2e2 by Stephen Fromm

Fix how module_common handles selevel (issue #4142)

Two fixes:

* parameter name is selevel, not serange.
* Fix split on selinux context to limit to max of 4 since the selevel
  may contain ':' characters.  This was fixed in
  selinux_default_context() and selinux_context().
parent 671eeb65
...@@ -233,7 +233,7 @@ class AnsibleModule(object): ...@@ -233,7 +233,7 @@ class AnsibleModule(object):
seuser = params.get('seuser', None) seuser = params.get('seuser', None)
serole = params.get('serole', None) serole = params.get('serole', None)
setype = params.get('setype', None) setype = params.get('setype', None)
selevel = params.get('serange', 's0') selevel = params.get('selevel', None)
secontext = [seuser, serole, setype] secontext = [seuser, serole, setype]
if self.selinux_mls_enabled(): if self.selinux_mls_enabled():
...@@ -309,7 +309,9 @@ class AnsibleModule(object): ...@@ -309,7 +309,9 @@ class AnsibleModule(object):
return context return context
if ret[0] == -1: if ret[0] == -1:
return context return context
context = ret[1].split(':') # Limit split to 4 because the selevel, the last in the list,
# may contain ':' characters
context = ret[1].split(':', 3)
return context return context
def selinux_context(self, path): def selinux_context(self, path):
...@@ -325,7 +327,9 @@ class AnsibleModule(object): ...@@ -325,7 +327,9 @@ class AnsibleModule(object):
self.fail_json(path=path, msg='failed to retrieve selinux context') self.fail_json(path=path, msg='failed to retrieve selinux context')
if ret[0] == -1: if ret[0] == -1:
return context return context
context = ret[1].split(':') # Limit split to 4 because the selevel, the last in the list,
# may contain ':' characters
context = ret[1].split(':', 3)
return context return context
def user_and_group(self, filename): def user_and_group(self, filename):
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment