A client may configure ldap in any number of different places. If the file exists we should update it.

You can test this by not installing nslcd on F-15 and install nss_ldap instead. The resulting client install will not work.


rob
>From 28d84ddf75a73e6965cdc81795f51e572d4aaddc Mon Sep 17 00:00:00 2001
From: Rob Crittenden <rcrit...@redhat.com>
Date: Fri, 14 Oct 2011 11:29:35 -0400
Subject: [PATCH] Update all LDAP configuration files that we can.

LDAP can be configured in any number of places, we need to update everything
we find.

https://fedorahosted.org/freeipa/ticket/1369
---
 ipa-client/ipa-install/ipa-client-install |    7 +++++--
 1 files changed, 5 insertions(+), 2 deletions(-)

diff --git a/ipa-client/ipa-install/ipa-client-install b/ipa-client/ipa-install/ipa-client-install
index d6e48c5..86e19e4 100755
--- a/ipa-client/ipa-install/ipa-client-install
+++ b/ipa-client/ipa-install/ipa-client-install
@@ -459,6 +459,7 @@ def configure_ldap_conf(fstore, cli_basedn, cli_realm, cli_domain, cli_server, d
     opts.append({'name':'empty', 'type':'empty'})
 
     ret = (0, None, None)
+    files = []
     # Depending on the release and distribution this may exist in any
     # number of different file names, update what we find
     for filename in ['/etc/ldap.conf', '/etc/nss_ldap.conf', '/etc/libnss-ldap.conf', '/etc/pam_ldap.conf']:
@@ -466,11 +467,13 @@ def configure_ldap_conf(fstore, cli_basedn, cli_realm, cli_domain, cli_server, d
             try:
                 fstore.backup_file(filename)
                 ldapconf.newConf(filename, opts)
-                return (0, 'LDAP', filename)
+                files.append(filename)
             except Exception, e:
                 print "Creation of %s: %s" % (filename, str(e))
                 return (1, 'LDAP', filename)
 
+    if files:
+        return (0, 'LDAP', ', '.join(files))
     return ret
 
 def configure_nslcd_conf(fstore, cli_basedn, cli_realm, cli_domain, cli_server, dnsok, options):
@@ -1186,7 +1189,7 @@ def install(options, env, fstore, statestore):
             if retcode:
                 return CLIENT_INSTALL_ERROR
             if conf:
-                print "%s configured using configuration file %s" % (conf, filename)
+                print "%s configured using configuration file(s) %s" % (conf, filename)
 
     #Check that nss is working properly
     if not options.on_master:
-- 
1.7.4

_______________________________________________
Freeipa-devel mailing list
Freeipa-devel@redhat.com
https://www.redhat.com/mailman/listinfo/freeipa-devel

Reply via email to