ipautil: move is_fips_enabled() to ipaplatform.tasks

The FIPS setting is platform-specific.

https://fedorahosted.org/freeipa/ticket/6474

Reviewed-By: Stanislav Laznicka <slaznick@redhat.com>
This commit is contained in:
Jan Cholasta
2016-11-23 16:13:31 +01:00
committed by Martin Basti
parent d911f49348
commit 75b70e3f0d
7 changed files with 28 additions and 28 deletions

View File

@@ -249,3 +249,6 @@ class BaseTaskNamespace(object):
def remove_httpd_service_ipa_conf(self):
"""Remove configuration of httpd service of IPA"""
raise NotImplementedError()
def is_fips_enabled(self):
return False

View File

@@ -478,4 +478,23 @@ class RedHatTaskNamespace(BaseTaskNamespace):
def set_hostname(self, hostname):
ipautil.run([paths.BIN_HOSTNAMECTL, 'set-hostname', hostname])
def is_fips_enabled(self):
"""
Checks whether this host is FIPS-enabled.
Returns a boolean indicating if the host is FIPS-enabled, i.e. if the
file /proc/sys/crypto/fips_enabled contains a non-0 value. Otherwise,
or if the file /proc/sys/crypto/fips_enabled does not exist,
the function returns False.
"""
try:
with open(paths.PROC_FIPS_ENABLED, 'r') as f:
if f.read().strip() != '0':
return True
except IOError:
# Consider that the host is not fips-enabled if the file does not
# exist
pass
return False
tasks = RedHatTaskNamespace()