Skip to content

Commit b84e16e

Browse files
committed
Merge sudo 1.8.28 from tip into the 1.8 branch.
--HG-- branch : 1.8
2 parents a09a376 + 208a52c commit b84e16e

465 files changed

Lines changed: 26741 additions & 25798 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.

.hgignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616
Makefile$
1717
^config\.(h|log|status)$
1818
^libtool$
19+
^build$
1920

2021
^ChangeLog$
2122
^PVS-Studio.cfg$

INSTALL

Lines changed: 21 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ Simple sudo installation
2828
For most systems and configurations it is possible simply to:
2929

3030
0) If you are upgrading from a previous version of sudo
31-
please read the info in the UPGRADE file before proceeding.
31+
please read the info in the doc/UPGRADE file before proceeding.
3232

3333
1) Read the `OS dependent notes' section for any particular
3434
"gotchas" relating to your operating system.
@@ -561,10 +561,11 @@ Development options:
561561
become corrupted.
562562

563563
--enable-warnings
564-
Enable compiler warnings when building sudo with gcc.
564+
Enable compiler warnings when building sudo with gcc or clang.
565565

566566
--enable-werror
567-
Enable the -Werror compiler option when building sudo with gcc.
567+
Enable the -Werror compiler option when building sudo with
568+
gcc or clang.
568569

569570
--with-devel
570571
Configure development options. This will enable compiler warnings
@@ -670,19 +671,20 @@ Options that set runtime-changeable default values:
670671
--with-editor=PATH
671672
Specify the default editor path for use by visudo. This may be a
672673
single path name or a colon-separated list of editors. In the latter
673-
case, visudo will choose the editor that matches the user's VISUAL
674-
or EDITOR environment variables or the first editor in the list that
675-
exists. The default is the path to vi on your system.
674+
case, visudo will choose the editor that matches the user's SUDO_EDITOR,
675+
VISUAL or EDITOR environment variable, or the first editor in the list
676+
that exists. The default is the path to vi on your system.
676677
Sudoers option: editor
677678

678-
--with-env-editor
679-
Makes visudo consult the VISUAL and EDITOR environment variables before
680-
falling back on the default editor list (as specified by --with-editor).
681-
Note that this may create a security hole as it allows the user to
682-
run any arbitrary command as root without logging. A safer alternative
683-
is to use a colon-separated list of editors with the --with-editor
684-
option. visudo will then only use the VISUAL or EDITOR variables
685-
if they match a value specified via --with-editor.
679+
--with-env-editor=no, --without-env-editor
680+
By default, visudo will consult the SUDO_EDITOR, VISUAL and EDITOR
681+
environment variables before falling back on the default editor list
682+
(as specified by --with-editor). visudo is typically run as root so
683+
this option may allow a user with visudo privileges to run arbitrary
684+
commands as root without logging. Some sites may with to disable this
685+
and use a colon-separated list of "safe" editors with the --with-editor
686+
option. visudo will then only use the SUDO_EDITOR, VISUAL or EDITOR
687+
variables if they match a value specified via --with-editor.
686688
Sudoers option: env_editor
687689

688690
--with-exempt=GROUP
@@ -905,18 +907,13 @@ HP-UX:
905907

906908
sudo session required libpam_hpsec.so.1 bypass_umask
907909

908-
If every command run via sudo displays information about the last
909-
successful login and the last authentication failure you should
910-
make use an /etc/pam.conf line like:
911-
912-
sudo session required libpam_hpsec.so.1 bypass_umask bypass_last_login
913-
914910
Linux:
915911
PAM and LDAP headers are not installed by default on most Linux
916-
systems. You will need to install the "pam-dev" package if
917-
/usr/include/security/pam_appl.h is not present on your system.
918-
If you wish to build with LDAP support you will also need the
919-
openldap-devel package.
912+
systems. You will need to install the "pam-dev" (rpm) or
913+
libpam0g-dev (deb) package if /usr/include/security/pam_appl.h
914+
is not present on your system. If you wish to build with LDAP
915+
support you will also need the "openldap-devel" (rpm) or
916+
"libldap2-dev" (deb) package.
920917

921918
Mac OS X:
922919
The pseudo-tty support in the Mac OS X kernel has bugs related

MANIFEST

Lines changed: 13 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,6 @@ doc/LICENSE
2020
doc/Makefile.in
2121
doc/TROUBLESHOOTING
2222
doc/UPGRADE
23-
doc/cvtsudoers.cat
2423
doc/cvtsudoers.man.in
2524
doc/cvtsudoers.mdoc.in
2625
doc/fixman.sh
@@ -29,30 +28,23 @@ doc/schema.ActiveDirectory
2928
doc/schema.OpenLDAP
3029
doc/schema.iPlanet
3130
doc/schema.olcSudo
32-
doc/sudo.cat
33-
doc/sudo.conf.cat
3431
doc/sudo.conf.man.in
32+
doc/sudo.conf.man.in.sed
3533
doc/sudo.conf.mdoc.in
3634
doc/sudo.man.in
3735
doc/sudo.man.in.sed
3836
doc/sudo.mdoc.in
39-
doc/sudo_plugin.cat
4037
doc/sudo_plugin.man.in
4138
doc/sudo_plugin.mdoc.in
42-
doc/sudoers.cat
43-
doc/sudoers.ldap.cat
4439
doc/sudoers.ldap.man.in
4540
doc/sudoers.ldap.mdoc.in
4641
doc/sudoers.man.in
4742
doc/sudoers.man.in.sed
4843
doc/sudoers.mdoc.in
49-
doc/sudoers_timestamp.cat
5044
doc/sudoers_timestamp.man.in
5145
doc/sudoers_timestamp.mdoc.in
52-
doc/sudoreplay.cat
5346
doc/sudoreplay.man.in
5447
doc/sudoreplay.mdoc.in
55-
doc/visudo.cat
5648
doc/visudo.man.in
5749
doc/visudo.mdoc.in
5850
examples/Makefile.in
@@ -105,10 +97,10 @@ lib/util/fatal.c
10597
lib/util/fnmatch.c
10698
lib/util/getaddrinfo.c
10799
lib/util/getcwd.c
100+
lib/util/getdelim.c
108101
lib/util/getentropy.c
109102
lib/util/getgrouplist.c
110103
lib/util/gethostname.c
111-
lib/util/getline.c
112104
lib/util/getopt_long.c
113105
lib/util/gettime.c
114106
lib/util/gidlist.c
@@ -135,13 +127,15 @@ lib/util/reallocarray.c
135127
lib/util/regress/atofoo/atofoo_test.c
136128
lib/util/regress/fnmatch/fnm_test.c
137129
lib/util/regress/fnmatch/fnm_test.in
130+
lib/util/regress/getdelim/getdelim_test.c
138131
lib/util/regress/getgrouplist/getgrouplist_test.c
139132
lib/util/regress/glob/files
140133
lib/util/regress/glob/globtest.c
141134
lib/util/regress/glob/globtest.in
142135
lib/util/regress/mktemp/mktemp_test.c
143136
lib/util/regress/parse_gids/parse_gids_test.c
144137
lib/util/regress/progname/progname_test.c
138+
lib/util/regress/strsig/strsig_test.c
145139
lib/util/regress/strsplit/strsplit_test.c
146140
lib/util/regress/sudo_conf/conf_test.c
147141
lib/util/regress/sudo_conf/test1.in
@@ -181,6 +175,7 @@ lib/util/sha2.c
181175
lib/util/sig2str.c
182176
lib/util/siglist.in
183177
lib/util/snprintf.c
178+
lib/util/str2sig.c
184179
lib/util/strlcat.c
185180
lib/util/strlcpy.c
186181
lib/util/strndup.c
@@ -332,12 +327,16 @@ plugins/sudoers/logging.h
332327
plugins/sudoers/logwrap.c
333328
plugins/sudoers/match.c
334329
plugins/sudoers/match_addr.c
330+
plugins/sudoers/match_command.c
331+
plugins/sudoers/match_digest.c
335332
plugins/sudoers/mkdefaults
336333
plugins/sudoers/mkdir_parents.c
337334
plugins/sudoers/parse.c
338335
plugins/sudoers/parse.h
339336
plugins/sudoers/parse_ldif.c
340337
plugins/sudoers/po/README
338+
plugins/sudoers/po/ast.mo
339+
plugins/sudoers/po/ast.po
341340
plugins/sudoers/po/ca.mo
342341
plugins/sudoers/po/ca.po
343342
plugins/sudoers/po/cs.mo
@@ -399,6 +398,8 @@ plugins/sudoers/po/vi.mo
399398
plugins/sudoers/po/vi.po
400399
plugins/sudoers/po/zh_CN.mo
401400
plugins/sudoers/po/zh_CN.po
401+
plugins/sudoers/po/zh_TW.mo
402+
plugins/sudoers/po/zh_TW.po
402403
plugins/sudoers/policy.c
403404
plugins/sudoers/prompt.c
404405
plugins/sudoers/pwutil.c
@@ -448,6 +449,7 @@ plugins/sudoers/regress/cvtsudoers/test24.out.ok
448449
plugins/sudoers/regress/cvtsudoers/test24.sh
449450
plugins/sudoers/regress/cvtsudoers/test25.out.ok
450451
plugins/sudoers/regress/cvtsudoers/test25.sh
452+
plugins/sudoers/regress/cvtsudoers/test26.err.ok
451453
plugins/sudoers/regress/cvtsudoers/test26.out.ok
452454
plugins/sudoers/regress/cvtsudoers/test26.sh
453455
plugins/sudoers/regress/cvtsudoers/test27.out.ok
@@ -463,6 +465,7 @@ plugins/sudoers/regress/cvtsudoers/test30.sh
463465
plugins/sudoers/regress/cvtsudoers/test31.conf
464466
plugins/sudoers/regress/cvtsudoers/test31.out.ok
465467
plugins/sudoers/regress/cvtsudoers/test31.sh
468+
plugins/sudoers/regress/cvtsudoers/test32.err.ok
466469
plugins/sudoers/regress/cvtsudoers/test32.out.ok
467470
plugins/sudoers/regress/cvtsudoers/test32.sh
468471
plugins/sudoers/regress/cvtsudoers/test33.out.ok
@@ -626,7 +629,6 @@ plugins/sudoers/regress/testsudoers/test1.sh
626629
plugins/sudoers/regress/testsudoers/test2.inc
627630
plugins/sudoers/regress/testsudoers/test2.out.ok
628631
plugins/sudoers/regress/testsudoers/test2.sh
629-
plugins/sudoers/regress/testsudoers/test3.d/root
630632
plugins/sudoers/regress/testsudoers/test3.out.ok
631633
plugins/sudoers/regress/testsudoers/test3.sh
632634
plugins/sudoers/regress/testsudoers/test4.out.ok

Makefile.in

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,6 @@
11
#
2+
# SPDX-License-Identifier: ISC
3+
#
24
# Copyright (c) 2010-2015, 2017-2018 Todd C. Miller <[email protected]>
35
#
46
# Permission to use, copy, modify, and distribute this software for any
@@ -89,7 +91,7 @@ CPPCHECK_OPTS = -q --force --enable=warning,performance,portability --suppress=c
8991
SPLINT_OPTS = -D__restrict= -checks
9092

9193
# Default PVS-studio options when run from the top-level Makefile
92-
PVS_CFG = $(top_srcdir)/PVS-Studio.cfg
94+
PVS_CFG = $(top_builddir)/PVS-Studio.cfg
9395
PVS_IGNORE = 'V707,V011,V002,V536'
9496
PVS_LOG_OPTS = -a 'GA:1,2' -e -t errorfile -d $(PVS_IGNORE)
9597

NEWS

Lines changed: 82 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,85 @@
1+
What's new in Sudo 1.8.28
2+
3+
* Sudo will now only set PAM_TTY to the empty string when no
4+
terminal is present on Solaris and Linux. This workaround is
5+
only needed on those systems which may have PAM modules that
6+
misbehave when PAM_TTY is not set.
7+
8+
* The mailerflags sudoers option now has a default value even if
9+
sendmail support was disabled at configure time. Fixes a crash
10+
when the mailerpath sudoers option is set but mailerflags is not.
11+
Bug #878.
12+
13+
* Sudo will now filter out last login messages on HP-UX unless it
14+
a shell is being run via "sudo -s" or "sudo -i". Otherwise,
15+
when trusted mode is enabled, these messages will be displayed
16+
for each command.
17+
18+
* On AIX, when the user's password has expired and PAM is not in use,
19+
sudo will now allow the user to change their password.
20+
Bug #883.
21+
22+
* Sudo has a new -B command line option that will ring the terminal
23+
bell when prompting for a password.
24+
25+
* Sudo no longer refuses to prompt for a password when it cannot
26+
determine the user's terminal as long as it can open /dev/tty.
27+
This allows sudo to function on systems where /proc is unavailable,
28+
such as when running in a chroot environment.
29+
30+
* The "env_editor" sudoers flag is now on by default. This makes
31+
source builds more consistent with the packages generated by
32+
sudo's mkpkg script.
33+
34+
* Sudo no longer ships with pre-formatted copies of the manual pages.
35+
These were included for systems like IRIX that don't ship with an
36+
nroff utility. There are now multiple Open Source nroff replacements
37+
so this should no longer be an issue.
38+
39+
* Fixed a bad interaction with configure's --prefix and
40+
--disable-shared options. Bug #886.
41+
42+
* More verbose error message when a password is required and no terminal
43+
is present. Bug #828.
44+
45+
* Command tags, such as NOPASSWD, are honored when a user tries to run a
46+
command that is allowed by sudoers but which does not actually
47+
exist on the file system. Bug #888.
48+
49+
* Asturian translation for sudoers from translationproject.org.
50+
51+
* I/O log timing files now store signal suspend and resume information
52+
in the form of a signal name instead of a number.
53+
54+
* Fixed a bug introduced in 1.8.24 that prevented sudo from honoring
55+
the value of "ipa_hostname" from sssd.conf, if specified, when
56+
matching the host name.
57+
58+
* Fixed a bug introduced in 1.8.21 that prevented the core dump
59+
resource limit set in the pam_limits module from taking effect.
60+
Bug #894.
61+
62+
* Fixed parsing of double-quoted Defaults group and netgroup bindings.
63+
64+
* The user ID is now used when matching sudoUser attributes in LDAP.
65+
Previously, the user name, group name and group IDs were used
66+
when matching but not the user ID.
67+
68+
* Sudo now writes PAM messages to the user's terminal, if available,
69+
instead of the standard output or standard error. This prevents
70+
PAM output from being intermixed with that of the command when
71+
output is sent to a file or pipe. Bug #895.
72+
73+
* Sudoedit now honors the umask and umask_override settings in sudoers.
74+
Previously, the user's umask was used as-is.
75+
76+
* Fixed a bug where the terminal's file context was not restored
77+
when using SELinux RBAC. Bug #898.
78+
79+
* Fixed CVE-2019-14287, a bug where a sudo user may be able to
80+
run a command as root when the Runas specification explicitly
81+
disallows root access as long as the ALL keyword is listed first.
82+
183
What's new in Sudo 1.8.27
284

385
* On HP-UX, sudo will now update the utmps file when running a command

0 commit comments

Comments
 (0)