diff --git a/lib/ansible/module_common.py b/lib/ansible/module_common.py index f024503793..a41b3d0a3e 100644 --- a/lib/ansible/module_common.py +++ b/lib/ansible/module_common.py @@ -233,7 +233,7 @@ class AnsibleModule(object): seuser = params.get('seuser', None) serole = params.get('serole', None) setype = params.get('setype', None) - selevel = params.get('serange', 's0') + selevel = params.get('selevel', None) secontext = [seuser, serole, setype] if self.selinux_mls_enabled(): @@ -309,7 +309,9 @@ class AnsibleModule(object): return context if ret[0] == -1: 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 def selinux_context(self, path): @@ -325,7 +327,9 @@ class AnsibleModule(object): self.fail_json(path=path, msg='failed to retrieve selinux context') if ret[0] == -1: 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 def user_and_group(self, filename):