diff --git a/.gitignore b/.gitignore index 033fa91..733e5b6 100644 --- a/.gitignore +++ b/.gitignore @@ -28,3 +28,4 @@ sos-2.2.tar.gz /sos-4.7.1.tar.gz /sos-4.7.2.tar.gz /sos-4.8.0.tar.gz +/sos-4.8.1.tar.gz diff --git a/sos-RHEL-22732-Fix-check_file_too_big.patch b/sos-RHEL-22732-Fix-check_file_too_big.patch deleted file mode 100644 index ff540fd..0000000 --- a/sos-RHEL-22732-Fix-check_file_too_big.patch +++ /dev/null @@ -1,40 +0,0 @@ -From c3b8bbcf7969999375d85c588c09d90d99ea41f3 Mon Sep 17 00:00:00 2001 -From: Jose Castillo -Date: Mon, 19 Aug 2024 11:37:08 +0100 -Subject: [PATCH] [redhat] Fix return of function check_file_too_big() - -Fix the return of the size checks for Red Hat uploads -to customer portal. Without this fix, uploads were failing -silently. - -Signed-off-by: Jose Castillo ---- - sos/policies/distros/redhat.py | 5 ++--- - 1 file changed, 2 insertions(+), 3 deletions(-) - -diff --git a/sos/policies/distros/redhat.py b/sos/policies/distros/redhat.py -index fb22c313..5b794fde 100644 ---- a/sos/policies/distros/redhat.py -+++ b/sos/policies/distros/redhat.py -@@ -441,8 +441,7 @@ support representative. - f"{convert_bytes(self._max_size_request)} " - " via sos http upload. \n") - ) -- return RH_SFTP_HOST -- return RH_API_HOST -+ self.upload_url = RH_SFTP_HOST - - def upload_archive(self, archive): - """Override the base upload_archive to provide for automatic failover -@@ -450,7 +449,7 @@ support representative. - """ - try: - if self.get_upload_url().startswith(RH_API_HOST): -- self.upload_url = self.check_file_too_big(archive) -+ self.check_file_too_big(archive) - uploaded = super().upload_archive(archive) - except Exception as e: - uploaded = False --- -2.46.0 - diff --git a/sos-Revert-changed-formatting.patch b/sos-Revert-changed-formatting.patch deleted file mode 100644 index c018d46..0000000 --- a/sos-Revert-changed-formatting.patch +++ /dev/null @@ -1,71 +0,0 @@ -From 3886534b707211c69e1f0ee8592ae9f9125227f2 Mon Sep 17 00:00:00 2001 -From: Pavel Moravec -Date: Mon, 26 Aug 2024 18:59:36 +0200 -Subject: [PATCH] [report] Revert changed formatting of plugin+presets lists - -During conversion to f-strings in #3606, some changes in UI output -happen. That makes some output less readable and could break some -automated tests anticipating given preset or plugin output strings. - -This commit reverts back tto the original output, using f-strings. - -Resolves: #3762 - -Signed-off-by: Pavel Moravec ---- - sos/report/__init__.py | 14 +++++++------- - 1 file changed, 7 insertions(+), 7 deletions(-) - -diff --git a/sos/report/__init__.py b/sos/report/__init__.py -index 15974817..24294069 100644 ---- a/sos/report/__init__.py -+++ b/sos/report/__init__.py -@@ -1029,7 +1029,7 @@ class SoSReport(SoSComponent): - self.ui_log.info(_("The following plugins are currently enabled:")) - self.ui_log.info("") - for (plugname, plug) in self.loaded_plugins: -- self.ui_log.info(f"{plugname:<20} {plug.get_description()}") -+ self.ui_log.info(f" {plugname:<20} {plug.get_description()}") - else: - self.ui_log.info(_("No plugin enabled.")) - self.ui_log.info("") -@@ -1039,7 +1039,7 @@ class SoSReport(SoSComponent): - "disabled:")) - self.ui_log.info("") - for (plugname, plugclass, reason) in self.skipped_plugins: -- self.ui_log.info(f"{plugname:<20} {reason:<14} " -+ self.ui_log.info(f" {plugname:<20} {reason:<14} " - f"{plugclass.get_description()}") - - self.ui_log.info("") -@@ -1060,7 +1060,7 @@ class SoSReport(SoSComponent): - val = TIMEOUT_DEFAULT - if opt.name == 'postproc': - val = not self.opts.no_postproc -- self.ui_log.info(f"{opt.name:<25} {val:<15} {opt.desc}") -+ self.ui_log.info(f" {opt.name:<25} {val:<15} {opt.desc}") - self.ui_log.info("") - - self.ui_log.info(_("The following plugin options are available:")) -@@ -1126,14 +1126,14 @@ class SoSReport(SoSComponent): - if not preset: - continue - preset = self.policy.find_preset(preset) -- self.ui_log.info(f"name: {preset.name:>14}") -- self.ui_log.info(f"description: {preset.desc:>14}") -+ self.ui_log.info(f"{'name:':>14} {preset.name}") -+ self.ui_log.info(f"{'description:':>14} {preset.desc}") - if preset.note: -- self.ui_log.info(f"note: {preset.note:>14}") -+ self.ui_log.info(f"{'note:':>14} {preset.note}") - - if self.opts.verbosity > 0: - args = preset.opts.to_args() -- options_str = f"{'options:':>14}" -+ options_str = f"{'options:':>14} " - lines = _format_list(options_str, args, indent=True, sep=' ') - for line in lines: - self.ui_log.info(line) --- -2.46.0 - diff --git a/sos-obfuscate-environment.patch b/sos-obfuscate-environment.patch deleted file mode 100644 index 1b7b0b3..0000000 --- a/sos-obfuscate-environment.patch +++ /dev/null @@ -1,146 +0,0 @@ -From 60356d6b1096407ed9cd71cf519ac2a381bedee4 Mon Sep 17 00:00:00 2001 -From: Pavel Moravec -Date: Fri, 27 Sep 2024 08:30:06 +0200 -Subject: [PATCH 1/1] [plugins] Obfuscate http URL credentials - -HTTP_PROXY or similar env.variables can contain credentials we must -scrub. The variables or directly credentials of a http(s) URL can be -specified in several places the commit deals with. - -Futher, update apt plugin to use the new do_paths_httpp_sub method. - -Resolves: #3789 - -Signed-off-by: Pavel Moravec ---- - sos/report/plugins/__init__.py | 15 +++++++++++++++ - sos/report/plugins/anaconda.py | 9 +++++---- - sos/report/plugins/apt.py | 12 ++---------- - sos/report/plugins/system.py | 6 ++++++ - sos/report/plugins/systemd.py | 7 +++++++ - 5 files changed, 35 insertions(+), 14 deletions(-) - -diff --git a/sos/report/plugins/__init__.py b/sos/report/plugins/__init__.py -index f88f0c0d..9b54c68a 100644 ---- a/sos/report/plugins/__init__.py -+++ b/sos/report/plugins/__init__.py -@@ -1313,6 +1313,21 @@ class Plugin(): - replacements = 0 - return replacements - -+ def do_paths_http_sub(self, pathspecs): -+ """ Obfuscate credentials in *_PROXY variables in all files in the -+ given list. Proxy setting without protocol is ignored, since that -+ is not recommended setting and obfuscating that one can hit false -+ positives. -+ -+ :param pathspecs: A filepath to obfuscate credentials in -+ :type pathspecs: ``str`` or a ``list`` of strings -+ """ -+ if isinstance(pathspecs, str): -+ pathspecs = [pathspecs] -+ for path in pathspecs: -+ self.do_path_regex_sub( -+ path, r"(http(s)?://)\S+:\S+(@.*)", r"\1******:******\3") -+ - def do_path_regex_sub(self, pathexp, regexp, subst): - """Apply a regexp substituation to a set of files archived by - sos. The set of files to be substituted is generated by matching -diff --git a/sos/report/plugins/anaconda.py b/sos/report/plugins/anaconda.py -index 78577d3f..77f54d65 100644 ---- a/sos/report/plugins/anaconda.py -+++ b/sos/report/plugins/anaconda.py -@@ -24,21 +24,21 @@ class Anaconda(Plugin, RedHatPlugin): - - def setup(self): - -- paths = [ -+ self.copypaths = [ - "/root/anaconda-ks.cfg" - ] - - if self.path_isdir('/var/log/anaconda'): - # new anaconda -- paths.append('/var/log/anaconda') -+ self.copypaths.append('/var/log/anaconda') - else: -- paths = paths + [ -+ self.copypaths = self.copypaths + [ - "/var/log/anaconda.*", - "/root/install.log", - "/root/install.log.syslog" - ] - -- self.add_copy_spec(paths) -+ self.add_copy_spec(self.copypaths) - - def postproc(self): - self.do_file_sub( -@@ -51,5 +51,6 @@ class Anaconda(Plugin, RedHatPlugin): - r"(user.*--password=*\s*)\s*(\S*)", - r"\1********" - ) -+ self.do_paths_http_sub(self.copypaths) - - # vim: set et ts=4 sw=4 : -diff --git a/sos/report/plugins/apt.py b/sos/report/plugins/apt.py -index 857a11b6..464cfb98 100644 ---- a/sos/report/plugins/apt.py -+++ b/sos/report/plugins/apt.py -@@ -48,19 +48,11 @@ class Apt(Plugin, DebianPlugin, UbuntuPlugin): - def postproc(self): - super().postproc() - -- common_regex = r"(http(s)?://)\S+:\S+(@.*)" -- common_replace = r"\1******:******\3" -- -- files_to_sub = [ -+ self.do_paths_http_sub([ - "/etc/apt/sources.list", - "/etc/apt/sources.list.d/", - "/etc/apt/apt.conf", - "/etc/apt/apt.conf.d/", -- ] -- -- for file in files_to_sub: -- self.do_path_regex_sub( -- file, common_regex, common_replace -- ) -+ ]) - - # vim: set et ts=4 sw=4 : -diff --git a/sos/report/plugins/system.py b/sos/report/plugins/system.py -index cc282dc1..fcba1161 100644 ---- a/sos/report/plugins/system.py -+++ b/sos/report/plugins/system.py -@@ -40,5 +40,11 @@ class System(Plugin, IndependentPlugin): - "ld.so --list-tunables" - ]) - -+ def postproc(self): -+ self.do_paths_http_sub([ -+ "/etc/sysconfig", -+ "/etc/default", -+ "/etc/environment", -+ ]) - - # vim: set et ts=4 sw=4 : -diff --git a/sos/report/plugins/systemd.py b/sos/report/plugins/systemd.py -index a50a155e..b23b32fe 100644 ---- a/sos/report/plugins/systemd.py -+++ b/sos/report/plugins/systemd.py -@@ -95,4 +95,11 @@ class Systemd(Plugin, IndependentPlugin): - ]) - self.add_forbidden_path('/dev/null') - -+ def postproc(self): -+ self.do_paths_http_sub([ -+ "/etc/systemd/system", -+ "/lib/systemd/system", -+ "/run/systemd/system", -+ ]) -+ - # vim: set et ts=4 sw=4 : --- -2.43.5 - diff --git a/sos.spec b/sos.spec index 069338d..3c6722e 100644 --- a/sos.spec +++ b/sos.spec @@ -4,8 +4,8 @@ Summary: A set of tools to gather troubleshooting information from a system Name: sos -Version: 4.8.0 -Release: 5%{?dist} +Version: 4.8.1 +Release: 1%{?dist} Group: Applications/System Source0: https://github.com/sosreport/sos/archive/%{version}/sos-%{version}.tar.gz Source1: sos-audit-%{auditversion}.tgz @@ -22,9 +22,6 @@ Recommends: python3-pexpect Recommends: python3-pyyaml Conflicts: vdsm < 4.40 Obsoletes: sos-collector <= 1.9 -Patch0: sos-Revert-changed-formatting.patch -Patch1: sos-RHEL-22732-Fix-check_file_too_big.patch -Patch2: sos-obfuscate-environment.patch %description Sos is a set of tools that gathers information about system @@ -35,9 +32,6 @@ support technicians and developers. %prep %setup -qn %{name}-%{version} %setup -T -D -a1 -q -%patch -P 0 -p1 -%patch -P 1 -p1 -%patch -P 2 -p1 %build %py3_build @@ -110,6 +104,10 @@ of the system. Currently storage and filesystem commands are audited. %changelog +* Wed Oct 23 2024 Jan Jansky = 4.8.1-1 +- Update to 4.8.1 in RHEL 9 + Resolves: RHEL-64159 + * Tue Oct 15 2024 Jan Jansky = 4.8.0-5 - Rebase to 4.8.0 and adding credential obfuscation Resolves: RHEL-58096 diff --git a/sources b/sources index b8d1e99..c1196a8 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (sos-4.8.0.tar.gz) = d0874794d015e07cbd57ddf7f6092c8f61b8fb866abc34073c1c865353acdb1df37290aa99431e41f6c863fe6b04c16488c6ee748aba55ec81d90efd8543ad92 +SHA512 (sos-4.8.1.tar.gz) = c75d5a891c0dd48d2cf511f39dc25a71b65e9daf965d9c1be7ace94f957ec62543fa0c8d1cc700b557920ee581eacce9cf1d8520d5401396aba323dee131e633 SHA512 (sos-audit-0.3.tgz) = 32597baf6350804d08179a0dbe48470a93df148e83d2e49bb3288f6bcc2d151bb1433761913bfbccd912c14de92435939fef5bcd7e091dfe33a345d61ea842ea