Commit Graph

639 Commits

Author SHA1 Message Date
Todd C. Miller
cf7ad29f49 Prevent "testsudoers -d username" from trying to malloc(0). 2011-11-07 08:44:05 -05:00
Todd C. Miller
a83507ccd1 Tests for empty sudoers (should parse OK) and syntax errors within
a line (should report correct line number) both with and without
the trailing newline.
2011-11-06 17:04:55 -05:00
Todd C. Miller
9fddb9eed7 Print line number when there is a parser error. 2011-11-06 17:00:40 -05:00
Todd C. Miller
bd881c26e8 Keep track of the last token returned. On error, if the last token was
COMMENT, decrement sudolineno since the error most likely occurred on
the preceding line.  Previously we always uses sudolineno-1 which will
give the wrong line number for errors within a line.
2011-11-05 07:37:14 -04:00
Todd C. Miller
ab803d88b5 Fix crash when "sudo -g group -i" is run. Fixes bug 521 2011-11-03 09:31:20 -04:00
Todd C. Miller
922add7801 Make alias_remove_recursive() return TRUE/FALSE as its callers
expect and remove two unused arguments.  Fixes bug 519.
2011-10-26 10:42:30 -04:00
Todd C. Miller
c55b5c9e18 Add regress test for bugzilla 519 2011-10-26 10:20:32 -04:00
Todd C. Miller
300265019f Disable warning/error wrapping in regress tests. 2011-10-26 10:19:48 -04:00
Todd C. Miller
85cd642d37 check_addr needs to link with the network libraries on Solaris 2011-10-25 14:50:54 -04:00
Todd C. Miller
6973ed5eb4 When matching a RunasAlias for a runas group, pass the alias in as
the group_list, not the user_list.  From Daniel Kopecek.
2011-10-25 10:34:31 -04:00
Todd C. Miller
9b2c889812 We need to init the auth system regardless of whether we need a
password since we will be closing the PAM session in the monitor
process.  Fixes a crash in the monitor on Solaris; bugzilla #518
2011-10-25 10:08:26 -04:00
Todd C. Miller
839919566e Add debug_decl/debug_return (almost) everywhere.
Remove old sudo_debug() and convert users to sudo_debug_printf().
2011-10-22 14:40:21 -04:00
Todd C. Miller
9923464d96 Wrap error/errorx and warning/warningx functions with debug statements.
Disable wrapping for standalone sudoers programs as well as memory
allocation functions (to avoid infinite recursion).
2011-10-22 14:28:33 -04:00
Todd C. Miller
697caf8df3 Update Japanese sudoers translation from translationproject.org 2011-10-21 09:00:42 -04:00
Todd C. Miller
3f526029ae regen pot files 2011-10-10 15:50:41 -04:00
Todd C. Miller
b7a6107702 Ignore set_logname (which is now the default) for sudoedit since
we want the LOGNAME, USER and USERNAME environment variables to
refer to the calling user since that is who the editor runs as.
This allows the editor to find the user's startup files.
Fixes bugzilla #515
2011-10-10 13:10:24 -04:00
Todd C. Miller
a6602fa0e4 Instead of trying to grow the buffer in make_grlist_item(), simply
increase the total length, free the old buffer and allocate a new
one.  This is less error prone and saves us from having to adjust
all the pointers in the buffer.  This code path is only taken when
there are groups longer than the length of the user field in struct
utmp or utmpx, which should be quite rare.
2011-10-10 11:10:59 -04:00
Todd C. Miller
82dd8f65fd Japanese translation for sudo and sudoers from translationproject.org 2011-10-10 06:45:28 -04:00
Todd C. Miller
fb49b16e4a sudoreplay depends on timestr.lo too; from Mike Frysinger 2011-10-07 16:09:48 -04:00
Todd C. Miller
063c6ee60a Regen sudoers pot file. 2011-10-04 12:32:05 -04:00
Todd C. Miller
930122d346 It appears that LDAP or NSS may modify the euid so we need to be
root for the open().  We restore the old perms at the end of
sudoers_policy_open().
2011-10-04 11:15:06 -04:00
Todd C. Miller
b743b77a0d Better warning message on setuid() failure for the setreuid()
version of set_perms().
2011-10-04 11:13:28 -04:00
Todd C. Miller
45ad681cd6 Delref auth_pw at the end of check_user() instead of getting a ref
twice.
2011-09-27 16:21:21 -04:00
Todd C. Miller
1e93d1fbb6 Make sudo_auth_{init,cleanup} return TRUE on success and check for
sudo_auth_init() return value in check_user().
2011-09-27 15:41:22 -04:00
Todd C. Miller
4540a7525e Do not return without restoring permissions. 2011-09-27 15:22:08 -04:00
Todd C. Miller
de684e5d2c regen pot files 2011-09-27 14:07:18 -04:00
Todd C. Miller
bceb5df158 Modify the authentication API such that the init and cleanup functions
are always called, regardless of whether or not we are going to
verify a password.  This is needed for proper PAM session support.
2011-09-27 13:18:46 -04:00
Todd C. Miller
c21595044d Add missing dependency for getspwuid.lo and regen other depends. 2011-09-27 13:15:48 -04:00
Todd C. Miller
c5f8dc95c6 Fix a PAM_USER mismatch in session open/close. We update PAM_USER
to the target user immediately before setting resource limits, which
is after the monitor process has forked (so it has the old value).
Also, if the user did not authenticate, there is no pamh in the
monitor so we need to init pam here too.  This means we end up
calling pam_start() twice, which should be fixed, but at least the
session is always properly closed now.
2011-09-27 11:13:44 -04:00
Todd C. Miller
05bfd66693 If the invoking user cannot be resolved by uid fake the struct
passwd and store it in the cache so we can delref it on exit.
2011-09-25 06:35:40 -04:00
Todd C. Miller
842526d71f Don't error out if the group plugin cannot be loaded, just warn. 2011-09-24 10:24:40 -04:00
Todd C. Miller
0775147894 Quiet a false positive found by several static analysis tools.
These tools don't know that log_error() does not return (it longjmps
to error_jmp which returns to the sudo front-end).
2011-09-23 19:37:21 -04:00
Todd C. Miller
6028afae83 Add Italian translation for sudo from translationproject.org
Regen .mo files
2011-09-22 14:56:43 -04:00
Todd C. Miller
de33689ae6 Make "verbose" static; fixes a namespace clash with pam_ssh_agent_auth
(and it doesn't need to be extern these days).
2011-09-21 10:15:13 -04:00
Todd C. Miller
32c1ae8f7e Update po files from translationproject.org 2011-09-20 14:57:43 -04:00
Todd C. Miller
3bcc9048c3 Add support for DEREF in ldap.conf. 2011-09-16 16:50:04 -04:00
Todd C. Miller
fd2d709bd2 Fix a crash in make_grlist_item() on 64-bit machines with strict
alignment.
2011-09-16 09:05:37 -04:00
Todd C. Miller
cab1968da2 Remove list_options() function that is no longer used now that "sudo
-L" is gone.
2011-09-16 09:05:17 -04:00
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