Todd C. Miller
a09e45d339
In fill_args(), check for "arg_size == 0" instead of
...
"sudoerslval.command.args == NULL" since the latter leads Coverity
to imply that sudoerslval.command.args could be NULL later on.
Coverity CID 104093.
2016-05-05 15:12:37 -06:00
Todd C. Miller
64142f9da2
Avoid calling fclose(NULL) if the sudoers file is not secure and
...
restore_perms() fails. Coverity CID 104090.
2016-05-05 15:01:22 -06:00
Todd C. Miller
5725acd1c4
In fill_args(), replace loop that increments arg_size() with
...
a simple add and mask. Should prevent a false positive from
Coverity CID 104094.
2016-05-04 16:59:04 -06:00
Todd C. Miller
bf734419bf
In parse_expr(), move the "bad" label after the "default" case in
...
the switch(), not before it. This seemed to confuse Covertity,
resulting in a false positive, CID 104095.
2016-05-04 16:48:02 -06:00
Todd C. Miller
20ff6023aa
Fix cut and paste error when checking cols for 0.
...
Coverity CID 104081
2016-05-04 11:15:20 -06:00
Todd C. Miller
2152f053b1
Use a single debug message for cache hit or store to avoid another
...
situation where they get out of sync. Bug #743
2016-05-04 09:15:12 -06:00
Todd C. Miller
a152afaeb5
Sync the "cache hit" debug messages with the "cached" debug messages.
...
This fixes a bug where we could dereference a NULL pointer when we
look up a negative cached entry which is stored as a NULL passwd
or group struct pointer. Bug #743 .
2016-05-04 08:55:21 -06:00
Todd C. Miller
57b1dc5e1d
Add missing newline when logging to a file (not syslog) and
...
loglinelen is set to a non-positive number. Bug #742
2016-04-26 14:39:42 -06:00
Todd C. Miller
b4309d4aea
Ignore SIGPIPE for the duration of sudo and not just in a few select
...
places. We have no control over what nss, PAM modules or sudo
plugins might do so ignoring SIGPIPE is safest.
2016-04-22 16:36:36 -06:00
Todd C. Miller
6717c32022
When determining whether or not "sudo -l" or "sudo -b" should prompt
...
for a password, take all sudoers sources into account. In other
words, if both file and ldap sudoers sources are in use, "sudo -v"
will now require that all entries in both sources be have NOPASSWD
(file) or !authenticate (ldap) in the entries.
2016-04-19 10:08:51 -06:00
Todd C. Miller
b2d1c457ce
If the auth_type setting in /etc/security/login.cfg is set to
...
PAM_AUTH but pam_start() fails, fall back to use AIX authentication.
Skip the auth_type check if sudo is not compiled with PAM support.
2016-03-22 16:31:28 -06:00
Todd C. Miller
c5cafb4331
hook_version and hook_type are unsigned so use 0, not -1 in the
...
final (empty) entry. Quiets a warning on Solaris Studio 12.2.
2016-03-16 10:53:43 -06:00
Todd C. Miller
48dff84081
Work around an ambiguity in the PAM spec with respect to the conversation
...
function. It is not clear whether the "struct pam_message **msg" is an
array of pointers or a pointer to an array. Linux-PAM and OpenPAM use
an array of pointers while Solaris/HP-UX/AIX uses a pointer to an array.
Bug #726 .
2016-03-09 09:39:46 -07:00
Todd C. Miller
9353672608
sync with translationproject.org
2016-03-08 10:04:46 -07:00
Todd C. Miller
514c62fc24
sync with translationproject.org
2016-02-26 14:39:00 -07:00
Todd C. Miller
159aa2ba6c
sync with translationproject.org
2016-02-26 11:02:29 -07:00
Todd C. Miller
95dd64ea75
Fix the check for whether a user is allowed to lists another user's
...
privileges. The "matched" variable is not boolean, it can also
have the value UNSPEC so we need to check explicitly for true.
Bug #738
2016-02-26 09:32:08 -07:00
Todd C. Miller
5dd7ac20e1
Log the number of PAM messages in the conversation function at debug
...
level.
2016-02-26 09:30:31 -07:00
Todd C. Miller
99978e4a70
Fix documented bug with duplicate role names and turn on perl warnings.
...
Based on a diff from Aaron Peschel
2016-02-22 11:07:33 -07:00
Todd C. Miller
6848a7f1a6
regen
2016-02-19 15:50:38 -07:00
Todd C. Miller
fafbc9a55a
sync with translationproject.org
2016-02-19 15:48:39 -07:00
Todd C. Miller
6cbba7d665
Add an administrative domain to the passwd/group cache key for
...
AIX which can have different name <-> ID mappings depending
on whether the database is local, LDAP, etc.
2016-02-01 11:08:58 -07:00
Todd C. Miller
73163c750a
Plug some memory leaks in the tests.
2016-01-29 11:34:09 -07:00
Todd C. Miller
2224cfd000
If realloc of sudoerslval.command.args fails, reset sudoerslval.command.args
...
as well as arg_len and arg_size after freeing sudoerslval.command.args.
2016-01-29 11:10:36 -07:00
Todd C. Miller
5cbe1edcfe
iolog_compress should be bool, not int
2016-01-28 15:36:15 -07:00
Todd C. Miller
3bebdfea79
Quiet address sanitizer leak detector.
2016-01-28 15:07:54 -07:00
Todd C. Miller
21d6fc3d8f
Simple garbage collection (really a to-be-freed list) for the sudoers
...
plugin. Almost identical to what sudo.c uses. Currenly only the
environment strings are collected at exit time which is enough to
quiet address sanitizer's leak detector.
2016-01-28 14:53:48 -07:00
Todd C. Miller
873d5cc5ff
Try to deconfuse static analyzers a bit.
2016-01-27 16:19:22 -07:00
Todd C. Miller
23a82ab2e8
Avoid possible NULL deref found by clang analyzer.
2016-01-27 16:07:35 -07:00
Todd C. Miller
ab11cdde2c
auth_getpass() returns a dynamically allocated copy of the plaintext
...
password which needs to be freed after checking (and clearing) it.
2016-01-27 15:36:50 -07:00
Todd C. Miller
e48ceebf14
fn_free_result() (aka sss_sudo_free_result() in sss_sudo.c) handles
...
a NULL poiner so there's no need to check before calling it. Add
missing initialization of sss_sudo_result to NULL in sudo_sss_setdefs().
2016-01-27 09:28:08 -07:00
Todd C. Miller
60ea106cc4
Add missing return when user is not found in sudo_sss_result_get().
...
Previously we fell through to the default case which just logged a
debug message and returned so this just avoids the extra (generic)
debug message.
2016-01-27 09:20:04 -07:00
Todd C. Miller
a6886d2345
Add check for I/O log file handle being NULL. This could only
...
happen if the front-end calls iolog_open with argc == 0 but actually
runs a command.
2016-01-25 16:18:22 -07:00
Todd C. Miller
c28f59271a
Additional debugging for pwutil functions.
2016-01-22 17:04:59 -07:00
Todd C. Miller
578be4f39c
Use SUDOERS_DEBUG_UTIL not SUDO_DEBUG_UTIL in the plugin.
2016-01-22 11:22:58 -07:00
Todd C. Miller
7ed519125e
Set sudoedit_checkdir=false in command_details when it is disabled
...
in sudoers.
2016-01-20 15:51:43 -07:00
Todd C. Miller
f4e5b135bb
Update copyright year
2016-01-20 15:40:51 -07:00
Todd C. Miller
5dae4d3f35
regen
2016-01-19 15:23:07 -07:00
Todd C. Miller
de0208a01b
Make sudoedit_checkdir the default and update the documentation accordingly.
2016-01-19 14:16:25 -07:00
Todd C. Miller
5a77989a33
Add support for matching the entire netgroup tuple (user, host, domain).
2016-01-12 14:59:44 -07:00
Todd C. Miller
9d7bc0311f
Use asprintf() to generate the netgroup filter instead of using
...
lots of concatenation.
2016-01-12 14:29:09 -07:00
Todd C. Miller
55fdf66c1d
In sudo_netgroup_lookup() only build up the search filter once
...
instead of once per netgroup_base.
2016-01-11 16:35:05 -07:00
Todd C. Miller
7c454656d5
It is safe to pass ldap_msgfree() a NULL pointer.
2016-01-11 16:24:22 -07:00
Todd C. Miller
ae5a2f4072
On overflow, warn before freeing anything.
2016-01-11 16:23:19 -07:00
Todd C. Miller
0f991ff78b
Use user_runhost and user_srunhost instead of user_host and user_shost.
...
Fixes "sudo -l -h other_host" for LDAP and sssd.
2016-01-11 15:54:02 -07:00
Todd C. Miller
089b468de7
Silence warning in digest_matches() on systems with no fexecve(2).
2016-01-11 16:55:52 -07:00
Todd C. Miller
9308d05e7e
Fix free() of invalid pointer introduced in the commit that stripped
...
whitespace between a '!' and the name in a sudoOption.
2016-01-11 16:52:52 -07:00
Todd C. Miller
14b454cc0d
Fix free() of invalid pointer introduced in the commit that stripped
...
whitespace between a '!' and the name in a sudoOption.
2016-01-11 16:44:05 -07:00
Todd C. Miller
8ed9f6172a
Update description of sudoedit_checkdir. Reported by Sander Bos.
2016-01-11 15:09:08 -07:00
Todd C. Miller
39db87e62b
sync with translationproject.org
2016-01-04 10:47:11 -07:00