Skip to content

Commit d1b48c6

Browse files
committed
Merge sudo 1.9.17p2 from branch 'main' into sudo-1.9
2 parents a377770 + aa2498e commit d1b48c6

File tree

17 files changed

+113
-45
lines changed

17 files changed

+113
-45
lines changed

MANIFEST

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -859,6 +859,8 @@ plugins/sudoers/regress/cvtsudoers/test4.out.ok
859859
plugins/sudoers/regress/cvtsudoers/test4.sh
860860
plugins/sudoers/regress/cvtsudoers/test40.out.ok
861861
plugins/sudoers/regress/cvtsudoers/test40.sh
862+
plugins/sudoers/regress/cvtsudoers/test41.out.ok
863+
plugins/sudoers/regress/cvtsudoers/test41.sh
862864
plugins/sudoers/regress/cvtsudoers/test5.out.ok
863865
plugins/sudoers/regress/cvtsudoers/test5.sh
864866
plugins/sudoers/regress/cvtsudoers/test6.out.ok
@@ -1030,6 +1032,12 @@ plugins/sudoers/regress/sudoers/test30.ldif2sudo.ok
10301032
plugins/sudoers/regress/sudoers/test30.out.ok
10311033
plugins/sudoers/regress/sudoers/test30.sudo.ok
10321034
plugins/sudoers/regress/sudoers/test30.toke.ok
1035+
plugins/sudoers/regress/sudoers/test31.in
1036+
plugins/sudoers/regress/sudoers/test31.json.ok
1037+
plugins/sudoers/regress/sudoers/test31.ldif.ok
1038+
plugins/sudoers/regress/sudoers/test31.ldif2sudo.ok
1039+
plugins/sudoers/regress/sudoers/test31.out.ok
1040+
plugins/sudoers/regress/sudoers/test31.toke.ok
10331041
plugins/sudoers/regress/sudoers/test4.in
10341042
plugins/sudoers/regress/sudoers/test4.json.ok
10351043
plugins/sudoers/regress/sudoers/test4.ldif.ok

Makefile.in

Lines changed: 4 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -248,14 +248,7 @@ depend: siglist.c signame.c tsgetusershell.c
248248
# The CODEOWNERS file is not present in the release tarball.
249249
ChangeLog:
250250
if test -f $(srcdir)/docs/CODEOWNERS; then \
251-
if test -d $(srcdir)/.hg && hg -R $(srcdir) identify -ibt >stamp-$@.tmp 2>&1; then \
252-
cmp stamp-$@.tmp stamp-$@ >/dev/null 2>&1 || { \
253-
mv -f stamp-$@.tmp stamp-$@; \
254-
if hg log -R $(srcdir) --template=changelog -r "sort(branch(.) or follow(), -date)" > $@.tmp; then \
255-
mv -f $@.tmp $(srcdir)/$@; \
256-
fi; \
257-
}; \
258-
elif test -d $(srcdir)/.git && git --git-dir $(srcdir)/.git describe --tags >stamp-$@.tmp 2>&1; then \
251+
if test -d $(srcdir)/.git && git --git-dir $(srcdir)/.git describe --tags >stamp-$@.tmp 2>&1; then \
259252
cmp stamp-$@.tmp stamp-$@ >/dev/null 2>&1 || { \
260253
mv -f stamp-$@.tmp stamp-$@; \
261254
if $(scriptdir)/log2cl.pl -R $(srcdir)/.git > $@.tmp; then \
@@ -385,10 +378,10 @@ mkdefaults:
385378
cd plugins/sudoers && exec $(MAKE) DEVEL=1 ./def_data.c ./def_data.h
386379

387380
check-dist: update-pot compile-po mkdefaults
388-
@if test -d $(srcdir)/.hg && cd $(srcdir); then \
389-
if test `hg stat -am | wc -l` -ne 0; then \
381+
@if test -d $(srcdir)/.git && cd $(srcdir); then \
382+
if git status -s | grep -q '^ *M'; then \
390383
echo "Uncommitted changes" 1>&2; \
391-
hg stat -am 1>&2; \
384+
git status -s | grep '^ *M'; \
392385
exit 1; \
393386
fi; \
394387
fi

NEWS

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,22 @@
1+
What's new in Sudo 1.9.17p2
2+
3+
* Fixed a bug introduced in sudo 1.9.16 that could result in sudo
4+
sending SIGHUP to all processes on the system in certain rare
5+
cases. The bug could manifest if sudo is running a command in
6+
a pseudo-terminal, sudo terminates the command due to an internal
7+
error, and the user's terminal is revoked. GitHub issue #458.
8+
9+
* Fixed a bug introduced in sudo 1.9.12 that caused sudo to abort
10+
when the "intercept" and "intercept_verify" options are enabled
11+
in sudoers and either the command line arguments or the environment
12+
contains a string larger than the page size (usually 4096). This
13+
only Linux affects systems that support the ptrace_readv_string()
14+
function. GitHub issue #453.
15+
16+
* Fixed a bug in sudo's configure script introduced in sudo 1.9.17
17+
that prevented mdoc-format man pages from being used on systems
18+
without the mandoc utility. Bug #1077.
19+
120
What's new in Sudo 1.9.17p1
221

322
* Fixed CVE-2025-32462. Sudo's -h (--host) option could be specified

configure

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
#! /bin/sh
22
# Guess values for system-dependent variables and create Makefiles.
3-
# Generated by GNU Autoconf 2.72 for sudo 1.9.17p1.
3+
# Generated by GNU Autoconf 2.72 for sudo 1.9.17p2.
44
#
55
# Report bugs to <https://bugzilla.sudo.ws/>.
66
#
@@ -614,8 +614,8 @@ MAKEFLAGS=
614614
# Identity of this package.
615615
PACKAGE_NAME='sudo'
616616
PACKAGE_TARNAME='sudo'
617-
PACKAGE_VERSION='1.9.17p1'
618-
PACKAGE_STRING='sudo 1.9.17p1'
617+
PACKAGE_VERSION='1.9.17p2'
618+
PACKAGE_STRING='sudo 1.9.17p2'
619619
PACKAGE_BUGREPORT='https://bugzilla.sudo.ws/'
620620
PACKAGE_URL=''
621621

@@ -1651,7 +1651,7 @@ if test "$ac_init_help" = "long"; then
16511651
# Omit some internal or obsolete options to make the list less imposing.
16521652
# This message is too long to be a string in the A/UX 3.1 sh.
16531653
cat <<_ACEOF
1654-
'configure' configures sudo 1.9.17p1 to adapt to many kinds of systems.
1654+
'configure' configures sudo 1.9.17p2 to adapt to many kinds of systems.
16551655

16561656
Usage: $0 [OPTION]... [VAR=VALUE]...
16571657

@@ -1717,7 +1717,7 @@ fi
17171717

17181718
if test -n "$ac_init_help"; then
17191719
case $ac_init_help in
1720-
short | recursive ) echo "Configuration of sudo 1.9.17p1:";;
1720+
short | recursive ) echo "Configuration of sudo 1.9.17p2:";;
17211721
esac
17221722
cat <<\_ACEOF
17231723

@@ -2013,7 +2013,7 @@ fi
20132013
test -n "$ac_init_help" && exit $ac_status
20142014
if $ac_init_version; then
20152015
cat <<\_ACEOF
2016-
sudo configure 1.9.17p1
2016+
sudo configure 1.9.17p2
20172017
generated by GNU Autoconf 2.72
20182018

20192019
Copyright (C) 2023 Free Software Foundation, Inc.
@@ -2833,7 +2833,7 @@ cat >config.log <<_ACEOF
28332833
This file contains any messages produced by compilers while
28342834
running configure, to aid debugging if configure makes a mistake.
28352835

2836-
It was created by sudo $as_me 1.9.17p1, which was
2836+
It was created by sudo $as_me 1.9.17p2, which was
28372837
generated by GNU Autoconf 2.72. Invocation command line was
28382838

28392839
$ $0$ac_configure_args_raw
@@ -17786,7 +17786,7 @@ else case e in #(
1778617786
echo ".Nd sudo" >> conftest
1778717787
echo ".Sh DESCRIPTION" >> conftest
1778817788
echo "sudo" >> conftest
17789-
if $ac_cv_path_NROFF -mdoc conftest >/dev/null 2>&1; then
17789+
if $ac_cv_path_NROFFPROG -mdoc conftest >/dev/null 2>&1; then
1779017790
sudo_cv_var_mantype="mdoc"
1779117791
fi
1779217792
rm -f conftest
@@ -37071,7 +37071,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
3707137071
# report actual input values of CONFIG_FILES etc. instead of their
3707237072
# values after options handling.
3707337073
ac_log="
37074-
This file was extended by sudo $as_me 1.9.17p1, which was
37074+
This file was extended by sudo $as_me 1.9.17p2, which was
3707537075
generated by GNU Autoconf 2.72. Invocation command line was
3707637076

3707737077
CONFIG_FILES = $CONFIG_FILES
@@ -37139,7 +37139,7 @@ ac_cs_config_escaped=`printf "%s\n" "$ac_cs_config" | sed "s/^ //; s/'/'\\\\\\\\
3713937139
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
3714037140
ac_cs_config='$ac_cs_config_escaped'
3714137141
ac_cs_version="\\
37142-
sudo config.status 1.9.17p1
37142+
sudo config.status 1.9.17p2
3714337143
configured by $0, generated by GNU Autoconf 2.72,
3714437144
with options \\"\$ac_cs_config\\"
3714537145

configure.ac

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ dnl ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
1818
dnl OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
1919
dnl
2020
AC_PREREQ([2.69])
21-
AC_INIT([sudo], [1.9.17p1], [https://bugzilla.sudo.ws/], [sudo])
21+
AC_INIT([sudo], [1.9.17p2], [https://bugzilla.sudo.ws/], [sudo])
2222
AC_CONFIG_HEADERS([config.h pathnames.h])
2323
AC_CONFIG_SRCDIR([src/sudo.c])
2424
AC_CONFIG_AUX_DIR([scripts])
@@ -1753,7 +1753,7 @@ AC_CACHE_CHECK([which macro set to use for manual pages],
17531753
echo ".Nd sudo" >> conftest
17541754
echo ".Sh DESCRIPTION" >> conftest
17551755
echo "sudo" >> conftest
1756-
if $ac_cv_path_NROFF -mdoc conftest >/dev/null 2>&1; then
1756+
if $ac_cv_path_NROFFPROG -mdoc conftest >/dev/null 2>&1; then
17571757
sudo_cv_var_mantype="mdoc"
17581758
fi
17591759
rm -f conftest

etc/sudo-logsrvd.pp

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -128,15 +128,20 @@
128128
%endif
129129

130130
%if [rpm]
131+
# Used to set rpm_arch to x86_64_v2 on Alma Linux
132+
if test -n "$pp_rpm_arch_override"; then
133+
pp_rpm_arch="$pp_rpm_arch_override"
134+
fi
135+
131136
# Add distro info to release
132-
osrelease=`echo "$pp_rpm_distro" | sed -e 's/^[^0-9]*\([0-9]\{1,2\}\).*/\1/'`
137+
osrelease=`echo "$pp_rpm_distro" | sed -e 's/^[^0-9]*\([0-9]\{1,3\}\).*/\1/'`
133138
case "$pp_rpm_distro" in
134139
centos*|rhel*|f[0-9]*)
135140
# CentOS Stream has a single-digit version
136141
if test $osrelease -lt 10; then
137142
osrelease="${osrelease}0"
138143
fi
139-
pp_rpm_release="$pp_rpm_release.el${osrelease%%[0-9]}"
144+
pp_rpm_release="$pp_rpm_release.el${osrelease%[0-9]}"
140145
;;
141146
sles*)
142147
pp_rpm_release="$pp_rpm_release.sles$osrelease"

etc/sudo-python.pp

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -84,15 +84,20 @@
8484
%endif
8585

8686
%if [rpm]
87+
# Used to set rpm_arch to x86_64_v2 on Alma Linux
88+
if test -n "$pp_rpm_arch_override"; then
89+
pp_rpm_arch="$pp_rpm_arch_override"
90+
fi
91+
8792
# Add distro info to release
88-
osrelease=`echo "$pp_rpm_distro" | sed -e 's/^[^0-9]*\([0-9]\{1,2\}\).*/\1/'`
93+
osrelease=`echo "$pp_rpm_distro" | sed -e 's/^[^0-9]*\([0-9]\{1,3\}\).*/\1/'`
8994
case "$pp_rpm_distro" in
9095
centos*|rhel*|f[0-9]*)
9196
# CentOS Stream has a single-digit version
9297
if test $osrelease -lt 10; then
9398
osrelease="${osrelease}0"
9499
fi
95-
pp_rpm_release="$pp_rpm_release.el${osrelease%%[0-9]}"
100+
pp_rpm_release="$pp_rpm_release.el${osrelease%[0-9]}"
96101
;;
97102
sles*)
98103
pp_rpm_release="$pp_rpm_release.sles$osrelease"

etc/sudo.pp

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -149,15 +149,20 @@
149149
%endif
150150

151151
%if [rpm]
152+
# Used to set rpm_arch to x86_64_v2 on Alma Linux
153+
if test -n "$pp_rpm_arch_override"; then
154+
pp_rpm_arch="$pp_rpm_arch_override"
155+
fi
156+
152157
# Add distro info to release
153-
osrelease=`echo "$pp_rpm_distro" | sed -e 's/^[^0-9]*\([0-9]\{1,2\}\).*/\1/'`
158+
osrelease=`echo "$pp_rpm_distro" | sed -e 's/^[^0-9]*\([0-9]\{1,3\}\).*/\1/'`
154159
case "$pp_rpm_distro" in
155160
centos*|rhel*|f[0-9]*)
156161
# CentOS Stream has a single-digit version
157162
if test $osrelease -lt 10; then
158163
osrelease="${osrelease}0"
159164
fi
160-
pp_rpm_release="$pp_rpm_release.el${osrelease%%[0-9]}"
165+
pp_rpm_release="$pp_rpm_release.el${osrelease%[0-9]}"
161166
;;
162167
sles*)
163168
pp_rpm_release="$pp_rpm_release.sles$osrelease"

plugins/sudoers/log_client.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1933,7 +1933,7 @@ client_msg_cb(int fd, int what, void *v)
19331933
{
19341934
const ssize_t n = write(fd, buf->data + buf->off, buf->len - buf->off);
19351935
if (n < 0) {
1936-
sudo_warn("send");
1936+
sudo_warn("write");
19371937
goto bad;
19381938
}
19391939
nwritten = (size_t)n;

plugins/sudoers/match_command.c

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -272,7 +272,8 @@ command_matches_dir(struct sudoers_context *ctx, const char *sudoers_dir,
272272
len = snprintf(sdbuf, sizeof(sdbuf), "%s%s", runchroot, sudoers_dir);
273273
if (len >= ssizeof(sdbuf)) {
274274
errno = ENAMETOOLONG;
275-
debug_return_bool(false);
275+
sudo_warn("%s%s", runchroot, sudoers_dir);
276+
goto done;
276277
}
277278
sudoers_dir = sdbuf;
278279
chrootlen = strlen(runchroot);
@@ -536,7 +537,8 @@ command_matches_glob(struct sudoers_context *ctx, const char *sudoers_cmnd,
536537
snprintf(pathbuf, sizeof(pathbuf), "%s%s", runchroot, sudoers_cmnd);
537538
if (len >= ssizeof(pathbuf)) {
538539
errno = ENAMETOOLONG;
539-
debug_return_bool(false);
540+
sudo_warn("%s%s", runchroot, sudoers_cmnd);
541+
debug_return_int(DENY);
540542
}
541543
sudoers_cmnd = pathbuf;
542544
chrootlen = strlen(runchroot);

0 commit comments

Comments
 (0)