Blob Blame History Raw
From 2fd64785d330f6ff8090b9b01f15b7f75ab57e41 Mon Sep 17 00:00:00 2001
From: "Bryn M. Reeves" <bmr@redhat.com>
Date: Tue, 13 Aug 2013 14:54:20 +0100
Subject: [PATCH 1/4] Improve readability of add_copy_specs() usage in ldap.py

Use multi-line style for add_copy_specs() invocations in the ldap
plug-in per the recommendations in Issue #173.

Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
---
 sos/plugins/ldap.py | 13 ++++++++++---
 1 file changed, 10 insertions(+), 3 deletions(-)

diff --git a/sos/plugins/ldap.py b/sos/plugins/ldap.py
index b16b7b3..4d33076 100644
--- a/sos/plugins/ldap.py
+++ b/sos/plugins/ldap.py
@@ -1,4 +1,4 @@
-### This program is free software; you can redistribute it and/or modify
+## This program is free software; you can redistribute it and/or modify
 ## it under the terms of the GNU General Public License as published by
 ## the Free Software Foundation; either version 2 of the License, or
 ## (at your option) any later version.
@@ -49,7 +49,10 @@ class RedHatLdap(Ldap, RedHatPlugin):
 
     def setup(self):
         super(RedHatLdap, self).setup()
-        self.add_copy_specs(["/etc/openldap", "/etc/nslcd.conf"])
+        self.add_copy_specs([
+                "/etc/openldap",
+                "/etc/nslcd.conf"
+        ])
 
     def postproc(self):
         self.do_file_sub("/etc/nslcd.conf", r"(\s*bindpw\s*)\S+", r"\1***")
@@ -66,7 +69,11 @@ class DebianLdap(Ldap, DebianPlugin, UbuntuPlugin):
 
         ldap_search = "ldapsearch -Q -LLL -Y EXTERNAL -H ldapi:/// "
 
-        self.add_copy_specs(["/etc/ldap/ldap.conf", "/etc/slapd.conf", "/etc/ldap/slapd.d"])
+        self.add_copy_specs([
+            "/etc/ldap/ldap.conf",
+            "/etc/slapd.conf",
+            "/etc/ldap/slapd.d"
+        ])
 
         self.add_cmd_output("ldapsearch -x -b '' -s base 'objectclass=*'")
         self.add_cmd_output(ldap_search + "-b cn=config '(!(objectClass=olcSchemaConfig))'",
-- 
1.7.11.7


From a4a686eb589f0d54bc3808ce57c792356aa36106 Mon Sep 17 00:00:00 2001
From: "Bryn M. Reeves" <bmr@redhat.com>
Date: Tue, 13 Aug 2013 15:19:02 +0100
Subject: [PATCH 2/4] Add pam_ldap.conf collection to ldap plug-in

Add the pam_ldap.conf file to the data collected by the ldap
plug-in and tidy up substitution strings for this plug-in.

Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
---
 sos/plugins/ldap.py | 13 +++++++++----
 1 file changed, 9 insertions(+), 4 deletions(-)

diff --git a/sos/plugins/ldap.py b/sos/plugins/ldap.py
index 4d33076..361de73 100644
--- a/sos/plugins/ldap.py
+++ b/sos/plugins/ldap.py
@@ -39,23 +39,28 @@ class Ldap(Plugin):
         self.add_copy_spec("/etc/ldap.conf")
 
     def postproc(self):
-        self.do_file_sub("/etc/ldap.conf", r"(\s*bindpw\s*)\S+", r"\1***")
+        self.do_file_sub("/etc/ldap.conf", r"(\s*bindpw\s*)\S+", r"\1******")
 
 class RedHatLdap(Ldap, RedHatPlugin):
     """LDAP related information for RedHat based distribution
     """
 
     packages = ('openldap', 'nss-pam-ldapd')
+    files = ('/etc/ldap.conf', '/etc/pam_ldap.conf')
 
     def setup(self):
         super(RedHatLdap, self).setup()
         self.add_copy_specs([
                 "/etc/openldap",
-                "/etc/nslcd.conf"
+                "/etc/nslcd.conf",
+                "/etc/pam_ldap.conf"
         ])
 
     def postproc(self):
-        self.do_file_sub("/etc/nslcd.conf", r"(\s*bindpw\s*)\S+", r"\1***")
+        self.do_file_sub("/etc/nslcd.conf",
+                        r"(\s*bindpw\s*)\S+", r"\1********")
+        self.do_file_sub("/etc/pam_ldap.conf",
+                        r"(\s*bindpw\s*)\S+", r"\1********")
 
 class DebianLdap(Ldap, DebianPlugin, UbuntuPlugin):
     """LDAP related information for Debian based distribution
@@ -86,4 +91,4 @@ class DebianLdap(Ldap, DebianPlugin, UbuntuPlugin):
     def postproc(self):
         self.do_cmd_output_sub(
         "ldapsearch -Q -LLL -Y EXTERNAL -H ldapi:/// -b cn=config '(!(objectClass=olcSchemaConfig))'",
-            r"(olcRootPW\: \s*)\S+", r"\1***")
+            r"(olcRootPW\: \s*)\S+", r"\1********")
-- 
1.7.11.7


From cfb53a07ba72a311d2962e0bd73cf74430a4cad8 Mon Sep 17 00:00:00 2001
From: "Bryn M. Reeves" <bmr@redhat.com>
Date: Fri, 31 Jan 2014 15:25:15 +0000
Subject: [PATCH 3/4] Remove obsolete diagnostics code from ldap plugin

Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
---
 sos/plugins/ldap.py | 12 ------------
 1 file changed, 12 deletions(-)

diff --git a/sos/plugins/ldap.py b/sos/plugins/ldap.py
index 361de73..f1032a9 100644
--- a/sos/plugins/ldap.py
+++ b/sos/plugins/ldap.py
@@ -22,18 +22,6 @@ class Ldap(Plugin):
     plugin_name = "ldap"
     ldap_conf = "/etc/openldap/ldap.conf"
 
-    def get_ldap_opts(self):
-        # capture /etc/openldap/ldap.conf options in dict
-        # FIXME: possibly not hardcode these options in?
-        ldapopts=["URI","BASE","TLS_CACERTDIR"]
-        results={}
-        tmplist=[]
-        for i in ldapopts:
-            t=self.do_regex_find_all(r"^(%s)\s+(.*)" % i,self.ldap_conf)
-            for x in t:
-                results[x[0]]=x[1].rstrip("\n")
-        return results
-
     def setup(self):
         super(Ldap, self).setup()
         self.add_copy_spec("/etc/ldap.conf")
-- 
1.7.11.7


From e1a30a6d63a376d892a10d9cec89b312356ba9c2 Mon Sep 17 00:00:00 2001
From: "Bryn M. Reeves" <bmr@redhat.com>
Date: Fri, 31 Jan 2014 15:43:44 +0000
Subject: [PATCH 4/4] Ensure superclass postproc method is called in ldap
 plugin

Since the ldap plugins add files and post-processing methods at
multiple class levels (Ldap, RedHatLdap etc.) derived classes
must explicitly call their parent class's postproc() method to
apply all substitutions to collected data.

Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
---
 sos/plugins/ldap.py | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/sos/plugins/ldap.py b/sos/plugins/ldap.py
index f1032a9..79d8394 100644
--- a/sos/plugins/ldap.py
+++ b/sos/plugins/ldap.py
@@ -45,6 +45,7 @@ class RedHatLdap(Ldap, RedHatPlugin):
         ])
 
     def postproc(self):
+        super(RedHatLdap, self).postproc()
         self.do_file_sub("/etc/nslcd.conf",
                         r"(\s*bindpw\s*)\S+", r"\1********")
         self.do_file_sub("/etc/pam_ldap.conf",
@@ -77,6 +78,7 @@ class DebianLdap(Ldap, DebianPlugin, UbuntuPlugin):
             suggest_filename="access_control_lists")
 
     def postproc(self):
+        super(RedHatLdap, self).postproc()
         self.do_cmd_output_sub(
         "ldapsearch -Q -LLL -Y EXTERNAL -H ldapi:/// -b cn=config '(!(objectClass=olcSchemaConfig))'",
             r"(olcRootPW\: \s*)\S+", r"\1********")
-- 
1.7.11.7