diff options
Diffstat (limited to 'app-admin/sudo/files/sudo-1.9.2-glibc-2.32.patch')
-rw-r--r-- | app-admin/sudo/files/sudo-1.9.2-glibc-2.32.patch | 308 |
1 files changed, 0 insertions, 308 deletions
diff --git a/app-admin/sudo/files/sudo-1.9.2-glibc-2.32.patch b/app-admin/sudo/files/sudo-1.9.2-glibc-2.32.patch deleted file mode 100644 index 6134fe736d00..000000000000 --- a/app-admin/sudo/files/sudo-1.9.2-glibc-2.32.patch +++ /dev/null @@ -1,308 +0,0 @@ - -# HG changeset patch -# User Todd C. Miller <Todd.Miller@sudo.ws> -# Date 1598395693 21600 -# Node ID e30482f26924b07775d87ae591e54ad72e794d5e -# Parent 1ede927d99b3cb06ba514c9fd2fd7fa9a014a1b2 -Use sigabbrev_np(3) to access signal abbreviations if supported. -glibc-2.32 has removed sys_sigabbrev[], we can use sigabbrev_np(3) instead. - -diff -r 1ede927d99b3 -r e30482f26924 config.h.in ---- a/config.h.in Mon Aug 17 19:37:09 2020 -0600 -+++ b/config.h.in Tue Aug 25 16:48:13 2020 -0600 -@@ -740,6 +740,9 @@ - /* Define to 1 if you have the `sig2str' function. */ - #undef HAVE_SIG2STR - -+/* Define to 1 if you have the `sigabbrev_np' function. */ -+#undef HAVE_SIGABBREV_NP -+ - /* Define to 1 if you use S/Key. */ - #undef HAVE_SKEY - -diff -r 1ede927d99b3 -r e30482f26924 configure ---- a/configure Mon Aug 17 19:37:09 2020 -0600 -+++ b/configure Tue Aug 25 16:48:13 2020 -0600 -@@ -23687,9 +23687,21 @@ - - - if test x"${ac_cv_func_sig2str}${ac_cv_func_str2sig}" != x"yesyes"; then -- COMPAT_TEST_PROGS="${COMPAT_TEST_PROGS}${COMPAT_TEST_PROGS+ }strsig_test" -- HAVE_SIGNAME="false" -- ac_fn_c_check_decl "$LINENO" "sys_signame" "ac_cv_have_decl_sys_signame" " -+ for ac_func in sigabbrev_np -+do : -+ ac_fn_c_check_func "$LINENO" "sigabbrev_np" "ac_cv_func_sigabbrev_np" -+if test "x$ac_cv_func_sigabbrev_np" = xyes; then : -+ cat >>confdefs.h <<_ACEOF -+#define HAVE_SIGABBREV_NP 1 -+_ACEOF -+ -+fi -+done -+ -+ if test x"${ac_cv_func_sigabbrev_np}" != x"yes"; then -+ COMPAT_TEST_PROGS="${COMPAT_TEST_PROGS}${COMPAT_TEST_PROGS+ }strsig_test" -+ HAVE_SIGNAME="false" -+ ac_fn_c_check_decl "$LINENO" "sys_signame" "ac_cv_have_decl_sys_signame" " - $ac_includes_default - #include <signal.h> - -@@ -23705,7 +23717,7 @@ - _ACEOF - if test $ac_have_decl = 1; then : - -- HAVE_SIGNAME="true" -+ HAVE_SIGNAME="true" - - fi - ac_fn_c_check_decl "$LINENO" "_sys_signame" "ac_cv_have_decl__sys_signame" " -@@ -23724,7 +23736,7 @@ - _ACEOF - if test $ac_have_decl = 1; then : - -- HAVE_SIGNAME="true" -+ HAVE_SIGNAME="true" - - fi - ac_fn_c_check_decl "$LINENO" "sys_sigabbrev" "ac_cv_have_decl_sys_sigabbrev" " -@@ -23743,12 +23755,12 @@ - _ACEOF - if test $ac_have_decl = 1; then : - -- HAVE_SIGNAME="true" -- --fi -- -- if test "$HAVE_SIGNAME" != "true"; then -- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for undeclared sys_sigabbrev" >&5 -+ HAVE_SIGNAME="true" -+ -+fi -+ -+ if test "$HAVE_SIGNAME" != "true"; then -+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for undeclared sys_sigabbrev" >&5 - $as_echo_n "checking for undeclared sys_sigabbrev... " >&6; } - if ${sudo_cv_var_sys_sigabbrev+:} false; then : - $as_echo_n "(cached) " >&6 -@@ -23777,17 +23789,18 @@ - fi - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $sudo_cv_var_sys_sigabbrev" >&5 - $as_echo "$sudo_cv_var_sys_sigabbrev" >&6; } -- if test "$sudo_cv_var_sys_sigabbrev" = yes; then -- $as_echo "#define HAVE_SYS_SIGABBREV 1" >>confdefs.h -- -- else -- case " $LIBOBJS " in -+ if test "$sudo_cv_var_sys_sigabbrev" = yes; then -+ $as_echo "#define HAVE_SYS_SIGABBREV 1" >>confdefs.h -+ -+ else -+ case " $LIBOBJS " in - *" signame.$ac_objext "* ) ;; - *) LIBOBJS="$LIBOBJS signame.$ac_objext" - ;; - esac - -- SIGNAME=signame.lo -+ SIGNAME=signame.lo -+ fi - fi - fi - fi -diff -r 1ede927d99b3 -r e30482f26924 configure.ac ---- a/configure.ac Mon Aug 17 19:37:09 2020 -0600 -+++ b/configure.ac Tue Aug 25 16:48:13 2020 -0600 -@@ -3498,29 +3498,32 @@ - dnl Also enable unit tests for sig2str() and str2sig(). - dnl - if test x"${ac_cv_func_sig2str}${ac_cv_func_str2sig}" != x"yesyes"; then -- COMPAT_TEST_PROGS="${COMPAT_TEST_PROGS}${COMPAT_TEST_PROGS+ }strsig_test" -- HAVE_SIGNAME="false" -- AC_CHECK_DECLS([sys_signame, _sys_signame, sys_sigabbrev], [ -- HAVE_SIGNAME="true" -- ], [ ], [ -+ AC_CHECK_FUNCS([sigabbrev_np]) -+ if test x"${ac_cv_func_sigabbrev_np}" != x"yes"; then -+ COMPAT_TEST_PROGS="${COMPAT_TEST_PROGS}${COMPAT_TEST_PROGS+ }strsig_test" -+ HAVE_SIGNAME="false" -+ AC_CHECK_DECLS([sys_signame, _sys_signame, sys_sigabbrev], [ -+ HAVE_SIGNAME="true" -+ ], [ ], [ - AC_INCLUDES_DEFAULT - #include <signal.h> -- ]) -- if test "$HAVE_SIGNAME" != "true"; then -- AC_CACHE_CHECK([for undeclared sys_sigabbrev], -- [sudo_cv_var_sys_sigabbrev], -- [AC_LINK_IFELSE( -- [AC_LANG_PROGRAM([[extern char **sys_sigabbrev;]], [[return sys_sigabbrev[1];]])], -- [sudo_cv_var_sys_sigabbrev=yes], -- [sudo_cv_var_sys_sigabbrev=no] -- ) -- ] -- ) -- if test "$sudo_cv_var_sys_sigabbrev" = yes; then -- AC_DEFINE(HAVE_SYS_SIGABBREV) -- else -- AC_LIBOBJ(signame) -- SIGNAME=signame.lo -+ ]) -+ if test "$HAVE_SIGNAME" != "true"; then -+ AC_CACHE_CHECK([for undeclared sys_sigabbrev], -+ [sudo_cv_var_sys_sigabbrev], -+ [AC_LINK_IFELSE( -+ [AC_LANG_PROGRAM([[extern char **sys_sigabbrev;]], [[return sys_sigabbrev[1];]])], -+ [sudo_cv_var_sys_sigabbrev=yes], -+ [sudo_cv_var_sys_sigabbrev=no] -+ ) -+ ] -+ ) -+ if test "$sudo_cv_var_sys_sigabbrev" = yes; then -+ AC_DEFINE(HAVE_SYS_SIGABBREV) -+ else -+ AC_LIBOBJ(signame) -+ SIGNAME=signame.lo -+ fi - fi - fi - fi -diff -r 1ede927d99b3 -r e30482f26924 lib/util/sig2str.c ---- a/lib/util/sig2str.c Mon Aug 17 19:37:09 2020 -0600 -+++ b/lib/util/sig2str.c Tue Aug 25 16:48:13 2020 -0600 -@@ -1,7 +1,7 @@ - /* - * SPDX-License-Identifier: ISC - * -- * Copyright (c) 2012-2015, 2017-2019 Todd C. Miller <Todd.Miller@sudo.ws> -+ * Copyright (c) 2012-2015, 2017-2020 Todd C. Miller <Todd.Miller@sudo.ws> - * - * Permission to use, copy, modify, and distribute this software for any - * purpose with or without fee is hereby granted, provided that the above -@@ -32,20 +32,24 @@ - #include <unistd.h> - - #include "sudo_compat.h" -+#include "sudo_util.h" - --#if defined(HAVE_DECL_SYS_SIGNAME) && HAVE_DECL_SYS_SIGNAME == 1 --# define sudo_sys_signame sys_signame --#elif defined(HAVE_DECL__SYS_SIGNAME) && HAVE_DECL__SYS_SIGNAME == 1 --# define sudo_sys_signame _sys_signame --#elif defined(HAVE_DECL_SYS_SIGABBREV) && HAVE_DECL_SYS_SIGABBREV == 1 --# define sudo_sys_signame sys_sigabbrev --#else --# ifdef HAVE_SYS_SIGABBREV -- /* sys_sigabbrev is not declared by glibc */ --# define sudo_sys_signame sys_sigabbrev -+#if !defined(HAVE_SIGABBREV_NP) -+# if defined(HAVE_DECL_SYS_SIGNAME) && HAVE_DECL_SYS_SIGNAME == 1 -+# define sigabbrev_np(_x) sys_signame[(_x)] -+# elif defined(HAVE_DECL__SYS_SIGNAME) && HAVE_DECL__SYS_SIGNAME == 1 -+# define sigabbrev_np(_x) _sys_signame[(_x)] -+# elif defined(HAVE_SYS_SIGABBREV) -+# define sigabbrev_np(_x) sys_sigabbrev[(_x)] -+# if defined(HAVE_DECL_SYS_SIGABBREV) && HAVE_DECL_SYS_SIGABBREV == 0 -+ /* sys_sigabbrev is not declared by glibc */ -+ extern const char *const sys_sigabbrev[NSIG]; -+# endif -+# else -+# define sigabbrev_np(_x) sudo_sys_signame[(_x)] -+ extern const char *const sudo_sys_signame[NSIG]; - # endif --extern const char *const sudo_sys_signame[NSIG]; --#endif -+#endif /* !HAVE_SIGABBREV_NP */ - - /* - * Translate signal number to name. -@@ -77,15 +81,18 @@ - return 0; - } - #endif -- if (signo > 0 && signo < NSIG && sudo_sys_signame[signo] != NULL) { -- strlcpy(signame, sudo_sys_signame[signo], SIG2STR_MAX); -- /* Make sure we always return an upper case signame. */ -- if (islower((unsigned char)signame[0])) { -- int i; -- for (i = 0; signame[i] != '\0'; i++) -- signame[i] = toupper((unsigned char)signame[i]); -+ if (signo > 0 && signo < NSIG) { -+ const char *cp = sigabbrev_np(signo); -+ if (cp != NULL) { -+ strlcpy(signame, cp, SIG2STR_MAX); -+ /* Make sure we always return an upper case signame. */ -+ if (islower((unsigned char)signame[0])) { -+ int i; -+ for (i = 0; signame[i] != '\0'; i++) -+ signame[i] = toupper((unsigned char)signame[i]); -+ } -+ return 0; - } -- return 0; - } - errno = EINVAL; - return -1; -diff -r 1ede927d99b3 -r e30482f26924 lib/util/str2sig.c ---- a/lib/util/str2sig.c Mon Aug 17 19:37:09 2020 -0600 -+++ b/lib/util/str2sig.c Tue Aug 25 16:48:13 2020 -0600 -@@ -1,7 +1,7 @@ - /* - * SPDX-License-Identifier: ISC - * -- * Copyright (c) 2019 Todd C. Miller <Todd.Miller@sudo.ws> -+ * Copyright (c) 2019-2020 Todd C. Miller <Todd.Miller@sudo.ws> - * - * Permission to use, copy, modify, and distribute this software for any - * purpose with or without fee is hereby granted, provided that the above -@@ -37,19 +37,22 @@ - #include "sudo_compat.h" - #include "sudo_util.h" - --#if defined(HAVE_DECL_SYS_SIGNAME) && HAVE_DECL_SYS_SIGNAME == 1 --# define sudo_sys_signame sys_signame --#elif defined(HAVE_DECL__SYS_SIGNAME) && HAVE_DECL__SYS_SIGNAME == 1 --# define sudo_sys_signame _sys_signame --#elif defined(HAVE_DECL_SYS_SIGABBREV) && HAVE_DECL_SYS_SIGABBREV == 1 --# define sudo_sys_signame sys_sigabbrev --#else --# ifdef HAVE_SYS_SIGABBREV -- /* sys_sigabbrev is not declared by glibc */ --# define sudo_sys_signame sys_sigabbrev -+#if !defined(HAVE_SIGABBREV_NP) -+# if defined(HAVE_DECL_SYS_SIGNAME) && HAVE_DECL_SYS_SIGNAME == 1 -+# define sigabbrev_np(_x) sys_signame[(_x)] -+# elif defined(HAVE_DECL__SYS_SIGNAME) && HAVE_DECL__SYS_SIGNAME == 1 -+# define sigabbrev_np(_x) _sys_signame[(_x)] -+# elif defined(HAVE_SYS_SIGABBREV) -+# define sigabbrev_np(_x) sys_sigabbrev[(_x)] -+# if defined(HAVE_DECL_SYS_SIGABBREV) && HAVE_DECL_SYS_SIGABBREV == 0 -+ /* sys_sigabbrev is not declared by glibc */ -+ extern const char *const sys_sigabbrev[NSIG]; -+# endif -+# else -+# define sigabbrev_np(_x) sudo_sys_signame[(_x)] -+ extern const char *const sudo_sys_signame[NSIG]; - # endif --extern const char *const sudo_sys_signame[NSIG]; --#endif -+#endif /* !HAVE_SIGABBREV_NP */ - - /* - * Many systems use aliases for source backward compatibility. -@@ -154,11 +157,11 @@ - } - } - -- /* Check sys_signame[]. */ - for (signo = 1; signo < NSIG; signo++) { -- if (sudo_sys_signame[signo] != NULL) { -+ const char *cp = sigabbrev_np(signo); -+ if (cp != NULL) { - /* On macOS sys_signame[] may contain lower-case names. */ -- if (strcasecmp(signame, sudo_sys_signame[signo]) == 0) { -+ if (strcasecmp(signame, cp) == 0) { - *result = signo; - return 0; - } - |