diff options
author | V3n3RiX <venerix@redcorelinux.org> | 2021-01-08 11:28:34 +0000 |
---|---|---|
committer | V3n3RiX <venerix@redcorelinux.org> | 2021-01-08 11:28:34 +0000 |
commit | 24fd814c326e282c4321965c31f341dad77e270d (patch) | |
tree | 033d63b33c21a3209964ab56005bb9bdd523630d /app-shells/bash/files | |
parent | 129160ec854dca4c3fedb5bcfbcb56930371da0f (diff) |
gentoo resync : 08.01.2021
Diffstat (limited to 'app-shells/bash/files')
-rw-r--r-- | app-shells/bash/files/bash-5.0_p11-disable_priv_mode.patch | 85 |
1 files changed, 85 insertions, 0 deletions
diff --git a/app-shells/bash/files/bash-5.0_p11-disable_priv_mode.patch b/app-shells/bash/files/bash-5.0_p11-disable_priv_mode.patch new file mode 100644 index 000000000000..9a05c8b8613f --- /dev/null +++ b/app-shells/bash/files/bash-5.0_p11-disable_priv_mode.patch @@ -0,0 +1,85 @@ +diff -urP ../bash-5.0.orig/config.h.in config.h.in +--- ../bash-5.0.orig/config.h.in 2018-12-04 09:54:17.000000000 -0700 ++++ config.h.in 2019-12-10 11:34:42.157926317 -0700 +@@ -1,6 +1,6 @@ + /* config.h -- Configuration file for bash. */ + +-/* Copyright (C) 1987-2009,2011-2012 Free Software Foundation, Inc. ++/* Copyright (C) 1987-2009,2011-2012,2013-2019 Free Software Foundation, Inc. + + This file is part of GNU Bash, the Bourne Again SHell. + +@@ -807,6 +807,14 @@ + #undef HAVE_SETREGID + #undef HAVE_DECL_SETREGID + ++/* Define if you have the setregid function. */ ++#undef HAVE_SETRESGID ++#undef HAVE_DECL_SETRESGID ++ ++/* Define if you have the setresuid function. */ ++#undef HAVE_SETRESUID ++#undef HAVE_DECL_SETRESUID ++ + /* Define if you have the setvbuf function. */ + #undef HAVE_SETVBUF + +diff -urP ../bash-5.0.orig/configure configure +--- ../bash-5.0.orig/configure 2019-01-02 07:43:31.000000000 -0700 ++++ configure 2019-12-10 11:34:42.166926317 -0700 +@@ -10281,6 +10281,17 @@ + #define HAVE_DECL_SETREGID $ac_have_decl + _ACEOF + ++ac_fn_c_check_decl "$LINENO" "" "ac_cv_have_decl_" "$ac_includes_default" ++if test "x$ac_cv_have_decl_" = xyes; then : ++ ac_have_decl=1 ++else ++ ac_have_decl=0 ++fi ++ ++cat >>confdefs.h <<_ACEOF ++#define HAVE_DECL_ $ac_have_decl ++_ACEOF ++(setresuid, setresgid) + ac_fn_c_check_decl "$LINENO" "strcpy" "ac_cv_have_decl_strcpy" "$ac_includes_default" + if test "x$ac_cv_have_decl_strcpy" = xyes; then : + ac_have_decl=1 +diff -urP ../bash-5.0.orig/configure.ac configure.ac +--- ../bash-5.0.orig/configure.ac 2019-01-02 07:39:11.000000000 -0700 ++++ configure.ac 2019-12-10 11:34:42.168926317 -0700 +@@ -810,6 +810,7 @@ + AC_CHECK_DECLS([printf]) + AC_CHECK_DECLS([sbrk]) + AC_CHECK_DECLS([setregid]) ++AC_CHECK_DECLS[(setresuid, setresgid]) + AC_CHECK_DECLS([strcpy]) + AC_CHECK_DECLS([strsignal]) + +diff -urP ../bash-5.0.orig/shell.c shell.c +--- ../bash-5.0.orig/shell.c 2018-12-06 09:28:21.000000000 -0700 ++++ shell.c 2019-12-10 11:34:42.170926317 -0700 +@@ -1293,7 +1293,11 @@ + { + int e; + ++#if HAVE_DECL_SETRESUID ++ if (setresuid (current_user.uid, current_user.uid, current_user.uid) < 0) ++#else + if (setuid (current_user.uid) < 0) ++#endif + { + e = errno; + sys_error (_("cannot set uid to %d: effective uid %d"), current_user.uid, current_user.euid); +@@ -1302,7 +1306,11 @@ + exit (e); + #endif + } ++#if HAVE_DECL_SETRESGID ++ if (setresgid (current_user.gid, current_user.gid, current_user.gid) < 0) ++#else + if (setgid (current_user.gid) < 0) ++#endif + sys_error (_("cannot set gid to %d: effective gid %d"), current_user.gid, current_user.egid); + + current_user.euid = current_user.uid; |