summaryrefslogtreecommitdiffstats
path: root/ipaclient
diff options
context:
space:
mode:
authorPavel Vomacka <pvomacka@redhat.com>2017-03-09 12:14:21 +0100
committerDavid Kupka <dkupka@redhat.com>2017-03-14 15:13:43 +0100
commit75c592d3b9081474cae51c929e6af29c7a0eebb6 (patch)
tree08a829055afb0d7d4c3ee4048ae4826f590aac9b /ipaclient
parent8980f4098ebf6b62556e24f090718802d1e495d3 (diff)
downloadfreeipa-75c592d3b9081474cae51c929e6af29c7a0eebb6.tar.gz
freeipa-75c592d3b9081474cae51c929e6af29c7a0eebb6.tar.xz
freeipa-75c592d3b9081474cae51c929e6af29c7a0eebb6.zip
Support certificate login after installation and upgrade
Add necessary steps which set SSSD and set SELinux boolean during installation or upgrade. Also create new endpoint in apache for login using certificates. https://pagure.io/freeipa/issue/6225 Reviewed-By: Florence Blanc-Renaud <frenaud@redhat.com> Reviewed-By: Petr Vobornik <pvoborni@redhat.com> Reviewed-By: David Kupka <dkupka@redhat.com>
Diffstat (limited to 'ipaclient')
-rw-r--r--ipaclient/install/client.py20
1 files changed, 20 insertions, 0 deletions
diff --git a/ipaclient/install/client.py b/ipaclient/install/client.py
index 1f5ba168c..549c9b819 100644
--- a/ipaclient/install/client.py
+++ b/ipaclient/install/client.py
@@ -846,6 +846,9 @@ def configure_sssd_conf(
sssdconfig.new_config()
domain = sssdconfig.new_domain(cli_domain)
+ if options.on_master:
+ sssd_enable_service(sssdconfig, 'ifp')
+
if (
(options.conf_ssh and file_exists(paths.SSH_CONFIG)) or
(options.conf_sshd and file_exists(paths.SSHD_CONFIG))
@@ -948,6 +951,23 @@ def configure_sssd_conf(
return 0
+def sssd_enable_service(sssdconfig, service):
+ try:
+ sssdconfig.new_service(service)
+ except SSSDConfig.ServiceAlreadyExists:
+ pass
+ except SSSDConfig.ServiceNotRecognizedError:
+ root_logger.error(
+ "Unable to activate the %s service in SSSD config.", service)
+ root_logger.info(
+ "Please make sure you have SSSD built with %s support "
+ "installed.", service)
+ root_logger.info(
+ "Configure %s support manually in /etc/sssd/sssd.conf.", service)
+
+ sssdconfig.activate_service(service)
+
+
def change_ssh_config(filename, changes, sections):
if not changes:
return True