diff --git a/Fix-compilation-error-on-sw64-arch.patch b/Fix-compilation-error-on-sw64-arch.patch new file mode 100644 index 0000000000000000000000000000000000000000..8bd07911267a4a8ac9c08adeea56ed1ed2a39a6b --- /dev/null +++ b/Fix-compilation-error-on-sw64-arch.patch @@ -0,0 +1,81 @@ +From 46407ca0d2adfa39164ba6cbc7392191b0ec1563 Mon Sep 17 00:00:00 2001 +From: zhangzhixin +Date: Wed, 12 Apr 2023 12:04:18 +0800 +Subject: [PATCH] Fix compilation error on sw64 arch. + +--- + include/compat/endian.h | 2 +- + plugins/sudoers/auth/secureware.c | 6 +++--- + plugins/sudoers/getspwuid.c | 4 ++-- + 3 files changed, 6 insertions(+), 6 deletions(-) + +diff --git a/include/compat/endian.h b/include/compat/endian.h +index d3c5ca9..feecbcf 100644 +--- a/include/compat/endian.h ++++ b/include/compat/endian.h +@@ -45,7 +45,7 @@ + # define BYTE_ORDER LITTLE_ENDIAN + # elif defined(_BIG_ENDIAN) || defined(__BIG_ENDIAN__) + # define BYTE_ORDER BIG_ENDIAN +-# elif defined(__alpha__) || defined(__alpha) || defined(__amd64) || \ ++# elif defined(__alpha__) || defined(__alpha) || defined(__sw_64__) || defined(__sw_64) || defined(__amd64) || \ + defined(BIT_ZERO_ON_RIGHT) || defined(i386) || defined(__i386) || \ + defined(MIPSEL) || defined(_MIPSEL) || defined(ns32000) || \ + defined(__ns3200) || defined(sun386) || defined(vax) || \ +diff --git a/plugins/sudoers/auth/secureware.c b/plugins/sudoers/auth/secureware.c +index dd7aa42..b5d357d 100644 +--- a/plugins/sudoers/auth/secureware.c ++++ b/plugins/sudoers/auth/secureware.c +@@ -46,7 +46,7 @@ + #include "sudoers.h" + #include "sudo_auth.h" + +-#ifdef __alpha ++#if defined __alpha || defined __sw_64 + extern int crypt_type; + #endif + +@@ -55,7 +55,7 @@ sudo_secureware_init(struct passwd *pw, sudo_auth *auth) + { + debug_decl(sudo_secureware_init, SUDOERS_DEBUG_AUTH); + +-#ifdef __alpha ++#if defined __alpha || defined __sw_64 + if (crypt_type == INT_MAX) + debug_return_int(AUTH_FAILURE); /* no shadow */ + #endif +@@ -77,7 +77,7 @@ sudo_secureware_verify(struct passwd *pw, char *pass, sudo_auth *auth, struct su + if (pass[0] == '\0') + debug_return_int(pw_epasswd[0] ? AUTH_FAILURE : AUTH_SUCCESS); + +-#if defined(__alpha) ++#if defined(__alpha) || defined(__sw_64) + # ifdef HAVE_DISPCRYPT + epass = dispcrypt(pass, pw_epasswd, crypt_type); + # else +diff --git a/plugins/sudoers/getspwuid.c b/plugins/sudoers/getspwuid.c +index 650b3f3..f31dd5f 100644 +--- a/plugins/sudoers/getspwuid.c ++++ b/plugins/sudoers/getspwuid.c +@@ -51,7 +51,7 @@ + /* + * Exported for auth/secureware.c + */ +-#if defined(HAVE_GETPRPWNAM) && defined(__alpha) ++#if defined(HAVE_GETPRPWNAM) && (defined(__alpha) || defined(__sw_64)) + int crypt_type = INT_MAX; + #endif /* HAVE_GETPRPWNAM && __alpha */ + +@@ -87,7 +87,7 @@ sudo_getepw(const struct passwd *pw) + struct pr_passwd *spw; + + if ((spw = getprpwnam(pw->pw_name)) && spw->ufld.fd_encrypt) { +-# ifdef __alpha ++# if defined __alpha || defined __sw_64 + crypt_type = spw->ufld.fd_oldcrypt; + # endif /* __alpha */ + epw = spw->ufld.fd_encrypt; +-- +2.33.0 + + diff --git a/sudo.spec b/sudo.spec index 97589749cbf64b10db9e14aaaf95d8126caa1387..bacb76e787f3bee92f5d8a044b895e67354f3322 100644 --- a/sudo.spec +++ b/sudo.spec @@ -1,6 +1,6 @@ Name: sudo Version: 1.9.2 -Release: 12 +Release: 13 Summary: Allows restricted root access for specified users License: ISC URL: http://www.courtesan.com/sudo/ @@ -35,6 +35,7 @@ Patch21: backport-Fix-memory-leak-of-pass-in-converse.patch Patch22: backport-sudo_passwd_cleanup-Set-auth-data-to-NULL-after-free.patch Patch23: backport-CVE-2023-22809.patch Patch24: backport-CVE-2023-28486_CVE-2023-28487.patch +Patch25: Fix-compilation-error-on-sw64-arch.patch Buildroot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) Requires: pam @@ -175,6 +176,9 @@ install -p -c -m 0644 %{SOURCE3} $RPM_BUILD_ROOT/etc/pam.d/sudo-i %exclude %{_pkgdocdir}/ChangeLog %changelog +* Wed Apr 12 2023 wangyu - 1.9.2-13 +- Fix compilation error on sw64 arch. + * Mon Apr 10 2023 zhangzeyang - 1.9.2-12 - change spec fix profile Overwrite