Todd C. Miller [Sun, 25 Nov 2012 14:34:33 +0000 (09:34 -0500)]
Move _sudo_printf from src/conversation.c to common/sudo_printf.c.
Add sudo_printf function pointer that is initialized to _sudo_printf()
instead of requiring a sudo_conv function pointer everywhere. The
plugin will reset sudo_printf to point to the version passed in via
the plugin open function. Now plugin_error.c can just call sudo_printf
in all cases. The sudoers binaries no longer need their own version
of sudo_printf.
Todd C. Miller [Sun, 25 Nov 2012 14:34:26 +0000 (09:34 -0500)]
Add plugin_setjmp() wrapper for siglongjmp(error_jmp, 1) so we don't
need error_jmp to be extern. Also add plugin_clearjmp() that clears
a flag so error()/errorx() knows when to call exit() vs. longjmp().
Todd C. Miller [Sun, 25 Nov 2012 14:34:20 +0000 (09:34 -0500)]
Let warning() call gettext() for us.
Todd C. Miller [Sun, 25 Nov 2012 14:34:15 +0000 (09:34 -0500)]
Do locale swapping in the warning()/error() macros themselves instead
of in the underlying functions.
Todd C. Miller [Sun, 25 Nov 2012 14:34:10 +0000 (09:34 -0500)]
Rename warning2()/error2() -> warning_nodebug()/error_nodebug().
Todd C. Miller [Sun, 25 Nov 2012 14:34:04 +0000 (09:34 -0500)]
Call gettext() on parameters for warning()/warningx() instead of
having warning() do it for us.
Todd C. Miller [Sun, 25 Nov 2012 14:33:58 +0000 (09:33 -0500)]
Call gettext() in sudoerserror() in the user's locale and pass the untranslated string to it.
Todd C. Miller [Sun, 25 Nov 2012 14:33:52 +0000 (09:33 -0500)]
Allow sudoers programs (visudo, sudoreplay, visudo) to use
plugin_error.c instead of the error.c from the front-end. This
means sudoers_setlocale() needs to be independent of the sudo_user
struct and the defaults table. The sudoers locale is now updated
via a callback.
Todd C. Miller [Sun, 25 Nov 2012 14:33:33 +0000 (09:33 -0500)]
Include setjmp.h in sudoers.h
Move error_jmp into plugin_error.c
Rename sudoers_plugin_cleanup sudoers_cleanup
Make sudoers warning/error functions work when sudo_conv is NULL
Todd C. Miller [Sun, 25 Nov 2012 14:25:15 +0000 (09:25 -0500)]
No need to change locale in front-end warning()/error().
Todd C. Miller [Sun, 25 Nov 2012 14:23:17 +0000 (09:23 -0500)]
Ignore bad lines in passwd/group file instead if stopping processing when we hit one.
Todd C. Miller [Sun, 25 Nov 2012 13:12:55 +0000 (08:12 -0500)]
Bash doesn't let you set UID to use MYUID instead.
Todd C. Miller [Sun, 25 Nov 2012 13:12:54 +0000 (08:12 -0500)]
Avoid NULL deref for unknown Defaults in strict mode.
Todd C. Miller [Sun, 25 Nov 2012 13:10:12 +0000 (08:10 -0500)]
See DEFAULT_TEXT_DOMAIN
Todd C. Miller [Tue, 13 Nov 2012 14:46:19 +0000 (09:46 -0500)]
Add signame.c and mksigname.
Todd C. Miller [Tue, 13 Nov 2012 14:41:52 +0000 (09:41 -0500)]
Fold preinstall into install-plugin and pass the path to the
plugin binary to the preinstall command.
Todd C. Miller [Tue, 13 Nov 2012 13:54:40 +0000 (08:54 -0500)]
sync with upstream
Todd C. Miller [Tue, 13 Nov 2012 13:54:31 +0000 (08:54 -0500)]
repair spacing
Todd C. Miller [Mon, 12 Nov 2012 22:12:34 +0000 (17:12 -0500)]
Set group on sudo_debug when creating it to gid 0 so systems without
BSD group semantics don't get the invoking user's group.
Todd C. Miller [Mon, 12 Nov 2012 22:04:24 +0000 (17:04 -0500)]
Rename mkdir_parents() io_mkdirs() and add a flag to specify whether
path is a temporary, in which case the final component is created
via mkdtemp() instead of mkdir().
Todd C. Miller [Mon, 12 Nov 2012 20:20:10 +0000 (15:20 -0500)]
For PERM_ROOT set egid to 0 so log files are not created with
the gid of the user.
Todd C. Miller [Mon, 12 Nov 2012 14:41:56 +0000 (09:41 -0500)]
Add calls to set_perms(PERM_ROOT) becore logging to a file. We
should already be root but since we cache the current permission
status it is basically free. That way, if more of sudoers runs as
non-root in the future logging will still work correctly.
Todd C. Miller [Mon, 12 Nov 2012 13:51:58 +0000 (08:51 -0500)]
#unifdef HAVE_SETLOCALE, it is C89 so no need to check for it.
Todd C. Miller [Mon, 12 Nov 2012 11:27:53 +0000 (06:27 -0500)]
Mention that sudo.conf is parsed in the C locale.
Todd C. Miller [Mon, 12 Nov 2012 10:42:48 +0000 (05:42 -0500)]
Parse sudo.conf in the "C" locale.
Todd C. Miller [Mon, 12 Nov 2012 10:36:43 +0000 (05:36 -0500)]
Fix compilation on systems w/o setlocale()
Todd C. Miller [Mon, 12 Nov 2012 10:22:01 +0000 (05:22 -0500)]
Sudo now includes a workaround for the Solaris 11 locale issue.
Todd C. Miller [Mon, 12 Nov 2012 01:23:53 +0000 (20:23 -0500)]
Always include locale.h from gettext.h so we no longer need to
include locale.h from the .c files.
Todd C. Miller [Sun, 11 Nov 2012 12:11:22 +0000 (07:11 -0500)]
Add os-specific initialization functions for solaris (workaround
setuid locale problem in Solaris 11) and openbsd (set malloc_options
if SUDO_DEVEL). Also move set_project() to solaris.c.
Todd C. Miller [Fri, 9 Nov 2012 21:32:29 +0000 (16:32 -0500)]
Avoid strerror() when possible and just rely on warning/error
to handle errno in the proper locale.
Todd C. Miller [Fri, 9 Nov 2012 21:31:23 +0000 (16:31 -0500)]
Set sudoers locale in log_allowed()
Todd C. Miller [Fri, 9 Nov 2012 20:37:03 +0000 (15:37 -0500)]
Make the sudo lecture translatable.
Todd C. Miller [Fri, 9 Nov 2012 20:31:04 +0000 (15:31 -0500)]
Add the values of badpass_message, passprompt and mailsub to
sudoers.pot so they can be translated.
Todd C. Miller [Fri, 9 Nov 2012 20:30:06 +0000 (15:30 -0500)]
Expand the FMT_FIRST anf FMT_CONTD macros inline so they get picked
up by xgettext.
Todd C. Miller [Thu, 8 Nov 2012 21:40:37 +0000 (16:40 -0500)]
Make expand_prompt() args const and free the prompt when we are
done with it.
Todd C. Miller [Thu, 8 Nov 2012 21:40:03 +0000 (16:40 -0500)]
Fix cut and pasto
Todd C. Miller [Thu, 8 Nov 2012 21:39:44 +0000 (16:39 -0500)]
Expand def_mailsub in the sudoers locale, not the user's.
Todd C. Miller [Thu, 8 Nov 2012 20:37:44 +0000 (15:37 -0500)]
Call gettext inside log_error et al instead of having the caller do it. This way we can display any messages to the user in their own locale but log in the sudoers local.
Todd C. Miller [Thu, 8 Nov 2012 20:37:44 +0000 (15:37 -0500)]
Display warning/error messages in the user's locale.
Todd C. Miller [Thu, 8 Nov 2012 20:37:43 +0000 (15:37 -0500)]
audit_failure() now calls gettext itself using the sudoers locale.
Todd C. Miller [Thu, 8 Nov 2012 20:37:43 +0000 (15:37 -0500)]
Convert setlocale() to sudoers_setlocale() in the sudoers module.
This only converts existing uses, there are more places where we
need to sprinkle sudoers_setlocale() calls.
Todd C. Miller [Thu, 8 Nov 2012 20:37:43 +0000 (15:37 -0500)]
Add simple locale switching to make it easy to switch from the
user's locale to the sudoers locale without making excessive
setlocale() calls when we don't need to.
Todd C. Miller [Thu, 8 Nov 2012 20:37:42 +0000 (15:37 -0500)]
Add variants of warn/error and sudo_debug_printf that take a va_list
instead of a variable number of args.
Todd C. Miller [Thu, 8 Nov 2012 20:22:44 +0000 (15:22 -0500)]
Document Solaris 11 locale issues and workarounds.
Todd C. Miller [Thu, 8 Nov 2012 19:45:22 +0000 (14:45 -0500)]
Solaris gettext() looks in lang.UTF-8, not just lang for UTF-8 locales.
Make links from localdir/lang -> localdir/lang.UTF-8
Todd C. Miller [Tue, 6 Nov 2012 16:19:51 +0000 (11:19 -0500)]
Do not inform the user that the command was not permitted by the
policy if they do not successfully authenticate. This is a regression
introduced in sudo 1.8.6.
Todd C. Miller [Tue, 6 Nov 2012 16:08:53 +0000 (11:08 -0500)]
Add preinstall target that runs SUDO_PREINSTALL_CMD. Used to fixup
the rpath in HP-UX SOM shared libraries for the LDAP libs.
Todd C. Miller [Tue, 6 Nov 2012 16:00:22 +0000 (11:00 -0500)]
The -a option should be #ifdef HAVE_BSD_AUTH_H, not -A.
Todd C. Miller [Sun, 28 Oct 2012 16:58:48 +0000 (12:58 -0400)]
Allow the user to specify and alternate libtool
Todd C. Miller [Fri, 26 Oct 2012 14:27:56 +0000 (10:27 -0400)]
Allow sudo to be build with sss support without also including ldap
support. From Stephane Graber.
Todd C. Miller [Thu, 25 Oct 2012 20:58:31 +0000 (16:58 -0400)]
Refactor policy plugin interface code from sudoers.c into policy.c
Todd C. Miller [Thu, 25 Oct 2012 17:16:58 +0000 (13:16 -0400)]
Refactor command_info setting into its own function.
Todd C. Miller [Thu, 25 Oct 2012 17:15:52 +0000 (13:15 -0400)]
Make interfaces pointer private to interfaces.c and add get_interfaces()
accessor.
Todd C. Miller [Wed, 24 Oct 2012 20:32:43 +0000 (16:32 -0400)]
Make user_cwd const since it is either a string literal or passed
in from the front-end.
Todd C. Miller [Wed, 24 Oct 2012 20:29:13 +0000 (16:29 -0400)]
sudo 1.8.7
Todd C. Miller [Wed, 24 Oct 2012 18:24:36 +0000 (14:24 -0400)]
Avoid nested strtok() calls.
Todd C. Miller [Tue, 23 Oct 2012 18:27:52 +0000 (14:27 -0400)]
Move expand_prompt() into its own source file for easier unit testing.
Todd C. Miller [Tue, 23 Oct 2012 18:16:57 +0000 (14:16 -0400)]
Make check.c independent of the underlying timestamp implementation.
Todd C. Miller [Tue, 23 Oct 2012 15:57:07 +0000 (11:57 -0400)]
Add SUDOERS_NO_SEQ define to allow ${seq} to be disabled.
Todd C. Miller [Tue, 23 Oct 2012 14:21:24 +0000 (10:21 -0400)]
Use a list for the possible values of Tag_Spec with a minimal indent
to improve readability. In the pod version, these were =head3.
Also use .St -p1003.1 instead of just POSIX when talking about
glob() and fnmatch().
Todd C. Miller [Tue, 2 Oct 2012 19:29:52 +0000 (15:29 -0400)]
sudo_ttyname_dev() is unused if there is no /proc or sysctl().
Todd C. Miller [Tue, 2 Oct 2012 19:08:02 +0000 (15:08 -0400)]
Explicitly mark main() as public in executables to avoid an HP-UX
ld warning.
Todd C. Miller [Tue, 2 Oct 2012 19:07:11 +0000 (15:07 -0400)]
Remove grep from SEE ALSO section.
Todd C. Miller [Tue, 2 Oct 2012 18:45:18 +0000 (14:45 -0400)]
If vasprintf() fails, just use the errno it sets instead of assuming
ENOMEM.
Todd C. Miller [Fri, 28 Sep 2012 13:05:31 +0000 (09:05 -0400)]
Mention HP-UX pam.conf settings.
Todd C. Miller [Thu, 27 Sep 2012 14:21:13 +0000 (10:21 -0400)]
Split off timestamp functions into their own source file.
Todd C. Miller [Wed, 26 Sep 2012 18:55:18 +0000 (14:55 -0400)]
Mention how !foo is not the same as ALL,!foo
Todd C. Miller [Tue, 25 Sep 2012 17:49:51 +0000 (13:49 -0400)]
Start commands in the background when I/O logging is enabled. We
can't do this on Mac OS X due to a kernel bug in tc[gs]etattr(2)
which returns EINTR on signal instead of restarting automatically.
Todd C. Miller [Tue, 25 Sep 2012 17:31:20 +0000 (13:31 -0400)]
Handle SIGCONT_FG and SIGCONT_BG when converting signal number to
string in deliver_signal().
Todd C. Miller [Mon, 24 Sep 2012 19:06:14 +0000 (15:06 -0400)]
Fix running commands that need the terminal in the background when
I/O logging is enabled. E.g. "sudo vi &". When the command is
foregrounded, it will now resume properly.
Todd C. Miller [Mon, 24 Sep 2012 14:09:41 +0000 (10:09 -0400)]
Add rudimentary support for name-based matching as a compile-time
option. This unsafe when used in conjunction with the '!' operator.
Todd C. Miller [Fri, 21 Sep 2012 20:25:01 +0000 (16:25 -0400)]
Split out implementation-specific back end code out of pwutil.c
into pwutil_impl.c. This will allow the main pwutil code to be
used for lookup methods other than getpw* and getgr*.
Todd C. Miller [Tue, 18 Sep 2012 13:41:58 +0000 (09:41 -0400)]
sudo 1.8.6p3
Todd C. Miller [Tue, 18 Sep 2012 02:09:00 +0000 (22:09 -0400)]
Don't use embedded newline when matching, use \n. This got expanded
at some point. Bug #573
Todd C. Miller [Mon, 17 Sep 2012 21:03:17 +0000 (17:03 -0400)]
Rename yyerror() to sudoerserror() to match yacc prefix changes.
Not really needed due to the #defines that yacc makes but it is
less confusing this way as the lexer calls sudoerserror().
Todd C. Miller [Mon, 17 Sep 2012 20:59:26 +0000 (16:59 -0400)]
No need to translate "unable to allocate memory" when we can just
use the system translation via strerror().
Todd C. Miller [Mon, 17 Sep 2012 17:20:30 +0000 (13:20 -0400)]
Fall back on lstat(2) if d_type in struct dirent is DT_UNKNOWN.
Not all file systems support d_type. Bug #572
Todd C. Miller [Mon, 17 Sep 2012 14:53:46 +0000 (10:53 -0400)]
Avoid calling fclose(NULL) in the error path when we cannot open an
I/O log file.
Todd C. Miller [Mon, 17 Sep 2012 01:04:33 +0000 (21:04 -0400)]
Sudo 1.8.6p2
Todd C. Miller [Sun, 16 Sep 2012 22:40:39 +0000 (18:40 -0400)]
When setting the signal handler for SIGTSTP to the default value
in non-I/O log mode, store the old handler value for when we restore
it after resume.
Todd C. Miller [Sun, 16 Sep 2012 19:18:58 +0000 (15:18 -0400)]
Replace the guts of sudo_setenv_nodebug() with our old setenv.c
which supports non-standard BSD and glibc semantics.
sudo_setenv() now simply calls sudo_setenv2().
Todd C. Miller [Sat, 15 Sep 2012 18:00:30 +0000 (14:00 -0400)]
Document non-Unix group support in LDAP sudoers.
Todd C. Miller [Sat, 15 Sep 2012 17:41:24 +0000 (13:41 -0400)]
Enable non-Unix group support for LDAP sudoers. We now check for
non-Unix groups and netgroups with the same query in the second
pass. Bug #571
Todd C. Miller [Fri, 14 Sep 2012 20:19:25 +0000 (16:19 -0400)]
Set yacc prefix to "sudoers" to avoid conflicts other yacc parsers.
Todd C. Miller [Wed, 12 Sep 2012 19:13:49 +0000 (15:13 -0400)]
Mention support for SUCCESS=return in /etc/nsswitch.conf
Todd C. Miller [Wed, 12 Sep 2012 18:37:27 +0000 (14:37 -0400)]
sudo 1.8.6p1
Todd C. Miller [Tue, 11 Sep 2012 14:24:20 +0000 (10:24 -0400)]
Avoid setting LOGNAME, USER and USERNAME variables twice when
set_logname is enabled.
Todd C. Miller [Tue, 11 Sep 2012 14:22:37 +0000 (10:22 -0400)]
Fix duplicate detection in sudo_putenv(), do not prune out the
variable we just set when overwriting an existing instance.
Fixes bug #570
Todd C. Miller [Tue, 11 Sep 2012 14:21:32 +0000 (10:21 -0400)]
Add some debuggging
Todd C. Miller [Tue, 4 Sep 2012 14:44:34 +0000 (10:44 -0400)]
Disable word wrap in list mode when stdout is a pipe to make "sudo
-l | grep ..." more useful. Adapted from a diff by Daniel Kopecek.
Todd C. Miller [Tue, 4 Sep 2012 14:42:09 +0000 (10:42 -0400)]
Print a trailing newline in lbuf_print() when there is not enough
space to do word wrapping and the lbuf does not end with a newline.
Todd C. Miller [Tue, 4 Sep 2012 13:22:10 +0000 (09:22 -0400)]
Add support for [SUCCESS=return] in nsswitch.conf; from Daniel Kopecek
Todd C. Miller [Tue, 4 Sep 2012 13:07:33 +0000 (09:07 -0400)]
Add sssd.c
Todd C. Miller [Sat, 1 Sep 2012 21:10:36 +0000 (17:10 -0400)]
regen .po files
Todd C. Miller [Sat, 1 Sep 2012 21:00:49 +0000 (17:00 -0400)]
Add Vietnamese sudoers translation from translationproject.org
Todd C. Miller [Sat, 1 Sep 2012 17:10:16 +0000 (13:10 -0400)]
mention PIE
Todd C. Miller [Sat, 1 Sep 2012 17:10:04 +0000 (13:10 -0400)]
Add Vietnamese sudoers translation from translationproject.org
Todd C. Miller [Wed, 29 Aug 2012 20:08:02 +0000 (16:08 -0400)]
Add missing signame dependency
Todd C. Miller [Wed, 29 Aug 2012 18:40:25 +0000 (14:40 -0400)]
Silence compiler warnings.
Todd C. Miller [Wed, 29 Aug 2012 18:25:09 +0000 (14:25 -0400)]
Replace strsigname() with sig2str(), emulating it as needed.