Commit Graph

601 Commits

Author SHA1 Message Date
Todd C. Miller
dacb1e47f3 Honor NOPASSWD tag for denied commands too. 2011-09-09 09:57:39 -04:00
Todd C. Miller
f730cb7873 Assume all modern systems support fstat(2). 2011-08-31 11:19:10 -04:00
Todd C. Miller
47af0fc2b8 Add configure test for missing errno declaration and only
declare it ourselves if it is missing.
2011-08-30 10:05:30 -04:00
Todd C. Miller
55896f636e Include errno.h before sudo.h to avoid conflicting with the system
definition of errno.
2011-08-30 09:46:12 -04:00
Todd C. Miller
0cd4648093 Only print individual check status when there is a failure. 2011-08-29 14:53:47 -04:00
Todd C. Miller
f478f84066 Add calls to setprogname() for test programs. 2011-08-29 14:51:12 -04:00
Todd C. Miller
7945166bb5 Actually run check_addr in the check target 2011-08-29 14:48:09 -04:00
Todd C. Miller
1a259de176 Split out address matching into its own file and add regression
tests for it.
2011-08-29 14:10:18 -04:00
Todd C. Miller
a47f005437 When matching an address with a netmask in sudoers, AND the mask
and addr before checking against the local addresses.
2011-08-27 12:09:30 -04:00
Todd C. Miller
526a61004d Fix netmask matching. 2011-08-26 16:01:39 -04:00
Todd C. Miller
e3cda80202 Don't assume all editors support the +linenumber command line argument,
use a whitelist of known good editors.
2011-08-26 14:03:49 -04:00
Todd C. Miller
d81c14005f Silence compiler warnings on Solaris with gcc 3.4.3 2011-08-23 16:42:18 -04:00
Todd C. Miller
8fb53f5e4b Add new Esperanto translation from translationproject.org 2011-08-22 08:26:50 -04:00
Todd C. Miller
5a13dd2b76 Quiet an innocuous valgrind warning. 2011-08-19 09:32:25 -04:00
Todd C. Miller
bfc84b01f3 Fix expansion of strftime() escapes in log_dir and add a regress test
that exhibited the problem.
2011-08-18 13:41:40 -04:00
Todd C. Miller
367b659006 Fix "make check" return value. 2011-08-18 12:09:34 -04:00
Todd C. Miller
a6224a7342 Regen pot files 2011-08-17 11:40:14 -04:00
Todd C. Miller
d56a17165a Also check sudoers gid if sudoers is group writable. 2011-08-13 18:34:37 -04:00
Todd C. Miller
7f4a0d095e Fix loop that calls authenticate().
If there was an error message from authenticate(), display it.
2011-08-12 11:02:53 -04:00
Todd C. Miller
179b34d9eb Rename libsudoers convenience library to libparsesudoers to avoid
libtool confusion.
2011-08-11 13:14:44 -04:00
Todd C. Miller
1adef5ec36 Add Danish sudoers translation from translationproject.org 2011-08-10 09:50:52 -04:00
Todd C. Miller
6099e1bc42 Add dedicated callback function for runas_default sudoers setting
that only sets runas_pw if no runas user or group was specified by
the user.
2011-08-10 09:02:37 -04:00
Todd C. Miller
aaaa5d05d9 Update Finish, Polish, Russian and Ukrainian translations from
translationproject.org.
2011-08-09 14:57:57 -04:00
Todd C. Miller
01ae3d4771 Go back to using a callback for runas_default to keep runas_pw in
sync.  This is needed to make per-entry runas_default settings work
with LDAP-based sudoers.  Instead of declaring it a callback in
def_data.in, sudo and testsudoers poke sudo_defs_table[] which is
a bit naughty, but avoids requiring stub functions in visudo and
the tests.
2011-08-09 14:54:42 -04:00
Todd C. Miller
eb09c303a1 Add new Russian sudo translation from translationproject.org
and rebuild the other translation files.
2011-07-30 09:35:56 -04:00
Todd C. Miller
4f726ddcd5 Update Finish and Polish translations from translationproject.org 2011-07-29 16:40:29 -04:00
Todd C. Miller
8255ed69b9 Go back to escaping the command args for "sudo -i" and "sudo -s"
before calling the plugin.  Otherwise, spaces in the command args
are not treated properly.  The sudoers plugin will unescape non-spaces
to make matching easier.
2011-07-29 10:10:40 -04:00
Todd C. Miller
4f9a93f658 Fix some potential problems found by the clang static analyzer,
none serious.
2011-07-28 10:59:37 -04:00
Todd C. Miller
6365c779c0 Updated Ukranian and Chinese (simplified) po files from
translationproject.org
2011-07-28 09:08:50 -04:00
Todd C. Miller
bd6ce7ee3a Updated Polish translation from translationproject.org 2011-07-27 14:47:31 -04:00
Todd C. Miller
3606fc4419 Rebuild pot files 2011-07-27 14:23:45 -04:00
Todd C. Miller
35d26ae34f Don't try to audit failure if the runas user does not exist. We don't
have the user's command at this point so there is nothing to audit.
Add a NULL check in audit_success() and audit_failure() just to be
on the safe side.
2011-07-27 12:11:33 -04:00
Todd C. Miller
80138c88ba Remove fallback to per-group lookup when matching groups in sudoers.
The sudo front-end will now use getgrouplist() to get the user's
list of groups if getgroups() fails or returns zero groups so we
always have a list of the user's groups.  For systems with
mbr_check_membership() which support more that NGROUPS_MAX groups
(Mac OS X), skip the call to getgroups() and use getgrouplist() so
we get all the groups.
2011-07-25 09:17:18 -04:00
Todd C. Miller
1f9fb7609f Fix two PERM_INITIAL cases that were still using user_gids. 2011-07-22 15:13:35 -04:00
Todd C. Miller
3dde167cf6 user_group is no longer used, remove it 2011-07-22 09:29:49 -04:00
Todd C. Miller
0b91073953 Add Polish translation from translationproject.org 2011-07-20 16:55:57 -04:00
Todd C. Miller
022591f4bf Add a wrapper for setgroups() that trims off extra groups and retries
if setgroups() fails.  Also add some missing addrefs for PERM_USER
and PERM_FULL_USER.
2011-07-20 16:54:12 -04:00
Todd C. Miller
b124635b04 Instead of keeping separate groups and gids arrays, create struct
group_info and use it to store both, along with a count for each.
Cache group info on a per-user basis using getgrouplist() to get
the groups.  We no longer need special to special case the user or
list user for user_in_group() and thus no longer need to reset the
groups list when listing another user.
2011-07-20 11:58:45 -04:00
Todd C. Miller
6d8788a6cd Do not shadow global sudo_mode with a local variable in set_cmnd() 2011-07-18 16:23:38 -04:00
Todd C. Miller
54bf162e60 bash 2.x doesd not support the -l flag and exits with an error if
it is specified so use --login instead.  This causes an error with
bash 1.x (which uses -login instead) but this version is hopefully
less used than 2.x.
2011-07-17 10:37:15 -04:00
Todd C. Miller
37873051a8 Make error strings translatable. 2011-07-13 16:50:25 -04:00
Todd C. Miller
d7c0798865 Add missing logwrap.c 2011-07-11 15:57:13 -04:00
Todd C. Miller
f90731596a Split out log file word wrap code into its own file and add unit
tests.  Fixes an off-by one in the word wrap when the log line
length matches loglinelen.
2011-07-11 15:22:25 -04:00
Todd C. Miller
56321ec778 Resolve the list of gids passed in from the sudo frontend (the
result of getgroups()) to names and store both the group names and
ids in the sudo_user struct.  When matching groups in the sudoers
file, match based on the names in the groups list first and
only do a gid-based match when we absolutely have to.  By matching
on the group name (as it is listed in sudoers) instead of id
(which we would have to resolve) we save a lot of group lookups
for sudoers files with a lot of groups in them.
2011-07-01 14:13:47 -04:00
Todd C. Miller
20972da410 Workaround for "sudo -i command" and newer versions of bash which
don't go into login mode when -c is specified unless -l is too.
2011-06-26 18:02:09 -04:00
Todd C. Miller
9ba98ef7b5 Rewrite logfile word wrapping code to be more straight-forward
and actually wrap at the correct place.
2011-06-23 14:17:38 -04:00
Todd C. Miller
39be82e32f Set use_pty=true in command details when use_pty is set in sudoers.
From Ludwig Nussel
2011-06-22 10:06:35 -04:00
Todd C. Miller
2bd874febc Sync Chinese (simplified) PO files from translationproject.org 2011-06-20 08:30:10 -04:00
Todd C. Miller
26ec20f8b1 Add Danish translation from translationproject.org and add missing
Basque mo files.
2011-06-18 13:21:48 -04:00
Todd C. Miller
7a06f32cbb Preserve SHELL variable for "sudo -s". Otherwise we can end up
with a situation where the SHELL variable and the actual shell being
run do not match.
2011-06-13 07:20:28 -04:00