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+
1112What'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
35523663What'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