Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package supportutils for openSUSE:Factory checked in at 2023-06-01 17:19:39 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/supportutils (Old) and /work/SRC/openSUSE:Factory/.supportutils.new.2531 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "supportutils" Thu Jun 1 17:19:39 2023 rev:34 rq:1090120 version:3.1.25 Changes: -------- --- /work/SRC/openSUSE:Factory/supportutils/supportutils.changes 2022-11-15 13:21:32.696837765 +0100 +++ /work/SRC/openSUSE:Factory/.supportutils.new.2531/supportutils.changes 2023-06-01 17:19:50.718275940 +0200 @@ -1,0 +2,50 @@ +Thu Jun 1 04:29:14 UTC 2023 - jason.rec...@suse.com + +- Changes for supportutils version 3.1.25 + + Removed iSCSI passwords CVE-2022-45154 (bsc#1207598) + + powerpc: Collect lsslot,amsstat, and opal elogs (pr#149) + + powerpc: collect invscout logs (pr#150) + + powerpc: collect RMC status logs (pr#151) + + Added missing nvme nbft commands (bsc#1211599) + + Fixed invalid nvme commands (bsc#1211598) + + Added missing podman information (PED-1703, bsc#1181477) + + Removed dependency on sysfstools + + Check for systool use (bsc#1210015) + + Added selinux checking (bsc#1209979) + + Updated SLES_VER matrix + +------------------------------------------------------------------- +Mon Mar 20 22:51:05 UTC 2023 - jason.rec...@suse.com + +- Fixed missing status detail for apparmor (bsc#1196933) +- Corrected invalid argument list in docker.txt (bsc#1206608) +- Applies limit equally to sar data and text files (bsc#1207543) +- Collects hwinfo hardware logs (bsc#1208928) +- Collects lparnumascore logs (issue#148) + +Thu Feb 02 16:53:23 UTC 2023 - hp.jan...@suse.com +------------------------------------------------------------------- + +- Add dependency to `numactl` on ppc64le and `s390x`, this enforces + that `numactl --hardware` data is provided in supportconfigs + +------------------------------------------------------------------- +Thu Jan 26 15:58:24 UTC 2023 - jason.rec...@suse.com + +- Changes to supportconfig.rc version 3.1.11-35 + + Corrected _sanitize_file to include iscsi.conf and others (bsc#1206402) + +------------------------------------------------------------------- +Fri Dec 2 14:25:03 UTC 2022 - jason.rec...@suse.com + +- Changes to supportconfig version 3.1.11-46.4 + + Added plymouth_info + +------------------------------------------------------------------- +Thu Nov 17 18:06:47 UTC 2022 - jason.rec...@suse.com + +- Changes to getappcore version 1.53.02 + + The location of chkbin was updated earlier. This documents that + change (bsc#1205533, bsc#1204942) + +------------------------------------------------------------------- Old: ---- supportutils-3.1.21.tar.gz New: ---- supportutils-3.1.25.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ supportutils.spec ++++++ --- /var/tmp/diff_new_pack.mqTXDA/_old 2023-06-01 17:19:51.214278881 +0200 +++ /var/tmp/diff_new_pack.mqTXDA/_new 2023-06-01 17:19:51.218278904 +0200 @@ -1,7 +1,7 @@ # # spec file for package supportutils # -# Copyright (c) 2022 SUSE LLC +# Copyright (c) 2023 SUSE LLC # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -23,7 +23,7 @@ %define support_libdir /usr/lib/supportconfig Name: supportutils -Version: 3.1.21 +Version: 3.1.25 Release: 0 Summary: Support Troubleshooting Tools License: GPL-2.0-only @@ -33,7 +33,9 @@ Requires: iproute2 Requires: kmod-compat Requires: ncurses-utils -Requires: sysfsutils +%ifarch ppc64le s390x +Requires: numactl +%endif Requires: tar Requires: util-linux-systemd Requires: /usr/bin/which ++++++ supportutils-3.1.21.tar.gz -> supportutils-3.1.25.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/supportutils-3.1.21/bin/getappcore new/supportutils-3.1.25/bin/getappcore --- old/supportutils-3.1.21/bin/getappcore 2022-09-02 15:07:49.388154971 +0200 +++ new/supportutils-3.1.25/bin/getappcore 2023-01-30 18:37:32.237556192 +0100 @@ -1,7 +1,7 @@ #!/bin/bash -SVER='1.53.01' -SDATE="2021 10 18" +SVER='1.53.02' +SDATE="2021 11 17" SNAME=$(basename $0) # --------------------------------------------------------------------- # @@ -12,7 +12,7 @@ # Please submit bug fixes or comments via: # # http://en.opensuse.org/Supportutils#Reporting_Bugs # # # -# Copyright (C) 2007-2021 SUSE LINUX GmbH, Nuernberg, Germany # +# Copyright (C) 2007-2022 SUSE LINUX GmbH, Nuernberg, Germany # # # # --------------------------------------------------------------------- # # # diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/supportutils-3.1.21/bin/supportconfig new/supportutils-3.1.25/bin/supportconfig --- old/supportutils-3.1.21/bin/supportconfig 2022-11-11 19:03:43.282029144 +0100 +++ new/supportutils-3.1.25/bin/supportconfig 2023-05-31 18:55:46.888130519 +0200 @@ -1,11 +1,11 @@ #!/bin/bash -SVER='3.1.11-46.3' -SDATE='2022 11 11' +SVER='3.1.15-11.6' +SDATE='2023 05 31' ############################################################################## # supportconfig - Gathers system troubleshooting information for SUSE Support -# Copyright (C) 2001-2022 SUSE LLC +# Copyright (C) 2001-2023 SUSE LLC # # Creates a tar ball to attach to the support case or send to support. # Collects comprehensive system information for troubleshooting and reducing @@ -150,14 +150,9 @@ detectVirtualization $BASIC_ENVF conf_files $BASIC_ENVF $RELEASE if ! ((NSA_CHECK)); then - if [ $SLES_VER -lt 110 ]; then - if rpm_verify $BASIC_ENVF SPident; then - log_cmd $BASIC_ENVF 'SPident -vv' - fi - fi cat $LOG/$RPM_DIST_FILE >> $LOG/$BASIC_ENVF case $SLES_VER in - 15*|999) + 2*|15*|999) if rpm_verify $BASIC_ENVF firewalld then log_write $BASIC_ENVF "#==[ Firewall Services ]============================#" @@ -280,7 +275,7 @@ test $((TAINT & 1073741824)) -ne 0 && TAINT_STRING="${TAINT_STRING}N" || TAINT_STRING="${TAINT_STRING} " test $((TAINT & 2147483648)) -ne 0 && TAINT_STRING="${TAINT_STRING}X" || TAINT_STRING="${TAINT_STRING} " ;; - 15*|999) + 2*|15*|999) test $((TAINT & 65536)) -ne 0 && TAINT_STRING="${TAINT_STRING}X" || TAINT_STRING="${TAINT_STRING} " test $((TAINT & 131072)) -ne 0 && TAINT_STRING="${TAINT_STRING}T" || TAINT_STRING="${TAINT_STRING} " test $((TAINT & 262144)) -ne 0 && TAINT_STRING="${TAINT_STRING}H" || TAINT_STRING="${TAINT_STRING} " @@ -313,7 +308,7 @@ test $((TAINT & 1073741824)) -ne 0 && log_write $OF " TAINT: (N) Unsupported modules loaded" test $((TAINT & 2147483648)) -ne 0 && log_write $OF " TAINT: (X) Modules with external support loaded" ;; - 15*|999) + 2*|15*|999) test $((TAINT & 65536)) -ne 0 && log_write $OF " TAINT: (X) Modules with external support loaded" test $((TAINT & 131072)) -ne 0 && log_write $OF " TAINT: (T) Kernel built with randstruct plugin" test $((TAINT & 262144)) -ne 0 && log_write $OF " TAINT: (H) System restored from unsafe hibernate snapshot image" @@ -657,7 +652,7 @@ printlog "Auditing..." test $OPTION_AUDIT -eq 0 && { echolog Excluded; return 1; } OF=security-audit.txt - if [ $SLES_VER -gt 90 ]; then + if (( $SLES_VER > 90 )); then if rpm_verify $OF audit; then addHeaderFile $OF check_service $OF auditd @@ -1229,35 +1224,170 @@ log_cmd $CONTAINEROF "docker logs $container" done log_cmd $OF 'ls -al --time-style=long-iso /var/lib/docker/containers' - log_cmd $OF 'ls -alR --time-style=long-iso /sys/fs/cgroup/*/system.slice/docker*' log_cmd $OF 'journalctl -u docker' fi echolog Done } +plymouth_info() { + printlog "Plymouth..." + test $OPTION_PLYMOUTH -eq 0 && { echolog Excluded; return 1; } + OF=plymouth.txt + addHeaderFile $OF + plymouth_configs="/etc/plymouth/plymouthd.conf /usr/share/plymouth/plymouthd.defaults /etc/logrotate.d/bootlog" + plymouth_themes="bgrt breeze-text breeze details fade-in script solar spinfinity spinner text tribar" + plymouth_logs="/var/log/plymouth-debug.log /var/log/plymouth-shutdown-debug.log /var/lib/plymouth/boot-duration /var/log/boot.log" + + for plymouth_pkgs in `rpm -qa | grep 'plymouth\|libply' | xargs echo` + do + rpm_verify $OF $plymouth_pkgs + done + conf_files $OF $plymouth_configs + + for theme in ${plymouth_themes[@]}; do + theme_config=/usr/share/plymouth/themes/$theme/$theme.plymouth + [[ -e $theme_config ]] && conf_files $OF $theme_config + done + + log_files $OF 0 $plymouth_logs + echolog Done +} + podman_info() { printlog "Podman..." test $OPTION_PODMAN -eq 0 && { echolog Excluded; return 1; } - OF=podman.txt + OF=podman-root.txt addHeaderFile $OF PODMANSCDIR=$LOG/podman [[ -e /usr/bin/podman ]] && PODMAN_PKG=`rpm -q --whatprovides /usr/bin/podman 2>/dev/null` [[ -z $PODMAN_PKG ]] && PODMAN_PKG='podman' if rpm_verify $OF $PODMAN_PKG then + mkdir -p $PODMANSCDIR log_cmd $OF 'podman version' log_cmd $OF 'podman info' + log_files $OF "/proc/cmdline" + # Identify all non-root users currently running at least one container + PODMAN_USERS=$(ps axwwo user,cmd | grep conmon | grep -v grep | cut -d\ -f1 | sort | uniq | grep -v root) + + # Include any LOCAL_PODMAN_USERS defined in /etc/supportconfig.conf + if [[ -n $LOCAL_PODMAN_USERS ]]; then + PODMAN_USERS="${PODMAN_USERS} ${LOCAL_PODMAN_USERS}" + fi + if [[ -n $PODMAN_USERS ]]; then + log_entry $OF note "Rootless Podman Users: ${PODMAN_USERS}" + else + log_entry $OF note "Rootless Podman Users: N/A" + fi + log_cmd $OF 'podman images' - log_cmd $OF 'podman ps --all' - log_cmd $OF 'podman network ls' - mkdir -p $PODMANSCDIR - for container in $(podman ps -a --format "{{.ID}}" 2>/dev/null); + for image in $(podman images --format "{{.ID}}" 2>/dev/null) + do + IMAGEOF=podman/"root-image-${image}".txt + log_entry $OF note "Processing image $IMAGEOF" + log_cmd $IMAGEOF "podman images | grep ${image}" + log_cmd $IMAGEOF "podman inspect ${image}" + done + log_cmd $OF 'podman ps --all --pod' + for container in $(podman ps -a --format "{{.ID}}" 2>/dev/null) do - CONTAINEROF=podman/"$container".txt + CONTAINEROF=podman/"root-container-${container}".txt + log_entry $OF note "Processing container $CONTAINEROF" log_cmd $CONTAINEROF "podman top $container" log_cmd $CONTAINEROF "podman inspect $container" log_cmd $CONTAINEROF "podman logs $container" done + log_cmd $OF 'podman network ls' + for podnet in $(podman network ls --format "{{.ID}}") + do + log_cmd $OF "podman network inspect ${podnet}" + done + log_cmd $OF 'podman volume ls' + for podvol in $(podman volume ls --format "{{.ID}}") + do + log_cmd $OF "podman volume inspect ${podvol}" + done + log_cmd $OF 'podman pod list' + for this_pod in $(podman pod list --format "{{.ID}}") + do + log_cmd $OF "podman pod inspect ${this_pod}" + done + + FILES=$(find -L /etc/containers -type f) + if [[ -d /root/.config/containers ]]; then + FILES="${FILES} $(find -L /root/.config/containers -type f)" + fi + conf_files $OF $FILES + if (( $ADD_OPTION_LOGS > 0 )); then + log_cmd $OF 'podman events --since 0 --stream=false' + fi + + CURRENT_DIR=$(pwd) + cd /tmp + for PODMAN_USER in $PODMAN_USERS + do + OF=podman-${PODMAN_USER}.txt + addHeaderFile $OF + if id ${PODMAN_USER} &> /dev/null; then + PODACC="sudo -u ${PODMAN_USER}" + ACCESS_PODMAN_USER=1 + if log_cmd $OF "${PODACC} podman version"; then + log_cmd $OF "${PODACC} podman info" + log_cmd $OF "${PODACC} podman images" + for image in $(${PODACC} podman images --format "{{.ID}}" 2>/dev/null) + do + IMAGEOF=podman/"${PODMAN_USER}-image-${image}".txt + log_entry $OF note "Processing image $IMAGEOF" + log_cmd $IMAGEOF "${PODACC} podman images | grep ${image}" + log_cmd $IMAGEOF "${PODACC} podman inspect ${image}" + done + + log_cmd $OF "${PODACC} podman ps --all --pod" + for container in $(${PODACC} podman ps -a --format "{{.ID}}" 2>/dev/null) + do + CONTAINEROF=podman/"${PODMAN_USER}-container-${container}".txt + log_entry $OF note "Processing $CONTAINEROF" + log_cmd $CONTAINEROF "${PODACC} podman top $container" + log_cmd $CONTAINEROF "${PODACC} podman inspect $container" + log_cmd $CONTAINEROF "${PODACC} podman logs $container" + done + log_cmd $OF "${PODACC} podman network ls" + for podnet in $(${PODACC} podman network ls --format "{{.ID}}") + do + log_cmd $OF "${PODACC} podman network inspect ${podnet}" + done + log_cmd $OF "${PODACC} podman volume ls" + for podvol in $(${PODACC} podman volume ls --format "{{.ID}}") + do + log_cmd $OF "${PODACC} podman volume inspect ${podvol}" + done + log_cmd $OF "${PODACC} podman pod list" + for this_pod in $(${PODACC} podman pod list --format "{{.ID}}") + do + log_cmd $OF "${PODACC} podman pod inspect ${this_pod}" + done + else + ACCESS_PODMAN_USER=0 + fi + PODMAN_USER_HOME='' + PODMAN_USER_HOME=$(${PODACC} env | grep "^HOME" | cut -d= -f2) + [[ -n $PODMAN_USER_HOME ]] && PODMAN_USER_CONFIG="${PODMAN_USER_HOME}/.config/containers" || PODMAN_USER_CONFIG='' + if [[ -d $PODMAN_USER_CONFIG ]]; then + FILES=$(find -L $PODMAN_USER_CONFIG -type f) + conf_files $OF $FILES + fi + if (( $ACCESS_PODMAN_USER )); then + if (( $ADD_OPTION_LOGS > 0 )); then + log_cmd $OF "${PODACC} podman events --since 0 --stream=false" + fi + fi + else + log_cmd $OF "id ${PODMAN_USER}" + fi + done + cd $CURRENT_PATH + else + echolog Skipped fi echolog Done } @@ -1410,7 +1540,7 @@ log_cmd $OF 'lsmap -all' log_cmd $OF 'lsnports' case $SLES_VER in - 11*|12*|15*|999) log_cmd $OF "udevadm info -e" ;; + 11*|12*|15*|2*|999) log_cmd $OF "udevadm info -e" ;; esac test -d /proc/scsi && SCSI_DIRS=$(find /proc/scsi/ -type d) || SCSI_DIRS="" for SDIR in $SCSI_DIRS @@ -1572,7 +1702,7 @@ OF=hardware.txt addHeaderFile $OF log_cmd $OF 'procinfo' - test $SLES_VER -ge 110 && log_cmd $OF 'lscpu' + (( $SLES_VER >= 110 )) && log_cmd $OF 'lscpu' detectVirtualization $OF conf_files $OF /proc/cpuinfo /proc/cmdline /proc/ioports /proc/dma /proc/devices /proc/bus/usb/devices log_cmd $OF 'lspci -b' @@ -1586,7 +1716,11 @@ log_write $OF log_cmd $OF 'biosdecode' else - timed_log_cmd $OF 'hwinfo -braille' + PROBE_VALUES='-braille,-pppoe' + log_entry $OF note "export hwprobe=\"${PROBE_VALUES}\"" + export hwprobe="${PROBE_VALUES}" + timed_log_cmd $OF "hwinfo --all --log=${LOG}/${HWINFO_FILE}" + log_files $OF 0 ${LOG}/${HWINFO_FILE} fi log_cmd $OF 'dmidecode' log_cmd $OF 'lspci -nn' @@ -1625,6 +1759,9 @@ log_cmd $OF "serv_config -l" log_cmd $OF "bootlist -m both -r" log_cmd $OF "lparstat -i" + log_cmd $OF "lparnumascore" + log_cmd $OF "lparnumascore -c cpu -d 4" + log_cmd $OF "lparnumascore -c mem -d 3" fi fi if rpm -q lsvpd &>/dev/null; then @@ -1642,6 +1779,9 @@ log_cmd $OF "usysattn" log_cmd $OF "usysident" log_cmd $OF "diag_encl -v" + log_cmd $OF "opal-elog-parse -s" + log_cmd $OF "opal-elog-parse -a" + log_cmd $OF "opal-elog-parse -l" fi if rpm -q iprutils &>/dev/null; then @@ -1663,7 +1803,15 @@ log_cmd $OF "servicelog --dump" log_cmd $OF "servicelog_notify --list" fi + + log_cmd $OF 'lssrc -a' log_cmd $OF 'lsdevinfo' + log_cmd $OF 'lsslot' + log_cmd $OF 'amsstat' + log_cmd $OF 'lsrsrc IBM.MCP' + log_cmd $OF 'rmcdomainstatus -s ctrmc' + log_cmd $OF 'rmcdomainstatus -s ctrmc -a ip' + log_cmd $OF 'systemctl status ctrmc.service -l' log_cmd $OF 'systemctl is-enabled hcn-init.service' log_files $OF 0 /var/log/hcnmgr /var/ct/IBM.DRM.stderr /var/ct/IW/log/mc/IBM.DRM/trace* fi @@ -1681,6 +1829,11 @@ log_cmd $OF "ctsnap -xrunrpttr -d $CTSNAP_DIR" fi + if [[ -f /etc/ct_node_id ]]; then + log_entry $OF command "cp /etc/ct_node_id $PPC_DIR" + cp /etc/ct_node_id $PPC_DIR 2>/dev/null + fi + if [[ -f /var/log/drmgr ]]; then log_entry $OF command "cp /var/log/drmgr $PPC_DIR" cp /var/log/drmgr $PPC_DIR 2>/dev/null @@ -1693,6 +1846,12 @@ log_entry $OF command "cp /sys/kernel/debug/dynamic_debug/control $PPC_DIR" cp /sys/kernel/debug/dynamic_debug/control $PPC_DIR 2>/dev/null fi + if rpm -q IBMinvscout &>/dev/null; then + log_cmd $OF "invscout" + log_cmd $OF "invscout -v" + log_entry $OF command "cp -r /var/adm/invscout $PPC_DIR" + cp -r /var/adm/invscout $PPC_DIR 2>/dev/null + fi ;; "PowerNV") log_entry $OF command "cp /proc/ppc64/eeh /proc/ppc64/systemcfg /proc/ppc64/topology_updates /sys/firmware/opal/msglog /var/log/opal-elog /dev/nvram $PPC_DIR" @@ -1875,7 +2034,7 @@ log_cmd $OF "nscd -g" conf_files $OF /etc/hosts /etc/host.conf /etc/resolv.conf /etc/nsswitch.conf /etc/nscd.conf /etc/hosts.allow /etc/hosts.deny case $SLES_VER in - 15*|999) + 2*|15*|999) FILES="/etc/sysconfig/firewalld" ;; 11*|12*) @@ -2262,7 +2421,7 @@ echolog Skipped fi ;; - 15*|999) + 2*|15*|999) if rpm_verify $OF chrony then NTP_DAEMON=1 @@ -2327,11 +2486,22 @@ then log_cmd $OF "nvme list" log_cmd $OF "nvme list-subsys" - FILES="/etc/nvme/*" - [[ -d /etc/nvme/ ]] && conf_files $OF $FILES - [[ -f /etc/nvme/discovery.conf ]] && log_cmd $OF "nvme discover" - [[ -f /etc/nvme/hostnqn ]] && log_cmd $OF "nvme hostnqn" - [[ -f /sys/module/nvme_core/parameters/multipath ]] && log_cmd $OF "nvme core" + if (( $SLES_VER >= 154 )); then + log_cmd $OF "nvme show-topology" + fi + log_cmd $OF "nvme discover" + if (( $SLES_VER == 155 )); then + log_cmd $OF "nvme show-nbft -o json" + fi + + log_cmd $OF "/etc/wicked/extensions/nbft" + + FILES='/etc/nvme/discovery.conf /etc/nvme/config.json' + if [[ -d /etc/nvme/ ]]; then + TFILES=$(find /etc/nvme/ -type f | egrep -v "discovery.conf|config.json") + [[ -n $TFILES ]] && FILES="${FILES} ${TFILES}" + fi + conf_files $OF $FILES NVME_DEVICES=$(nvme list | grep /dev | awk '{print $1}') for NVME_DEVICE in $NVME_DEVICES do @@ -2371,7 +2541,7 @@ fi conf_files $OF $UDEV_CONF case $SLES_VER in - 11*|12*|15*|999) log_cmd $OF "udevadm info -e" ;; + 11*|12*|15*|2*|999) log_cmd $OF "udevadm info -e" ;; esac if [[ -f $UDEV_CONF ]]; then . $UDEV_CONF @@ -2733,8 +2903,9 @@ log_cmd $OF "systemctl status apparmor.service" fi log_cmd $OF 'unconfined' - log_cmd $OF 'aa-status' - test -d /etc/apparmor && FILES=$(find -L /etc/apparmor/ | grep conf) || FILES="" + log_cmd $OF 'aa-status' + log_cmd $OF 'aa-notify -l' + [[ /etc/apparmor ]] && FILES=$(find -L /etc/apparmor/ | grep '\.conf$') || FILES="" conf_files $OF $FILES log_files $OF 0 /var/log/audit/audit.log else @@ -2745,6 +2916,47 @@ test $SKIP -lt 2 && echolog Done || echolog Skipped } +selinux_info() { + printlog "SELinux..." + (( $OPTION_SELINUX )) || { echolog Excluded; return 1; } + OF=security-selinux.txt + addHeaderFile $OF + if rpm_verify $OF selinux-policy + then + for i in policycoreutils $(rpm -qa | grep selinux | grep -v "selinux-policy-[0-9]") + do + rpm_verify $OF "$i" + done + log_cmd $OF "zypper info selinux-policy" + log_cmd $OF "selinux-ready" + log_cmd $OF "sestatus" + conf_files $OF '/proc/cmdline' + for SERVICE in auditd restorecond + do + log_cmd $OF "systemctl status ${SERVICE}.service" + done + SEMANAGE_BIN=$(which semanage 2>/dev/null) + if [[ -n $SEMANAGE_BIN ]]; then + log_cmd $OF "sestatus -v" + log_cmd $OF "$SEMANAGE_BIN boolean --list" + log_cmd $OF "$SEMANAGE_BIN fcontext --list" + else + log_cmd $OF "sestatus -bv" + fi + log_cmd $OF "ps auxZww" + if [[ -d /etc/selinux/ ]]; then + ALL_FILES=$(find -L /etc/selinux/ -type f | sort) + CFILES=$(grep "\.conf$" <<< "$ALL_FILES") + NFILES=$(grep -v "\.conf$" <<< "$ALL_FILES") + conf_text_files $OF $CFILES $NFILES + fi + log_cmd $OF "ausearch -m AVC,USER_AVC,SELINUX_ERR,USER_SELINUX_ERR -i" + echolog Done + else + echolog Skipped + fi +} + ha_info() { printlog "HA Cluster..." test $OPTION_HA -eq 0 && { echolog Excluded; return 1; } @@ -2831,7 +3043,7 @@ echolog Skipped fi ;; - 15*|999) + 2*|15*|999) if rpm_verify $OF pacemaker then log_cmd $OF "rpm -qa | egrep 'ais|resource-agents|cluster-glue|corosync|csync2|pacemaker'" @@ -2987,7 +3199,7 @@ OCFS2_MODULES=1 fi case $SLES_VER in - 11*|12*|15*|999) + 11*|12*|15*|2*|999) [[ -x /usr/bin/findmnt ]] && log_cmd $OF "findmnt" || log_cmd $OF "mount" (( OCFS2_MODULES )) && timed_log_cmd $OF "mounted.ocfs2 -d" (( OCFS2_MODULES )) && timed_log_cmd $OF "mounted.ocfs2 -f" @@ -3535,55 +3747,7 @@ OF=x.txt addHeaderFile $OF case $SLES_VER in - 11*) - for i in xorg-x11-Xvnc xorg-x11-libs xorg-x11 - do - rpm -q $i &> /dev/null && rpm_verify $OF $i - done - if rpm_verify $OF xorg-x11-server - then - CONTENT_FOUND=1 - rpm_verify $OF Mesa - if rpm_verify $OF sax2 - then - log_cmd $OF 'sysp -q mouse' - log_cmd $OF 'sysp -c' - log_cmd $OF 'sysp -q keyboard' - log_files $OF $VAR_OPTION_LINE_COUNT /var/log/SaX.log - fi - log_cmd $OF 'bash -c "for i in /sys/class/input/input*; do echo -n \"\$i: \"; echo -n \$i/event* \" \" | sed -e \"s#\$i/##\"; cat \$i/name; done"' - log_cmd $OF 'ls -al /dev | egrep "video.*|mouse.*"' - log_cmd $OF '3Ddiag' - [ $SLES_VER -ge 113 ] && log_cmd $OF 'mokutil --sb-state' - if log_cmd $OF 'cat /proc/fb'; then - grep -q "VESA" /proc/fb && timed_log_cmd $OF 'hwinfo --framebuffer' - fi - log_cmd $OF 'lspci -nn' - - conf_files $OF /etc/sysconfig/displaymanager /etc/sysconfig/windowmanager /etc/xinetd.d/vnc - [ -e /etc/X11/xorg.conf ] && conf_files $OF /etc/X11/xorg.conf - - FILES="/var/log/Xorg.[0,1].log /var/log/Xorg.0.log.old /var/log/xdm.errors /root/.X.err /root/.xsession-errors" - test $ADD_OPTION_LOGS -gt 0 && log_files $OF 0 $FILES || log_files $OF $VAR_OPTION_LINE_COUNT $FILES - fi - if [ -d /sys/class/drm ] - then - CONTENT_FOUND=1 - if [ "$xserver_present" = "n" ] - then - [ $SLES_VER -ge 113 ] && log_cmd $OF 'mokutil --sb-state' - log_cmd $OF 'lspci -nn' - fi - drm_sub_info - fi - if (( $CONTENT_FOUND > 0 )) - then - echolog Done - else - echolog Skipped - fi - ;; - 12*|15*|999) + 11*|12*|15*|2*|999) MESA="Mesa Mesa-32bit Mesa-demo-x Mesa-libEGL1 Mesa-libEGL1-32bit Mesa-libGL1 \ Mesa-libGL1-32bit Mesa-libGLESv2-2 Mesa-libGLESv2-2-32bit Mesa-libglapi0 \ Mesa-libglapi0-32bit" @@ -3654,7 +3818,7 @@ CONTENT_FOUND=1 log_cmd $OF 'bash -c "for i in /sys/class/input/input*; do echo -n \"\$i: \"; echo -n \$i/event* \" \" | sed -e \"s#\$i/##\"; cat \$i/name; done"' log_cmd $OF 'ls -al /dev | egrep "video.*"' - [ $SLES_VER -ge 1130 ] && log_cmd $OF 'mokutil --sb-state' + (( $SLES_VER >= 1130 )) && log_cmd $OF 'mokutil --sb-state' if log_cmd $OF 'cat /proc/fb'; then grep -q "VESA" /proc/fb && timed_log_cmd $OF 'hwinfo --framebuffer' fi @@ -3771,7 +3935,7 @@ fi log_cmd $OF 'ss -nlp | grep cupsd' BEP=$(ls -1 /usr/lib*/cups/backend/parallel 2>/dev/null | head -n1) - if [ $SLES_VER -ge 110 ]; then + if (( $SLES_VER >= 110 )); then if [ $MIN_OPTION_AUTOMOD -eq 0 ]; then log_write $OF "#==[ Warning ]======================================#" log_write $OF "# Autoloading kernel modules disabled. Don't use -k." @@ -3826,9 +3990,10 @@ else log_write $OF "# NOTE: Only the newest $VAR_OPTION_SAR_FILES_LIMIT files are copied" log_write $OF "# Use sar -f filename to read included sar files" - for i in $(\ls -A1 $SARDIR/sa* 2>/dev/null | tail -$VAR_OPTION_SAR_FILES_LIMIT) + for i in $(ls -A1 $SARDIR/sa* 2>/dev/null | grep -Po '^'$SARDIR'/sar?\K([^\.]+)(?=.*)' | sort -u | tail -$VAR_OPTION_SAR_FILES_LIMIT) do - cp $i $SARSCDIR &>/dev/null + # copy both binary and plaintext sar files for X files limit pattern + cp $SARDIR/sa{,r}$i{,.*} $SARSCDIR &>/dev/null done fi echolog Done @@ -3932,7 +4097,7 @@ if [ -n "$OWSSLCHECK" ]; then if [ -L $OWSSLCHECK ]; then case $SLES_VER in - 11*|12*|15*|999) log_cmd $OF "readlink -ev $OWSSLCHECK" ;; + 11*|12*|15*|2*|999) log_cmd $OF "readlink -ev $OWSSLCHECK" ;; esac fi fi @@ -4036,7 +4201,7 @@ echolog Skipped fi ;; - 15*|999) + 2*|15*|999) CHK_UTILS=0 CHK_SRP=0 CHK_DIAG=0 @@ -4089,6 +4254,7 @@ echolog Skipped fi ;; + *) echolog Skipped ;; esac } @@ -4153,33 +4319,34 @@ log_entry $OF command "/bin/find /sys | sed -e 's/\\/\\\\/g' | xargs ls -ld --time-style=long-iso" /bin/find /sys | sed -e 's/\\/\\\\/g' | xargs ls -ld --time-style=long-iso >> ${LOG}/${OF} 2>&1 log_write $OF - log_cmd $OF "systool" - for ITEM in $(systool) - do - case $ITEM in - Supported) SBUS=0; SCLS=0; SDEV=0; SMOD=0 ;; - buses:) SBUS=1; continue ;; - classes:) SCLS=1; continue ;; - devices:) SDEV=1; continue ;; - modules:) SMOD=1; continue ;; - esac - if (( SBUS )); then - # collecting memory info from sysfs can be time consuming - # skip it on systems with 16TB or ram or more unless exhaustive - # option is used - if [ $ITEM == "memory" ]; then - mem=$(grep 'MemTotal' /proc/meminfo | awk '{print $2}') - test $mem -gt 16000000000 -a $VAR_OPTION_EXHAUSTIVE_MEM -eq 0 && continue - echonlog "Please Wait..." - echonlog "Memory" - fi - log_cmd $OF "systool -vb $ITEM" - elif (( SCLS )); then - log_cmd $OF "systool -vc $ITEM" - elif (( SMOD )); then - log_cmd $OF "systool -vm $ITEM" - fi - done + if log_cmd $OF "systool"; then + for ITEM in $(systool) + do + case $ITEM in + Supported) SBUS=0; SCLS=0; SDEV=0; SMOD=0 ;; + buses:) SBUS=1; continue ;; + classes:) SCLS=1; continue ;; + devices:) SDEV=1; continue ;; + modules:) SMOD=1; continue ;; + esac + if (( SBUS )); then + # collecting memory info from sysfs can be time consuming + # skip it on systems with 16TB or ram or more unless exhaustive + # option is used + if [ $ITEM == "memory" ]; then + mem=$(grep 'MemTotal' /proc/meminfo | awk '{print $2}') + test $mem -gt 16000000000 -a $VAR_OPTION_EXHAUSTIVE_MEM -eq 0 && continue + echonlog "Please Wait..." + echonlog "Memory" + fi + log_cmd $OF "systool -vb $ITEM" + elif (( SCLS )); then + log_cmd $OF "systool -vc $ITEM" + elif (( SMOD )); then + log_cmd $OF "systool -vm $ITEM" + fi + done + fi echolog Done } @@ -4252,8 +4419,6 @@ exit 1 fi -log2sys "BEGIN Version: $SVER" - CURRENTUID=$(id -u) if [ $CURRENTUID -ne 0 ]; then echo "ERROR: You must be logged in as root." @@ -4272,6 +4437,7 @@ . ${SC_CONF} fi +log2sys "BEGIN Version: $SVER" init_plugins on get_sles_ver NSA_CHECK=0 @@ -4465,7 +4631,7 @@ log_write ${CSFILE} " The plugin directory should be writable only for root and group root." log_write ${CSFILE} " Currently SUID, SGID and sticky bits are not allowed." fi - log_write ${CSFILE} " Environment Value: $SLES_VER ($KERNVER)" + log_write ${CSFILE} " Environment Value: $SLES_VER" log_write ${CSFILE} " Command with Args: $0 $ALL_ARGS" log_write ${CSFILE} " FORCE_OPTION_PAM: $FORCE_OPTION_PAM" log2sys "Supportconfig Args: $ALL_ARGS" @@ -4492,6 +4658,7 @@ ntp_info proc_info boot_info + plymouth_info slert_info update_info nvme_info @@ -4531,6 +4698,7 @@ autofs_info sar_info apparmor_info + selinux_info x_info print_info smartmon_info diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/supportutils-3.1.21/bin/supportconfig.rc new/supportutils-3.1.25/bin/supportconfig.rc --- old/supportutils-3.1.21/bin/supportconfig.rc 2022-11-11 19:05:44.015041045 +0100 +++ new/supportutils-3.1.25/bin/supportconfig.rc 2023-05-31 15:34:32.709312424 +0200 @@ -1,7 +1,7 @@ ############################################################################## # supportconfig.rc - Resource file for supportconfig -# Copyright (C) 2001-2022 SUSE LLC -RCVER='3.1.11-30' +# Copyright (C) 2001-2023 SUSE LLC +RCVER='3.1.11-35.4.1' # # Contains supporting functions and variables used by supportconfig and # supportconfig plugins. @@ -20,7 +20,7 @@ # You should have received a copy of the GNU General Public License # along with this program; if not, see <http://www.gnu.org/licenses/>. # -# Modified: 2022 Nov 11 +# Modified: 2023 May 03 # Authors/Contributors: # Jason Record <jason.rec...@suse.com> # @@ -66,10 +66,12 @@ OPTION_NVME=1 OPTION_OCFS2=1 OPTION_OFILES=1 +OPTION_PLYMOUTH=1 OPTION_PODMAN=1 OPTION_PRINT=1 OPTION_PROC=1 OPTION_SAR=1 +OPTION_SELINUX=1 OPTION_SLERT=1 OPTION_SLP=1 OPTION_SMT=1 @@ -136,6 +138,7 @@ VAR_OPTION_WAIT_TRACE=0 : ${FORCE_OPTION_PAM:=0} +: ${LOCAL_PODMAN_USERS:=''} LANG=C PATH="/sbin:/usr/sbin:/bin:/usr/bin:$PATH" @@ -150,6 +153,7 @@ UPLOAD_TARBALL=0 CSFILE=${CURRENT_SCRIPT}.txt RPMFILE=rpm.txt +HWINFO_FILE="hwinfo.log" FSLIST_FILE=fs-files.txt FSLIST_ADD_FILE="${LIB_DIR}/additional-files.list" BASIC_ENVF=basic-environment.txt @@ -261,7 +265,7 @@ echo "#==[ Configuration File ]===========================#" >> $LOGFILE if [[ -f $CONF ]]; then echo "# $CONF" >> $LOGFILE - TEXTFILE=$(file -L $CONF | egrep -i "text|empty|XML") + TEXTFILE=$(file -L $CONF | cut -d \: -f2 | egrep -i "text|empty|XML") if [ -z "$TEXTFILE" ]; then echo "file $(file -L $CONF)" >> $LOGFILE echo "ERROR: Not a normal text file, excluding it." >> $LOGFILE @@ -469,11 +473,21 @@ _sanitize_file() { CLEAN_FILE=${LOG}/$1 REPLACED='*REMOVED BY SUPPORTCONFIG*' - sed -i -e "s/\(.*[P|p]ass\"\?:\).*/\1 $REPLACED/g;s/\(.*[P|p]assword\"\?:\).*/\1 $REPLACED/g;s/\(.*[P|p]ass[[:space:]]*=\).*/\1 $REPLACED/g" $CLEAN_FILE - sed -i -e "s/\(.*[P|p]assword[[:space:]]*=\).*/\1 $REPLACED/g;s/\(.*PASS=\).*/\1$REPLACED/g;s/\(.*_PASSWORD[[:space:]]*=\).*/\1 $REPLACED/g" $CLEAN_FILE - sed -i -e "s!\(<user_password>\).*\(</user_password>\)!\1$REPLACED\2!g;s/\(^ProxyUser[[:space:]]*=\).*/\1 $REPLACED/g" $CLEAN_FILE - sed -i -e "s/\(^credentials[[:space:]]*=\).*/\1 $REPLACED/g;s/\(secret[[:space:]]*=\).*/\1 $REPLACED/g" $CLEAN_FILE - sed -i -e "s/\(.*password.*}[[:space:]]*=\).*/\1 $REPLACED/g" $CLEAN_FILE + sed -i -e "\ + s/\(.*[P|p]ass\"\?:\).*/\1 $REPLACED/g;\ + s/\(.*[P|p]assword\"\?:\).*/\1 $REPLACED/g;\ + s/\(.*[P|p]ass[[:space:]]*=\).*/\1 $REPLACED/g;\ + s/\(.*[P|p]assword[[:space:]]*=\).*/\1 $REPLACED/g;\ + s/\(.*PASS=\).*/\1$REPLACED/g;\ + s/\(.*_PASSWORD[[:space:]]*=\).*/\1 $REPLACED/g;\ + s!\(<user_password>\).*\(</user_password>\)!\1$REPLACED\2!g;\ + s/\(^ProxyUser[[:space:]]*=\).*/\1 $REPLACED/g;\ + s/\(^credentials[[:space:]]*=\).*/\1 $REPLACED/g;\ + s/\(secret[[:space:]]*=\).*/\1 $REPLACED/g;\ + s/\($Param{'[s]*password'}[[:space:]]*=[[:space:]]*'\).*\(';\)/\1$REPLACED\2/g;\ + s/\(.*password[[:space:]]*=\).*/\1 $REPLACED/g;\ + s/\(.*password_in[[:space:]]*=\).*/\1 $REPLACED/g" \ + $CLEAN_FILE } _log_cmd() { @@ -750,6 +764,7 @@ wait_trace_off done fi + rm -f ${LOG}/${HWINFO_FILE} } ascii_plugin() { @@ -1437,10 +1452,15 @@ get_sles_ver() { if [[ -s /etc/os-release ]]; then - VID=$(grep VERSION_ID /etc/os-release | cut -d\= -f2) -# echo "VID=$VID" - VID=${VID//\"/} - SLES_VER=${VID//\./} + ID=$(grep '^ID=' /etc/os-release | cut -d\= -f2 | tr -d \") + VID=$(grep VERSION_ID /etc/os-release | cut -d\= -f2 | tr -d \") + VID=${VID//\./} +# echo "ID=${ID}, VID=${VID}" > /dev/kmsg + if [[ "${ID}" == "alp" ]]; then + SLES_VER=2${VID} + else + SLES_VER=$VID + fi if (( ${#SLES_VER} < 3 )); then SLES_VER=${SLES_VER}0 # tumbleweed versions are yyyymmdd diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/supportutils-3.1.21/man/supportconfig.8 new/supportutils-3.1.25/man/supportconfig.8 --- old/supportutils-3.1.21/man/supportconfig.8 2022-09-02 15:07:49.408154484 +0200 +++ new/supportutils-3.1.25/man/supportconfig.8 2023-03-20 20:40:23.364065975 +0100 @@ -1,4 +1,4 @@ -.TH SUPPORTCONFIG 8 "09 Mar 2021" "supportutils" "Support Utilities Manual" +.TH SUPPORTCONFIG 8 "20 Mar 2023" "supportutils" "Support Utilities Manual" .SH NAME supportconfig - Gathers system troubleshooting information .SH SYNOPSIS @@ -75,7 +75,7 @@ Directory path for supportconfig output files .TP \fB\-S\fR \fInumber\fR -Limit number of included SAR files +Limit number of included SAR data and text files. This number applies to the data and text files separately, 30 data and 30 text sar files. Default: 30 .TP \fB\-T\fR \fIseconds\fR Binary execution timeout. Some binaries are executed with a timeout value. If the timeout value is exceeded, supportconfig assumes the binary is unresponsive and continues gathering information. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/supportutils-3.1.21/man/supportconfig.conf.5 new/supportutils-3.1.25/man/supportconfig.conf.5 --- old/supportutils-3.1.21/man/supportconfig.conf.5 2022-09-02 15:08:00.075894335 +0200 +++ new/supportutils-3.1.25/man/supportconfig.conf.5 2023-03-20 20:41:58.464810012 +0100 @@ -1,4 +1,4 @@ -.TH SUPPORTCONFIG.CONF 5 "10 Feb 2021" "supportutils" "Support Utilities Manual" +.TH SUPPORTCONFIG.CONF 5 "20 Mar 2023" "supportutils" "Support Utilities Manual" .SH NAME supportconfig.conf \- .BR supportconfig (8) @@ -350,7 +350,7 @@ Screen buffer mode. Useful for third party applications running supportconfig. No status or progress is displayed on screen, just the current supportconfig gathering action. All status information is logged in supportconfig.txt. \fB\-b\fR (0) .TP VAR_OPTION_SAR_FILES_LIMIT -The maximum number of SAR data files to include in the supportconfig tar ball. \fB\-S\fR (30) +The maximum number of SAR data and text files to include in the supportconfig tar ball. This number applies to the data and text files separately, 30 data and 30 text sar files. \fB\-S\fR (30) .TP VAR_OPTION_SILENT When set to 1, supportconfig runs in quiet mode. This option is useful if you plan on running regular supportconfigs in a cron job for example. \fB\-Q\fR (0) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/supportutils-3.1.21/spec/supportutils.changes new/supportutils-3.1.25/spec/supportutils.changes --- old/supportutils-3.1.21/spec/supportutils.changes 2022-11-11 19:05:02.958696943 +0100 +++ new/supportutils-3.1.25/spec/supportutils.changes 2023-06-01 06:30:44.360117473 +0200 @@ -1,4 +1,54 @@ ------------------------------------------------------------------- +Thu Jun 1 04:29:14 UTC 2023 - jason.rec...@suse.com + +- Changes for supportutils version 3.1.25 + + Removed iSCSI passwords CVE-2022-45154 (bsc#1207598) + + powerpc: Collect lsslot,amsstat, and opal elogs (pr#149) + + powerpc: collect invscout logs (pr#150) + + powerpc: collect RMC status logs (pr#151) + + Added missing nvme nbft commands (bsc#1211599) + + Fixed invalid nvme commands (bsc#1211598) + + Added missing podman information (PED-1703, bsc#1181477) + + Removed dependency on sysfstools + + Check for systool use (bsc#1210015) + + Added selinux checking (bsc#1209979) + + Updated SLES_VER matrix + +------------------------------------------------------------------- +Mon Mar 20 22:51:05 UTC 2023 - jason.rec...@suse.com + +- Fixed missing status detail for apparmor (bsc#1196933) +- Corrected invalid argument list in docker.txt (bsc#1206608) +- Applies limit equally to sar data and text files (bsc#1207543) +- Collects hwinfo hardware logs (bsc#1208928) +- Collects lparnumascore logs (issue#148) + +Thu Feb 02 16:53:23 UTC 2023 - hp.jan...@suse.com +------------------------------------------------------------------- + +- Add dependency to `numactl` on ppc64le and `s390x`, this enforces + that `numactl --hardware` data is provided in supportconfigs + +------------------------------------------------------------------- +Thu Jan 26 15:58:24 UTC 2023 - jason.rec...@suse.com + +- Changes to supportconfig.rc version 3.1.11-35 + + Corrected _sanitize_file to include iscsi.conf and others (bsc#1206402) + +------------------------------------------------------------------- +Fri Dec 2 14:25:03 UTC 2022 - jason.rec...@suse.com + +- Changes to supportconfig version 3.1.11-46.4 + + Added plymouth_info + +------------------------------------------------------------------- +Thu Nov 17 18:06:47 UTC 2022 - jason.rec...@suse.com + +- Changes to getappcore version 1.53.02 + + The location of chkbin was updated earlier. This documents that + change (bsc#1205533, bsc#1204942) + +------------------------------------------------------------------- Fri Nov 11 18:01:33 UTC 2022 - jason.rec...@suse.com - Changes to supportconfig version 3.1.11-46.3 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/supportutils-3.1.21/spec/supportutils.spec new/supportutils-3.1.25/spec/supportutils.spec --- old/supportutils-3.1.21/spec/supportutils.spec 2022-11-11 19:05:06.270724703 +0100 +++ new/supportutils-3.1.25/spec/supportutils.spec 2023-06-01 06:30:47.808150242 +0200 @@ -1,7 +1,7 @@ # # spec file for package supportutils # -# Copyright (c) 2022 SUSE LLC +# Copyright (c) 2023 SUSE LLC # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -23,7 +23,7 @@ %define support_libdir /usr/lib/supportconfig Name: supportutils -Version: 3.1.21 +Version: 3.1.25 Release: 0 Summary: Support Troubleshooting Tools License: GPL-2.0-only @@ -33,7 +33,9 @@ Requires: iproute2 Requires: kmod-compat Requires: ncurses-utils -Requires: sysfsutils +%ifarch ppc64le s390x +Requires: numactl +%endif Requires: tar Requires: util-linux-systemd Requires: /usr/bin/which