From e5d953f33925bfa183e32fdd1e41ac7f9da5f470 Mon Sep 17 00:00:00 2001 From: "Todd C. Miller" Date: Tue, 8 Jul 2025 19:17:57 -0600 Subject: [PATCH] Don't assume RHEL major version is only a single digit Fixes handling of RHEL 10 and higher. --- etc/sudo-logsrvd.pp | 4 ++-- etc/sudo-python.pp | 4 ++-- etc/sudo.pp | 4 ++-- scripts/pp | 2 +- 4 files changed, 7 insertions(+), 7 deletions(-) diff --git a/etc/sudo-logsrvd.pp b/etc/sudo-logsrvd.pp index a51fc03ab..a904c720e 100644 --- a/etc/sudo-logsrvd.pp +++ b/etc/sudo-logsrvd.pp @@ -129,14 +129,14 @@ This makes it possible to have all sudo I/O logs on a central server." %if [rpm] # Add distro info to release - osrelease=`echo "$pp_rpm_distro" | sed -e 's/^[^0-9]*\([0-9]\{1,2\}\).*/\1/'` + osrelease=`echo "$pp_rpm_distro" | sed -e 's/^[^0-9]*\([0-9]\{1,3\}\).*/\1/'` case "$pp_rpm_distro" in centos*|rhel*|f[0-9]*) # CentOS Stream has a single-digit version if test $osrelease -lt 10; then osrelease="${osrelease}0" fi - pp_rpm_release="$pp_rpm_release.el${osrelease%%[0-9]}" + pp_rpm_release="$pp_rpm_release.el${osrelease%[0-9]}" ;; sles*) pp_rpm_release="$pp_rpm_release.sles$osrelease" diff --git a/etc/sudo-python.pp b/etc/sudo-python.pp index 646c4312b..97d88d795 100644 --- a/etc/sudo-python.pp +++ b/etc/sudo-python.pp @@ -85,14 +85,14 @@ %if [rpm] # Add distro info to release - osrelease=`echo "$pp_rpm_distro" | sed -e 's/^[^0-9]*\([0-9]\{1,2\}\).*/\1/'` + osrelease=`echo "$pp_rpm_distro" | sed -e 's/^[^0-9]*\([0-9]\{1,3\}\).*/\1/'` case "$pp_rpm_distro" in centos*|rhel*|f[0-9]*) # CentOS Stream has a single-digit version if test $osrelease -lt 10; then osrelease="${osrelease}0" fi - pp_rpm_release="$pp_rpm_release.el${osrelease%%[0-9]}" + pp_rpm_release="$pp_rpm_release.el${osrelease%[0-9]}" ;; sles*) pp_rpm_release="$pp_rpm_release.sles$osrelease" diff --git a/etc/sudo.pp b/etc/sudo.pp index 2dfbeabd0..541a56111 100644 --- a/etc/sudo.pp +++ b/etc/sudo.pp @@ -150,14 +150,14 @@ still allow people to get their work done." %if [rpm] # Add distro info to release - osrelease=`echo "$pp_rpm_distro" | sed -e 's/^[^0-9]*\([0-9]\{1,2\}\).*/\1/'` + osrelease=`echo "$pp_rpm_distro" | sed -e 's/^[^0-9]*\([0-9]\{1,3\}\).*/\1/'` case "$pp_rpm_distro" in centos*|rhel*|f[0-9]*) # CentOS Stream has a single-digit version if test $osrelease -lt 10; then osrelease="${osrelease}0" fi - pp_rpm_release="$pp_rpm_release.el${osrelease%%[0-9]}" + pp_rpm_release="$pp_rpm_release.el${osrelease%[0-9]}" ;; sles*) pp_rpm_release="$pp_rpm_release.sles$osrelease" diff --git a/scripts/pp b/scripts/pp index a1c5638a8..1489ef4ec 100755 --- a/scripts/pp +++ b/scripts/pp @@ -5581,7 +5581,7 @@ pp_rpm_detect_distro () { -e 's/^Red Hat Enterprise Linux.*release \([0-9][0-9\.]*\).*/rhel\1/p' \ -e 's/^Rocky Linux.*release \([0-9][0-9\.]*\).*/rhel\1/p' \ -e 's/^AlmaLinux.*release \([0-9][0-9\.]*\).*/rhel\1/p' \ - -e 's/^CentOS.*release \([0-9][0-9\.]*\).*/centos\1/p' \ + -e 's/^CentOS.*release \([0-9]\{1,\}\)\(\.[0-9]*\)\{0,1\}.*/centos\1\2/p' \ /etc/redhat-release` elif test -f /etc/SuSE-release; then pp_rpm_distro=`awk '