mirror of
https://github.com/sudo-project/sudo.git
synced 2025-08-22 09:57:41 +00:00
sudo 1.9.13
Document the changes to AIX plugins in docs/UPGRADE.md and regenerate configure using the latest autoconf from git.
This commit is contained in:
parent
702f21f7f6
commit
f6e0e87ba9
11
INSTALL.md
11
INSTALL.md
@ -332,6 +332,17 @@ Defaults are listed in brackets after the description.
|
||||
via the user's PATH) and the default libtool that comes
|
||||
with sudo.
|
||||
|
||||
--with-aix-soname=svr4
|
||||
Starting with version 1.9.13, sudo will build AIX-style
|
||||
shared libraries and dynamic shared objects by default
|
||||
instead of svr4-style.. This means that the default sudo
|
||||
plugins are now .a (archive) files that contain a .so shared
|
||||
object file instead of bare .so files. This was done to
|
||||
improve compatibility with the AIX Freeware ecosystem,
|
||||
specifically, the AIX Freeware build of OpenSSL. To restore
|
||||
the old, pre-1.9.13 behavior, run configure using the
|
||||
--with-aix-soname=svr4 option.
|
||||
|
||||
### Optional features:
|
||||
|
||||
--disable-root-mailer
|
||||
|
76
NEWS
76
NEWS
@ -1,3 +1,79 @@
|
||||
What's new in Sudo 1.9.13
|
||||
|
||||
* Fixed a bug running relative commands via sudo when "log_subcmds"
|
||||
is enabled. GitHub issue #194.
|
||||
|
||||
* Fixed a signal handling bug when running sudo commands in a shell
|
||||
script. Signals were not being forwarded to the command when
|
||||
the sudo process was not run in its own process group.
|
||||
|
||||
* Fixed a bug in cvtsudoers' LDIF parsing when the file ends without
|
||||
a newline and a backslash is the last character of the file.
|
||||
|
||||
* Fixed a compilation error on Linux/aarch64. GitHub issue #197.
|
||||
|
||||
* Fixed a potential use-after-free bug with cvtsudoers filtering.
|
||||
GitHub issue #198.
|
||||
|
||||
* Added a reminder to the default lecture that the password will
|
||||
not echo. This line is only displayed when the pwfeedback option
|
||||
is disabled. GitHub issue #195.
|
||||
|
||||
* Fixed potential memory leaks in error paths. GitHub issues #199,
|
||||
#202.
|
||||
|
||||
* Fixed potential NULL dereferences on memory allocation failure.
|
||||
GitHub issues #204, #211.
|
||||
|
||||
* Sudo now uses C23-style attributes in function prototypes instead
|
||||
of gcc-style attributes if supported.
|
||||
|
||||
* Fixed a potential crash introduced in the fix for GitHub issue #134.
|
||||
If a user's sudoers entry did not have any RunAs user's set,
|
||||
running "sudo -U otheruser -l" would dereference a NULL pointer.
|
||||
|
||||
* Added a new "list" pseudo-command in sudoers to allow a user to
|
||||
list another user's privileges. Previously, only root or a user
|
||||
with the ability to run any command as either root or the target
|
||||
user on the current host could use the -U option. This also
|
||||
includes a fix to the log entry when a user lacks permission to
|
||||
run "sudo -U otheruser -l command". Previously, the logs would
|
||||
indicate that the user tried to run the actual command, now the
|
||||
log entry includes the list operation.
|
||||
|
||||
* JSON logging now escapes control characters if they happen to
|
||||
appear in the command or environment.
|
||||
|
||||
* New Albanian translation from translationproject.org.
|
||||
|
||||
* Regular expressions in sudoers or logsrvd.conf may no longer
|
||||
contain consecutive repetition operators. This is implementation-
|
||||
specific behavior according to POSIX, but some implementations
|
||||
will allocate excessive amounts of memory. This mainly affects
|
||||
the fuzzers.
|
||||
|
||||
* Sudo now builds AIX-style shared libraries and dynamic shared
|
||||
objects by default instead of svr4-style. This means that the
|
||||
default sudo plugins are now .a (archive) files that contain a
|
||||
.so shared object file instead of bare .so files. This was done
|
||||
to improve compatibility with the AIX Freeware ecosystem,
|
||||
specifically, the AIX Freeware build of OpenSSL. Sudo will still
|
||||
load svr4-style .so plugins and if a .so file is requested,
|
||||
either via sudo.conf or the sudoers file, and only the .a file
|
||||
is present, sudo will convert the path from plugin.so to
|
||||
plugin.a(plugin.so) when loading it. This ensures compatibility
|
||||
with existing configurations. To restore the old, pre-1.9.13
|
||||
behavior, run configure using the --with-aix-soname=svr4 option.
|
||||
|
||||
* Sudo no longer checks the ownership and mode of the plugins that
|
||||
it loads. Plugins are configured via either the sudo.conf or
|
||||
sudoers file which are trusted configuration files. These checks
|
||||
suffered from time-of-check vs. time-of-use race conditions and
|
||||
complicate loading plugins that are not simple paths. Ownership
|
||||
and mode checks are still performed when loading the sudo.conf
|
||||
and sudoers files, which do not suffer from race conditions.
|
||||
The sudo.conf "developer_mode" setting is no longer used.
|
||||
|
||||
What's new in Sudo 1.9.12p1
|
||||
|
||||
* Sudo's configure script now does a better job of detecting when
|
||||
|
19
config.h.in
19
config.h.in
@ -319,7 +319,7 @@
|
||||
/* Define to 1 if you have the 'freezero' function. */
|
||||
#undef HAVE_FREEZERO
|
||||
|
||||
/* Define to 1 if fseeko (and presumably ftello) exists and is declared. */
|
||||
/* Define to 1 if fseeko (and ftello) are declared in stdio.h. */
|
||||
#undef HAVE_FSEEKO
|
||||
|
||||
/* Define to 1 if you have the 'fstatat' function. */
|
||||
@ -1350,11 +1350,15 @@
|
||||
#ifndef __STDC_WANT_IEC_60559_DFP_EXT__
|
||||
# undef __STDC_WANT_IEC_60559_DFP_EXT__
|
||||
#endif
|
||||
/* Enable extensions specified by C23 Annex F. */
|
||||
#ifndef __STDC_WANT_IEC_60559_EXT__
|
||||
# undef __STDC_WANT_IEC_60559_EXT__
|
||||
#endif
|
||||
/* Enable extensions specified by ISO/IEC TS 18661-4:2015. */
|
||||
#ifndef __STDC_WANT_IEC_60559_FUNCS_EXT__
|
||||
# undef __STDC_WANT_IEC_60559_FUNCS_EXT__
|
||||
#endif
|
||||
/* Enable extensions specified by ISO/IEC TS 18661-3:2015. */
|
||||
/* Enable extensions specified by C23 Annex H and ISO/IEC TS 18661-3:2015. */
|
||||
#ifndef __STDC_WANT_IEC_60559_TYPES_EXT__
|
||||
# undef __STDC_WANT_IEC_60559_TYPES_EXT__
|
||||
#endif
|
||||
@ -1383,18 +1387,17 @@
|
||||
/* Number of bits in a file offset, on hosts where this is settable. */
|
||||
#undef _FILE_OFFSET_BITS
|
||||
|
||||
/* Define to 1 to make fseeko visible on some hosts (e.g. glibc 2.2). */
|
||||
/* Define to 1 if necessary to make fseeko visible. */
|
||||
#undef _LARGEFILE_SOURCE
|
||||
|
||||
/* Define for large files, on AIX-style hosts. */
|
||||
/* Define to 1 on platforms where this makes off_t a 64-bit type. */
|
||||
#undef _LARGE_FILES
|
||||
|
||||
/* Number of bits in a timestamp, on hosts where this is settable. */
|
||||
/* Number of bits in time_t, on hosts where this is settable. */
|
||||
#undef _TIME_BITS
|
||||
|
||||
#if !defined __MINGW_USE_VC2005_COMPAT && defined __MINGW32__
|
||||
# define __MINGW_USE_VC2005_COMPAT 1 /* For 64-bit time_t. */
|
||||
#endif
|
||||
/* Define to 1 on platforms where this makes time_t a 64-bit type. */
|
||||
#undef __MINGW_USE_VC2005_COMPAT
|
||||
|
||||
/* Define to __FUNCTION__ if your compiler supports __FUNCTION__ but not
|
||||
__func__ */
|
||||
|
@ -18,7 +18,7 @@ dnl ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
|
||||
dnl OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
||||
dnl
|
||||
AC_PREREQ([2.70])
|
||||
AC_INIT([sudo], [1.9.12p1], [https://bugzilla.sudo.ws/], [sudo])
|
||||
AC_INIT([sudo], [1.9.13], [https://bugzilla.sudo.ws/], [sudo])
|
||||
AC_CONFIG_HEADERS([config.h pathnames.h])
|
||||
AC_CONFIG_SRCDIR([src/sudo.c])
|
||||
AC_CONFIG_AUX_DIR([scripts])
|
||||
|
@ -1,6 +1,25 @@
|
||||
Notes on upgrading from an older release
|
||||
========================================
|
||||
|
||||
* Upgrading from a version prior to 1.9.13:
|
||||
|
||||
Sudo now builds AIX-style shared libraries and dynamic shared
|
||||
objects by default instead of svr4-style. This means that the
|
||||
default sudo plugins are now .a (archive) files that contain a
|
||||
.so shared object file instead of bare .so files. This was done
|
||||
to improve compatibility with the AIX Freeware ecosystem,
|
||||
specifically, the AIX Freeware build of OpenSSL. When loading
|
||||
a .a file as a plugin the name of the included .so file must
|
||||
also be specified, for example /usr/libexec/sudo/sudoers.a(sudoers.so).
|
||||
|
||||
Sudo is still capable of loading svr4-style .so plugins and if
|
||||
a .so file is requested, either via sudo.conf or the sudoers
|
||||
file, and only the .a file is present, sudo will convert the
|
||||
path from plugin.so to plugin.a(plugin.so). This ensures
|
||||
compatibility with existing configurations. To restore the old,
|
||||
pre-1.9.13 behavior, run configure using the --with-aix-soname=svr4
|
||||
option.
|
||||
|
||||
* Upgrading from a version prior to 1.9.10:
|
||||
|
||||
Sudo now interprets a command line argument in sudoers that
|
||||
|
48
scripts/config.guess
vendored
48
scripts/config.guess
vendored
@ -1,14 +1,14 @@
|
||||
#! /bin/sh
|
||||
# Attempt to guess a canonical system name.
|
||||
# Copyright 1992-2021 Free Software Foundation, Inc.
|
||||
# Copyright 1992-2022 Free Software Foundation, Inc.
|
||||
|
||||
# shellcheck disable=SC2006,SC2268 # see below for rationale
|
||||
|
||||
timestamp='2021-06-03'
|
||||
timestamp='2022-05-25'
|
||||
|
||||
# This file is free software; you can redistribute it and/or modify it
|
||||
# under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation; either version 3 of the License, or
|
||||
# the Free Software Foundation, either version 3 of the License, or
|
||||
# (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful, but
|
||||
@ -60,7 +60,7 @@ version="\
|
||||
GNU config.guess ($timestamp)
|
||||
|
||||
Originally written by Per Bothner.
|
||||
Copyright 1992-2021 Free Software Foundation, Inc.
|
||||
Copyright 1992-2022 Free Software Foundation, Inc.
|
||||
|
||||
This is free software; see the source for copying conditions. There is NO
|
||||
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
|
||||
@ -437,7 +437,7 @@ case $UNAME_MACHINE:$UNAME_SYSTEM:$UNAME_RELEASE:$UNAME_VERSION in
|
||||
# This test works for both compilers.
|
||||
if test "$CC_FOR_BUILD" != no_compiler_found; then
|
||||
if (echo '#ifdef __amd64'; echo IS_64BIT_ARCH; echo '#endif') | \
|
||||
(CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \
|
||||
(CCOPTS="" $CC_FOR_BUILD -m64 -E - 2>/dev/null) | \
|
||||
grep IS_64BIT_ARCH >/dev/null
|
||||
then
|
||||
SUN_ARCH=x86_64
|
||||
@ -929,6 +929,9 @@ EOF
|
||||
i*:PW*:*)
|
||||
GUESS=$UNAME_MACHINE-pc-pw32
|
||||
;;
|
||||
*:SerenityOS:*:*)
|
||||
GUESS=$UNAME_MACHINE-pc-serenity
|
||||
;;
|
||||
*:Interix*:*)
|
||||
case $UNAME_MACHINE in
|
||||
x86)
|
||||
@ -1148,16 +1151,27 @@ EOF
|
||||
;;
|
||||
x86_64:Linux:*:*)
|
||||
set_cc_for_build
|
||||
CPU=$UNAME_MACHINE
|
||||
LIBCABI=$LIBC
|
||||
if test "$CC_FOR_BUILD" != no_compiler_found; then
|
||||
if (echo '#ifdef __ILP32__'; echo IS_X32; echo '#endif') | \
|
||||
(CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \
|
||||
grep IS_X32 >/dev/null
|
||||
then
|
||||
LIBCABI=${LIBC}x32
|
||||
fi
|
||||
ABI=64
|
||||
sed 's/^ //' << EOF > "$dummy.c"
|
||||
#ifdef __i386__
|
||||
ABI=x86
|
||||
#else
|
||||
#ifdef __ILP32__
|
||||
ABI=x32
|
||||
#endif
|
||||
#endif
|
||||
EOF
|
||||
cc_set_abi=`$CC_FOR_BUILD -E "$dummy.c" 2>/dev/null | grep '^ABI' | sed 's, ,,g'`
|
||||
eval "$cc_set_abi"
|
||||
case $ABI in
|
||||
x86) CPU=i686 ;;
|
||||
x32) LIBCABI=${LIBC}x32 ;;
|
||||
esac
|
||||
fi
|
||||
GUESS=$UNAME_MACHINE-pc-linux-$LIBCABI
|
||||
GUESS=$CPU-pc-linux-$LIBCABI
|
||||
;;
|
||||
xtensa*:Linux:*:*)
|
||||
GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
|
||||
@ -1364,8 +1378,11 @@ EOF
|
||||
BePC:Haiku:*:*) # Haiku running on Intel PC compatible.
|
||||
GUESS=i586-pc-haiku
|
||||
;;
|
||||
x86_64:Haiku:*:*)
|
||||
GUESS=x86_64-unknown-haiku
|
||||
ppc:Haiku:*:*) # Haiku running on Apple PowerPC
|
||||
GUESS=powerpc-apple-haiku
|
||||
;;
|
||||
*:Haiku:*:*) # Haiku modern gcc (not bound by BeOS compat)
|
||||
GUESS=$UNAME_MACHINE-unknown-haiku
|
||||
;;
|
||||
SX-4:SUPER-UX:*:*)
|
||||
GUESS=sx4-nec-superux$UNAME_RELEASE
|
||||
@ -1522,6 +1539,9 @@ EOF
|
||||
i*86:rdos:*:*)
|
||||
GUESS=$UNAME_MACHINE-pc-rdos
|
||||
;;
|
||||
i*86:Fiwix:*:*)
|
||||
GUESS=$UNAME_MACHINE-pc-fiwix
|
||||
;;
|
||||
*:AROS:*:*)
|
||||
GUESS=$UNAME_MACHINE-unknown-aros
|
||||
;;
|
||||
|
20
scripts/config.sub
vendored
20
scripts/config.sub
vendored
@ -1,14 +1,14 @@
|
||||
#! /bin/sh
|
||||
# Configuration validation subroutine script.
|
||||
# Copyright 1992-2021 Free Software Foundation, Inc.
|
||||
# Copyright 1992-2022 Free Software Foundation, Inc.
|
||||
|
||||
# shellcheck disable=SC2006,SC2268 # see below for rationale
|
||||
|
||||
timestamp='2021-08-14'
|
||||
timestamp='2022-01-03'
|
||||
|
||||
# This file is free software; you can redistribute it and/or modify it
|
||||
# under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation; either version 3 of the License, or
|
||||
# the Free Software Foundation, either version 3 of the License, or
|
||||
# (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful, but
|
||||
@ -76,7 +76,7 @@ Report bugs and patches to <config-patches@gnu.org>."
|
||||
version="\
|
||||
GNU config.sub ($timestamp)
|
||||
|
||||
Copyright 1992-2021 Free Software Foundation, Inc.
|
||||
Copyright 1992-2022 Free Software Foundation, Inc.
|
||||
|
||||
This is free software; see the source for copying conditions. There is NO
|
||||
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
|
||||
@ -1020,6 +1020,11 @@ case $cpu-$vendor in
|
||||
;;
|
||||
|
||||
# Here we normalize CPU types with a missing or matching vendor
|
||||
armh-unknown | armh-alt)
|
||||
cpu=armv7l
|
||||
vendor=alt
|
||||
basic_os=${basic_os:-linux-gnueabihf}
|
||||
;;
|
||||
dpx20-unknown | dpx20-bull)
|
||||
cpu=rs6000
|
||||
vendor=bull
|
||||
@ -1121,7 +1126,7 @@ case $cpu-$vendor in
|
||||
xscale-* | xscalee[bl]-*)
|
||||
cpu=`echo "$cpu" | sed 's/^xscale/arm/'`
|
||||
;;
|
||||
arm64-*)
|
||||
arm64-* | aarch64le-*)
|
||||
cpu=aarch64
|
||||
;;
|
||||
|
||||
@ -1304,7 +1309,7 @@ esac
|
||||
if test x$basic_os != x
|
||||
then
|
||||
|
||||
# First recognize some ad-hoc caes, or perhaps split kernel-os, or else just
|
||||
# First recognize some ad-hoc cases, or perhaps split kernel-os, or else just
|
||||
# set os.
|
||||
case $basic_os in
|
||||
gnu/linux*)
|
||||
@ -1748,7 +1753,8 @@ case $os in
|
||||
| skyos* | haiku* | rdos* | toppers* | drops* | es* \
|
||||
| onefs* | tirtos* | phoenix* | fuchsia* | redox* | bme* \
|
||||
| midnightbsd* | amdhsa* | unleashed* | emscripten* | wasi* \
|
||||
| nsk* | powerunix* | genode* | zvmoe* | qnx* | emx* | zephyr*)
|
||||
| nsk* | powerunix* | genode* | zvmoe* | qnx* | emx* | zephyr* \
|
||||
| fiwix* )
|
||||
;;
|
||||
# This one is extra strict with allowed versions
|
||||
sco3.2v2 | sco3.2v[4-9]* | sco5v6*)
|
||||
|
Loading…
x
Reference in New Issue
Block a user