Skip to content

Commit 069367f

Browse files
lhdjplydeepin-ci-robot
authored andcommitted
feat: update sudo to 1.9.16p2-1
Signed-off-by: lhdjply <lhdjply@126.com>
1 parent 0ad9292 commit 069367f

292 files changed

Lines changed: 24268 additions & 16112 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

ChangeLog

Lines changed: 1542 additions & 1 deletion
Large diffs are not rendered by default.

INSTALL.md

Lines changed: 68 additions & 54 deletions
Large diffs are not rendered by default.

LICENSE.md

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
Sudo is distributed under the following license:
22

3-
Copyright (c) 1994-1996, 1998-2023
3+
Copyright (c) 1994-1996, 1998-2024
44
Todd C. Miller <Todd.Miller@sudo.ws>
55

66
Permission to use, copy, modify, and distribute this software for any
@@ -247,9 +247,9 @@ The file inet_pton.c bears the following license:
247247

248248
The file arc4random.c bears the following license:
249249

250-
Copyright (c) 1996, David Mazieres <dm@uun.org>
251-
Copyright (c) 2008, Damien Miller <djm@openbsd.org>
252-
Copyright (c) 2013, Markus Friedl <markus@openbsd.org>
250+
Copyright (c) 1996, David Mazieres <dm@uun.org>
251+
Copyright (c) 2008, Damien Miller <djm@openbsd.org>
252+
Copyright (c) 2013, Markus Friedl <markus@openbsd.org>
253253
Copyright (c) 2014, Theo de Raadt <deraadt@openbsd.org>
254254

255255
Permission to use, copy, modify, and distribute this software for any
@@ -282,7 +282,7 @@ The file arc4random_uniform.c bears the following license:
282282

283283
The file getentropy.c bears the following license:
284284

285-
Copyright (c) 2014 Theo de Raadt <deraadt@openbsd.org>
285+
Copyright (c) 2014 Theo de Raadt <deraadt@openbsd.org>
286286
Copyright (c) 2014 Bob Beck <beck@obtuse.com>
287287

288288
Permission to use, copy, modify, and distribute this software for any
@@ -299,7 +299,7 @@ The file getentropy.c bears the following license:
299299

300300
The embedded copy of zlib bears the following license:
301301

302-
Copyright (C) 1995-2022 Jean-loup Gailly and Mark Adler
302+
Copyright (C) 1995-2024 Jean-loup Gailly and Mark Adler
303303

304304
This software is provided 'as-is', without any express or implied
305305
warranty. In no event will the authors be held liable for any damages

MANIFEST

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@ docs/cvtsudoers.mdoc.in
3232
docs/fixman.sh
3333
docs/fixmdoc.sed
3434
docs/schema.ActiveDirectory
35+
docs/schema.IBM_LDAP
3536
docs/schema.OpenLDAP
3637
docs/schema.iPlanet
3738
docs/schema.olcSudo
@@ -716,6 +717,8 @@ plugins/sudoers/po/hr.mo
716717
plugins/sudoers/po/hr.po
717718
plugins/sudoers/po/hu.mo
718719
plugins/sudoers/po/hu.po
720+
plugins/sudoers/po/id.mo
721+
plugins/sudoers/po/id.po
719722
plugins/sudoers/po/it.mo
720723
plugins/sudoers/po/it.po
721724
plugins/sudoers/po/ja.mo

Makefile.in

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -221,20 +221,24 @@ depend: siglist.c signame.c tsgetusershell.c
221221
lib/util/Makefile.in lib/zlib/Makefile.in \
222222
lib/fuzzstub/Makefile.in lib/eventlog/Makefile.in \
223223
lib/iolog/Makefile.in lib/logsrv/Makefile.in logsrvd/Makefile.in \
224-
lib/protobuf-c/Makefile.in plugins/group_file/Makefile.in \
225-
plugins/sample/Makefile.in plugins/sudoers/Makefile.in \
226-
plugins/system_group/Makefile.in plugins/python/Makefile.in \
227-
src/Makefile.in && \
224+
lib/protobuf-c/Makefile.in lib/ssl_compat/Makefile.in \
225+
plugins/group_file/Makefile.in plugins/audit_json/Makefile.in \
226+
plugins/sample/Makefile.in plugins/sample_approval/Makefile.in \
227+
plugins/sudoers/Makefile.in plugins/system_group/Makefile.in \
228+
plugins/python/Makefile.in src/Makefile.in && \
228229
$(top_builddir)/config.status --file $(top_builddir)/lib/util/Makefile \
229230
--file $(top_builddir)/lib/zlib/Makefile \
230-
--file $(top_builddir)/lib/eventlog/Makefile \
231231
--file $(top_builddir)/lib/fuzzstub/Makefile \
232+
--file $(top_builddir)/lib/eventlog/Makefile \
232233
--file $(top_builddir)/lib/iolog/Makefile \
233234
--file $(top_builddir)/lib/logsrv/Makefile \
234235
--file $(top_builddir)/lib/protobuf-c/Makefile \
236+
--file $(top_builddir)/lib/ssl_compat/Makefile \
235237
--file $(top_builddir)/logsrvd/Makefile \
236-
--file $(top_builddir)/plugins/sample/Makefile \
237238
--file $(top_builddir)/plugins/group_file/Makefile \
239+
--file $(top_builddir)/plugins/audit_json/Makefile \
240+
--file $(top_builddir)/plugins/sample/Makefile \
241+
--file $(top_builddir)/plugins/sample_approval/Makefile \
238242
--file $(top_builddir)/plugins/sudoers/Makefile \
239243
--file $(top_builddir)/plugins/system_group/Makefile \
240244
--file $(top_builddir)/plugins/python/Makefile \

NEWS

Lines changed: 131 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,114 @@
1+
What's new in Sudo 1.9.16p2
2+
3+
* Sudo now passes the terminal device number to the policy plugin
4+
even if it cannot resolve it to a path name. This allows sudo
5+
to run without warnings in a chroot jail when the terminal device
6+
files are not present. GitHub issue #421.
7+
8+
* On Linux systems, sudo will now attempt to use the symbolic links
9+
in /proc/self/fd/{0,1,2} when resolving the terminal device
10+
number. This can allow sudo to map a terminal device to its
11+
path name even when /dev/pts is not mounted in a chroot jail.
12+
13+
* Fixed compilation errors with gcc and clang in C23 mode.
14+
C23 no longer supports functions with unspecified arguments.
15+
16+
What's new in Sudo 1.9.16p1
17+
18+
* Fixed the test for cross-compiling when checking for C99 snprintf().
19+
The changes made to the test in sudo 1.9.16 resulted in a different
20+
problem. GitHub issue #386.
21+
22+
* Fixed the date used by the exit record in sudo-format log files.
23+
This was a regression introduced in sudo 1.9.16 and only affected
24+
file-based logs, not syslog. GitHub issue #405.
25+
26+
* Fixed the root cause of the "unable to find terminal name for
27+
device" message when running sudo on AIX when no terminal is
28+
present. In sudo 1.9.16 this was turned from a debug message
29+
into a warning. GitHub issue #408
30+
31+
* When a duplicate alias is found in the sudoers file, the warning
32+
message now includes the file and line number of the previous
33+
definition.
34+
35+
* Added support for the --with-secure-path-value=no configure
36+
option to allow packagers to ship the default sudoers file with
37+
the secure path line commented out.
38+
39+
* Sudo no longer sends mail when a user runs "sudo -nv" or "sudo -nl",
40+
even if "mail_badpass" or "mail_always" are set. Sudo already
41+
avoids logging to a file or syslog in this case. Bug #1072.
42+
43+
What's new in Sudo 1.9.16
44+
45+
* Added the "cmddenial_message" sudoers option to provide additional
46+
information to the user when a command is denied by the sudoers
47+
policy. The default message is still displayed.
48+
49+
* The time stamp used for file-based logs is now more consistent
50+
with the time stamp produced by syslog. GitHub issues #327.
51+
52+
* Sudo will now warn the user if it can detect the user's terminal
53+
but cannot determine the path to the terminal device. The sudoers
54+
time stamp file will now use the terminal device number directly.
55+
GitHub issue #329.
56+
57+
* The embedded copy of zlib has been updated to version 1.3.1.
58+
59+
* Improved error handling if generating the list of signals and signal
60+
names fails at build time.
61+
62+
* Fixed a compilation issue on Linux systems without process_vm_readv().
63+
64+
* Fixed cross-compilation with WolfSSL.
65+
66+
* Added a "json_compact" value for the sudoers "log_format" option
67+
which can be used when logging to a file. The existing "json"
68+
value has been aliased to "json_pretty". In a future release,
69+
"json" will be an alias for "json_compact". GitHub issue #357.
70+
71+
* A new "pam_silent" sudoers option has been added which may be
72+
negated to avoid suppressing output from PAM authentication modules.
73+
GitHub issue #216.
74+
75+
* Fixed several cvtsudoers JSON output problems.
76+
GitHub issues #369, #370, #371, #373, #381.
77+
78+
* When sudo runs a command in a pseudo-terminal and the user's
79+
terminal is revoked, the pseudo-terminal's foreground process
80+
group will now receive SIGHUP before the terminal is revoked.
81+
This emulates the behavior of the session leader exiting and is
82+
consistent with what happens when, for example, an ssh session
83+
is closed. GitHub issue #367.
84+
85+
* Fixed "make test" with Python 3.12. GitHub issue #374.
86+
87+
* In schema.ActiveDirectory, fixed the quoting in the example command.
88+
GitHub issue #376.
89+
90+
* Paths specified via a Chdir_Spec or Chroot_Spec in sudoers may
91+
now be double-quoted.
92+
93+
* Sudo insults are now included by default, but disabled unless
94+
the --with-insults configure option is specified or the "insults"
95+
sudoers option is enabled.
96+
97+
* The default sudoers file now enables the "secure_path" option by
98+
default and preserves the EDITOR, VISUAL, and SUDO_EDITOR environment
99+
variables when running visudo. The new --with-secure-path-value
100+
configure option can be used to set the value of "secure_path" in
101+
the default sudoers file. GitHub issue #387.
102+
103+
* A sudoers schema for IBM Directory Server (aka IBM Tivoli Directory
104+
Server, IBM Security Directory Server, and IBM Security Verify
105+
Directory) is now included.
106+
107+
* When cross-compiling sudo, the configure script now assumes that
108+
the snprintf() function is C99-compliant if the C compiler
109+
supports the C99 standard. Previously, configure would use
110+
sudo's own snprintf() when cross-compiling. GitHub issue #386.
111+
1112
What's new in Sudo 1.9.15p5
2113

3114
* Fixed evaluation of the "lecture", "listpw", "verifypw", and
@@ -194,7 +305,7 @@ What's new in Sudo 1.9.14
194305
The sudoers plugin will now change the root directory id needed
195306
before performing command matching. Previously, the root directory
196307
was simply prepended to the path that was being processed.
197-
308+
198309
* When NETGROUP_BASE is set in the ldap.conf file, sudo will now
199310
perform its own netgroup lookups of the host name instead of
200311
using the system innetgr(3) function. This guarantees that user
@@ -204,7 +315,7 @@ What's new in Sudo 1.9.14
204315
* Fixed a bug introduced in sudo 1.9.13 that resulted in a missing
205316
" ; " separator between environment variables and the command
206317
in log entries.
207-
318+
208319
* The visudo utility now displays a warning when it ignores a file
209320
in an include dir such as /etc/sudoers.d.
210321

@@ -373,7 +484,7 @@ What's new in Sudo 1.9.13
373484
* Sudo no longer checks the ownership and mode of the plugins that
374485
it loads. Plugins are configured via either the sudo.conf or
375486
sudoers file which are trusted configuration files. These checks
376-
suffered from time-of-check vs. time-of-use race conditions and
487+
suffered from time-of-check versus time-of-use race conditions and
377488
complicate loading plugins that are not simple paths. Ownership
378489
and mode checks are still performed when loading the sudo.conf
379490
and sudoers files, which do not suffer from race conditions.
@@ -462,7 +573,7 @@ What's new in Sudo 1.9.12
462573
security policy. The new "intercept_verify" sudoers setting can
463574
be used to control this behavior.
464575

465-
* Fixed running commands with a relative path (e.g. ./foo) in
576+
* Fixed running commands with a relative path (e.g., ./foo) in
466577
intercept mode. Previously, this would fail if sudo's current
467578
working directory was different from that of the command.
468579

@@ -527,7 +638,7 @@ What's new in Sudo 1.9.12
527638
from the EDITOR environment variable. GitHub issue #179.
528639

529640
* The sudo Python plugin now implements the "find_spec" method instead
530-
of the the deprecated "find_module". This fixes a test failure when
641+
of the deprecated "find_module". This fixes a test failure when
531642
a newer version of setuptools that doesn't include "find_module" is
532643
found on the system.
533644

@@ -762,7 +873,7 @@ What's new in Sudo 1.9.9
762873

763874
* visudo now only warns about an undefined alias or a cycle in an
764875
alias once for each alias.
765-
876+
766877
* The sudoRole cn was truncated by a single character in warning messages.
767878
GitHub issue #115.
768879

@@ -928,7 +1039,7 @@ What's new in Sudo 1.9.8
9281039
* The new "log_exit_status" sudoers setting can be used to log
9291040
the exit status commands run via sudo. This is also a corresponding
9301041
"log_exit" setting in the sudo_logsrvd.conf eventlog stanza.
931-
1042+
9321043
* Support for logging sudo_logsrvd errors via syslog or to a file.
9331044
Previously, most sudo_logsrvd errors were only visible in the
9341045
debug log.
@@ -973,7 +1084,7 @@ What's new in Sudo 1.9.7p2
9731084
to load a plugin with a name that conflicts with a Python module
9741085
installed in the system location.
9751086

976-
* Sudo no longer sets the the open files resource limit to "unlimited"
1087+
* Sudo no longer sets the open files resource limit to "unlimited"
9771088
while it runs. This avoids a problem where sudo's closefrom()
9781089
emulation would need to close a very large number of descriptors
9791090
on systems without a way to determine which ones are actually open.
@@ -1020,7 +1131,7 @@ What's new in Sudo 1.9.7
10201131
* The "fuzz" Makefile target now runs all the fuzzers for 8192
10211132
passes (can be overridden via the FUZZ_RUNS variable). This makes
10221133
it easier to run the fuzzers in-tree. To run a fuzzer indefinitely,
1023-
set FUZZ_RUNS=-1, e.g. "make FUZZ_RUNS=-1 fuzz".
1134+
set FUZZ_RUNS=-1, e.g., "make FUZZ_RUNS=-1 fuzz".
10241135

10251136
* Fixed fuzzing on FreeBSD where the ld.lld linker returns an
10261137
error by default when a symbol is multiply-defined.
@@ -1650,7 +1761,7 @@ What's new in Sudo 1.9.0
16501761

16511762
* Fixed an issue where PAM session modules could be called with
16521763
the wrong user name when multiple users in the passwd database
1653-
share the the same user-ID. Debian bug #734752.
1764+
share the same user-ID. Debian bug #734752.
16541765

16551766
* Sudo command line options that take a value may only be specified
16561767
once. This is to help guard against problems caused by poorly
@@ -1697,7 +1808,7 @@ What's new in Sudo 1.8.30
16971808
* Sudo now treats an attempt to run "sudo sudoedit" as simply
16981809
"sudoedit". If the sudoers file contains a fully-qualified path
16991810
to sudoedit, sudo will now treat it simply as "sudoedit" (with
1700-
no path). Visudo will will now treat a fully-qualified path
1811+
no path). Visudo will now treat a fully-qualified path
17011812
to sudoedit as an error. Bug #871.
17021813

17031814
* Fixed a bug introduced in sudo 1.8.28 where sudo would warn about
@@ -2757,7 +2868,7 @@ What's new in Sudo 1.8.15
27572868
* When the command sudo is running dies due to a signal, sudo will
27582869
now send itself that same signal with the default signal handler
27592870
installed instead of exiting. The bash shell appears to ignore
2760-
some signals, e.g. SIGINT, unless the command being run is killed
2871+
some signals, e.g., SIGINT, unless the command being run is killed
27612872
by that signal. This makes the behavior of commands run under
27622873
sudo the same as without sudo when bash is the shell. Bug #722
27632874

@@ -3551,7 +3662,7 @@ What's new in Sudo 1.8.6p1?
35513662

35523663
What's new in Sudo 1.8.6?
35533664

3554-
* Sudo is now built with the -fstack-protector flag if the the
3665+
* Sudo is now built with the -fstack-protector flag if the
35553666
compiler supports it. Also, the -zrelro linker flag is used if
35563667
supported. The --disable-hardening configure option can be used
35573668
to build sudo without stack smashing protection.
@@ -3689,15 +3800,15 @@ What's new in Sudo 1.8.5?
36893800

36903801
* On systems with an SVR4-style /proc file system, the /proc/pid/psinfo
36913802
file is now uses to determine the controlling terminal, if possible.
3692-
This allows tty-based tickets to work properly even when, e.g.
3803+
This allows tty-based tickets to work properly even when, e.g.,
36933804
standard input, output and error are redirected to /dev/null.
36943805

36953806
* The output of "sudoreplay -l" is now sorted by file name (or
36963807
sequence number). Previously, entries were displayed in the
36973808
order in which they were found on the file system.
36983809

36993810
* Sudo now behaves properly when I/O logging is enabled and the
3700-
controlling terminal is revoked (e.g. the running sshd is killed).
3811+
controlling terminal is revoked (e.g., the running sshd is killed).
37013812
Previously, sudo may have exited without calling the I/O plugin's
37023813
close function which can lead to an incomplete I/O log.
37033814

@@ -3808,19 +3919,19 @@ What's new in Sudo 1.8.4?
38083919
* The deprecated "noexec_file" sudoers option is no longer supported.
38093920

38103921
* Fixed a race condition when I/O logging is not enabled that could
3811-
result in tty-generated signals (e.g. control-C) being received
3922+
result in tty-generated signals (e.g., control-C) being received
38123923
by the command twice.
38133924

38143925
* If none of the standard input, output or error are connected to
38153926
a tty device, sudo will now check its parent's standard input,
38163927
output or error for the tty name on systems with /proc and BSD
38173928
systems that support the KERN_PROC_PID sysctl. This allows
3818-
tty-based tickets to work properly even when, e.g. standard
3929+
tty-based tickets to work properly even when, e.g., standard
38193930
input, output and error are redirected to /dev/null.
38203931

38213932
* Added the --enable-kerb5-instance configure option to allow
38223933
people using Kerberos V authentication to specify a custom
3823-
instance so the principal name can be, e.g. "username/sudo"
3934+
instance so the principal name can be, e.g., "username/sudo"
38243935
similar to how ksu uses "username/root".
38253936

38263937
* Fixed a bug where a pattern like "/usr/*" included /usr/bin/ in
@@ -4007,7 +4118,7 @@ What's new in Sudo 1.8.1?
40074118
fixed.
40084119

40094120
* Sudo will now create an entry in the utmp (or utmpx) file when
4010-
allocating a pseudo-tty (e.g. when logging I/O). The "set_utmp"
4121+
allocating a pseudo-tty (e.g., when logging I/O). The "set_utmp"
40114122
and "utmp_runas" sudoers file options can be used to control this.
40124123
Other policy plugins may use the "set_utmp" and "utmp_user"
40134124
entries in the command_info list.
@@ -4308,7 +4419,7 @@ What's new in Sudo 1.7.3?
43084419
now taken into account when looking up users and groups. Sudo
43094420
now applies the correct the user and group ids when running a
43104421
command as a user whose account details come from a different
4311-
source (e.g. LDAP or DCE vs. local files).
4422+
source (e.g., LDAP or DCE versus local files).
43124423

43134424
* Support for multiple 'sudoers_base' and 'uri' entries in ldap.conf.
43144425
When multiple entries are listed, sudo will try each one in the

0 commit comments

Comments
 (0)