2015-10-31  Todd C. Miller  <Todd.Miller@courtesan.com>

	* plugins/sudoers/po/da.mo, plugins/sudoers/po/da.po, po/da.mo,
	po/da.po:
	sync with translationproject.org
	[6711d740d3d0]

	* NEWS:
	Mention ssp configure fix.
	[92d64fd724cc]

2015-10-30  Todd C. Miller  <Todd.Miller@courtesan.com>

	* plugins/sudoers/po/cs.mo, plugins/sudoers/po/cs.po,
	plugins/sudoers/po/de.mo, plugins/sudoers/po/de.po,
	plugins/sudoers/po/it.mo, plugins/sudoers/po/it.po,
	plugins/sudoers/po/ja.mo, plugins/sudoers/po/ja.po,
	plugins/sudoers/po/nb.mo, plugins/sudoers/po/nb.po,
	plugins/sudoers/po/nl.mo, plugins/sudoers/po/nl.po,
	plugins/sudoers/po/pl.mo, plugins/sudoers/po/pl.po,
	plugins/sudoers/po/pt_BR.mo, plugins/sudoers/po/pt_BR.po,
	plugins/sudoers/po/uk.mo, plugins/sudoers/po/uk.po,
	plugins/sudoers/po/vi.mo, plugins/sudoers/po/vi.po,
	plugins/sudoers/po/zh_CN.mo, plugins/sudoers/po/zh_CN.po, po/cs.mo,
	po/cs.po, po/de.mo, po/de.po, po/fr.mo, po/fr.po, po/it.mo,
	po/it.po, po/ja.mo, po/ja.po, po/nb.mo, po/nb.po, po/pl.mo,
	po/pl.po, po/pt_BR.mo, po/pt_BR.po, po/uk.mo, po/uk.po, po/vi.mo,
	po/vi.po, po/zh_CN.mo, po/zh_CN.po:
	sync with translationproject.org
	[9c8eb0062d8c]

	* configure, configure.ac:
	Don't use CPPFLAGS for the -fstack-protector check. Otherwise on
	systems with _FORTIFY_SOURCE support we'll get an error due to the
	lack of optimization flags. Bug #725
	[1a9f8571a82d]

	* configure, configure.ac:
	When checking for stack protector support we need to actually link
	the test program.
	[ab4f94aac7de]

2015-10-29  Todd C. Miller  <Todd.Miller@courtesan.com>

	* configure, configure.ac:
	Preserve LDFLAGS when checking for stack protector as they may
	include rpath settings to allow the stack protector lib to be found.
	Avoid using existing CFLAGS since we don't want the compiler to
	optimize away the stack variable.
	[e6bc59225c06]

	* configure, configure.ac:
	Better configure test for -fstack-protector. Some gcc installations
	may be missing the ssp library even though the compiler supports it.
	[4ade5d1249f4]

2015-10-25  Todd C. Miller  <Todd.Miller@courtesan.com>

	* src/sudo_edit.c:
	Set errno to EISDIR instead of ENOTDIR if directory is writable
	since ENOTDIR can be a legitimate errno. This avoids a bogus
	"directory is writable" error in that case.
	[97ee37d905ce]

	* mkpkg:
	Fix the check for whether to include 32-bit arch in Mac OS X
	packages.
	[a76654512f6b]

2015-10-24  Todd C. Miller  <Todd.Miller@courtesan.com>

	* plugins/sudoers/po/sudoers.pot, po/sudo.pot:
	regen
	[58277a8f418b]

	* NEWS, src/sudo_edit.c:
	When creating a new file, sudoedit will now check that the file's
	parent directory exists before running the editor.
	[65bc45510fb2]

	* NEWS, doc/UPGRADE, doc/sudoers.cat, doc/sudoers.man.in,
	doc/sudoers.mdoc.in, plugins/sudoers/def_data.c,
	plugins/sudoers/def_data.h, plugins/sudoers/def_data.in,
	plugins/sudoers/match.c:
	Add always_query_group_plugin
	[7e9060d4c13a]

2015-10-23  Todd C. Miller  <Todd.Miller@courtesan.com>

	* ABOUT-NLS, MANIFEST:
	Add ABOUT-NLS from GNU gettext.
	[971c168c065a]

	* NEWS, config.h.in, configure, configure.ac, doc/sudoers.cat,
	doc/sudoers.man.in, doc/sudoers.mdoc.in, plugins/sudoers/def_data.c,
	plugins/sudoers/def_data.h, plugins/sudoers/def_data.in,
	plugins/sudoers/policy.c, plugins/sudoers/sudoers_version.h,
	src/sudo.c, src/sudo.h, src/sudo_edit.c:
	Add directory writability checks for sudoedit.
	[f5349d059a98]

2015-10-06  Todd C. Miller  <Todd.Miller@courtesan.com>

	* NEWS:
	Latest.
	[9aae49302c60]

	* src/conversation.c:
	Ignore the SUDO_CONV_PROMPT_ECHO_OK flag when echo is enabled. This
	was preventing a match of SUDO_CONV_PROMPT_ECHO_ON which resulted in
	a masked password instead of an echoed one.
	[53f6a78d79e3]

	* plugins/sudoers/auth/bsdauth.c:
	Repair challenge/response prompting for BSD authentication which got
	broken while it was converted to use the conversation function.
	[2d0b0cec5e4f]

	* plugins/sudoers/auth/sia.c, plugins/sudoers/auth/sudo_auth.c,
	plugins/sudoers/auth/sudo_auth.h:
	Use the auth_getpass (and the plugin conversation fuction) for Tru64
	SIA. This prevents sudo from sleeping while holding the tty ticket
	lock.
	[9221eec812cf]

	* NEWS, doc/UPGRADE, plugins/sudoers/env.c:
	For env_reset, SHELL should be set based on the target user, not the
	invoking user unless preserved via env_keep.
	[b77adbc08c91]

	* plugins/sudoers/po/da.mo, plugins/sudoers/po/da.po:
	sync with translationproject.org
	[adb927ad5e86]

2015-10-05  Todd C. Miller  <Todd.Miller@courtesan.com>

	* NEWS:
	Hungarian and Slovak translations
	[d3b6acece125]

	* MANIFEST, doc/CONTRIBUTORS, plugins/sudoers/po/hu.mo,
	plugins/sudoers/po/hu.po, plugins/sudoers/po/sk.mo,
	plugins/sudoers/po/sk.po, po/sk.mo, po/sk.po:
	Add new Slovak and Hungarian translations from
	translationproject.org
	[132ec9b7a927]

2015-10-02  Todd C. Miller  <Todd.Miller@courtesan.com>

	* src/sudo_edit.c:
	Remove S_ISREG check from sudo_edit_open(), it is already done in
	the caller.
	[9fff8c0bb1f7]

	* src/sudo_edit.c:
	Open sudoedit files with O_NONBLOCK and fail if they are not regular
	files.
	[56b01164869c]

	* plugins/sudoers/logging.c, plugins/sudoers/visudo.c, src/tgetpass.c:
	It is possible for WIFSTOPPED to be true even if waitpid() is not
	given WUNTRACED if the child is ptraced. Don't exit the waitpid()
	loop if WIFSTOPPED is true, just in case.
	[a2cab04a03da]

2015-09-30  Todd C. Miller  <Todd.Miller@courtesan.com>

	* plugins/sudoers/po/cs.mo, plugins/sudoers/po/de.mo,
	plugins/sudoers/po/fi.mo, plugins/sudoers/po/it.mo,
	plugins/sudoers/po/ja.mo, plugins/sudoers/po/nb.mo,
	plugins/sudoers/po/pl.mo, plugins/sudoers/po/pt_BR.mo,
	plugins/sudoers/po/uk.mo, plugins/sudoers/po/vi.mo,
	plugins/sudoers/po/zh_CN.mo, po/cs.mo, po/de.mo, po/fi.mo, po/fr.mo,
	po/gl.mo, po/it.mo, po/ja.mo, po/nb.mo, po/pl.mo, po/pt_BR.mo,
	po/uk.mo, po/vi.mo, po/zh_CN.mo:
	rebuild .mo files
	[676362ed6061]

	* plugins/sudoers/po/pt_BR.po, po/pt_BR.po:
	sync with translationproject.org
	[be932694e600]

2015-09-28  Todd C. Miller  <Todd.Miller@courtesan.com>

	* config.h.in, configure, configure.ac, src/sudo_noexec.c:
	There's no point in trying to interpose protected versions of the
	exec family of functions. Many modern C libraries use hidden symbols
	for the functions and syscalls defined in libc such that they cannot
	be overridden inside libc itself. We have to just wrap all the exec
	variants plus system and popen.
	[30aa4bd6c15b]

	* doc/sudo.conf.cat, doc/sudo.conf.man.in, doc/sudo.conf.mdoc.in:
	List all the functions wrapped by sudo_noexec.so.
	[57a9db56f4e0]

	* doc/sudoers.cat, doc/sudoers.man.in, doc/sudoers.mdoc.in:
	The section is now called "EXEC and NOEXEC" and it is above, not
	below.
	[9b0a2537f65d]

	* src/sudo_noexec.c:
	Also wrap popen(3).
	[a826cd7787e9]

	* src/sudo_noexec.c:
	Also interpose system(3). On glibc systems you cannot interpose the
	syscalls used internally by libc.
	[58a5c06b5257]

	* src/conversation.c:
	Set active debug instance to sudo_debug_instance() during the
	conversation function.
	[22fb750d92a9]

2015-09-27  Todd C. Miller  <Todd.Miller@courtesan.com>

	* doc/sudo.cat, doc/sudo.man.in, doc/sudo.mdoc.in:
	LOGNAME and USERNAME are set the same way as USER
	[54f170cf2536]

	* doc/sudo.cat, doc/sudo.man.in, doc/sudo.mdoc.in:
	Document behavior when the command dies from a signal in EXIT
	STATUS.
	[3c93d682e5e6]

2015-09-26  Todd C. Miller  <Todd.Miller@courtesan.com>

	* NEWS:
	Bug #722
	[5cca49bb0e02]

	* src/sudo.c:
	When the command sudo is running is killed by a signal, sudo will
	now send itself the same signal with the default signal handler
	instead of exiting. The bash shell appears to ignore some signals,
	e.g. SIGINT, unless the command is killed by that signal. This makes
	the behavior of commands run under sudo the same as without sudo
	when bash is the shell. Bug #722
	[153f016db8f1]

2015-09-25  Todd C. Miller  <Todd.Miller@courtesan.com>

	* doc/sudoers.cat, doc/sudoers.man.in, doc/sudoers.mdoc.in:
	Adjust set_logname description to new behavior when any of LOGNAME,
	USER or USERNAME are preserved.
	[89009c2dcf38]

	* NEWS, plugins/sudoers/env.c:
	If some, but not all, of the LOGNAME, USER or USERNAME environment
	variables have been preserved from the invoking user's environment,
	sudo will now use the preserved value to set the remaining variables
	instead of using the runas user. This ensures that if, for example,
	only LOGNAME is present in the env_keep list, that sudo will not set
	USER and USERNAME to the runas user.
	[54a60fe72b9a]

2015-09-24  Todd C. Miller  <Todd.Miller@courtesan.com>

	* plugins/sudoers/auth/pam.c:
	Fix passing of the callback pointer to the conversation function.
	This was preventing the on_suspend and on_resume functions from
	being called on PAM systems.
	[611246ded4ff]

	* include/sudo_plugin.h:
	Explicitly mark large hex constants unsigned.
	[5b67b0090814]

	* plugins/sudoers/timestamp.c:
	Cast sizeof(entry) to off_t before making it a negative offset for
	lseek(). Fixes "sudo -k" on Solaris and probably others.
	[ed5d312f6baa]

2015-09-21  Todd C. Miller  <Todd.Miller@courtesan.com>

	* doc/sudoers.cat, doc/sudoers.ldap.cat, doc/sudoers.ldap.man.in,
	doc/sudoers.ldap.mdoc.in, doc/sudoers.man.in, doc/sudoers.mdoc.in:
	Add explicit mention of sudo's netgroup semantics since they differ
	from most other netgroup consumers.
	[0e9030f8cf56]

	* plugins/sudoers/po/fi.po, po/fi.po:
	sync with translationproject.org
	[f9236f25a616]

	* plugins/sudoers/check.c:
	Fix potential double free of the cookie when sudo is suspended at
	the password prompt.
	[cbecb3136155]

2015-09-16  Todd C. Miller  <Todd.Miller@courtesan.com>

	* plugins/sudoers/po/cs.po, plugins/sudoers/po/zh_CN.po, po/cs.po,
	po/zh_CN.po:
	sync with translationproject.org
	[21138f16a3a6]

2015-09-15  Todd C. Miller  <Todd.Miller@courtesan.com>

	* plugins/sudoers/po/de.po, plugins/sudoers/po/it.po,
	plugins/sudoers/po/ja.po, plugins/sudoers/po/nb.po,
	plugins/sudoers/po/pl.po, plugins/sudoers/po/uk.po,
	plugins/sudoers/po/vi.po, po/de.po, po/fr.po, po/gl.po, po/it.po,
	po/ja.po, po/nb.po, po/pl.po, po/uk.po, po/vi.po:
	sync with translationproject.org
	[2d9f3e4c3ccf]

	* NEWS:
	Bug #719
	[cfa393164a0f]

	* doc/sudo.cat, doc/sudo.man.in, doc/sudo.mdoc.in:
	SIGHUP is now relayed to the command. Bug #719
	[8db7c492c52a]

	* src/exec.c:
	When a terminal device is closed, SIGHUP is sent to the controlling
	process associated with that terminal. It is not sent to the entire
	process group so sudo needs to relay SIGHUP to the command when it
	is not being run in a new pty. Bug #719
	[b408a792f31a]

	* NEWS:
	Mention visudo bug in 1.8.14
	[0fec829807fd]

	* plugins/sudoers/visudo.c:
	We reserved two slots at the end of the editor argv for the line
	number and the file name. However, resolve_editor() adds "--" before
	the file names so the +line_number is interpreted as a file name,
	not a line number so we need to overwrite the "--" as well.
	[ff107430ee4b]

2015-09-10  Todd C. Miller  <Todd.Miller@courtesan.com>

	* config.h.in, configure, configure.ac, lib/util/sig2str.c,
	lib/util/strsignal.c:
	Remove checks for __sys_siglist and __sys_signame. They are internal
	to libc and there are no known systems that export those symbols
	that do not already export the single underbar or no- underbar
	versions.
	[2b3efe0a91f2]

	* plugins/sudoers/po/ru.mo, plugins/sudoers/po/ru.po, po/es.mo,
	po/es.po:
	Sync with translationproject.org
	[feb5eb934a9e]

	* plugins/sudoers/po/sudoers.pot, po/sudo.pot:
	regen
	[947e8320c557]

2015-09-09  Todd C. Miller  <Todd.Miller@courtesan.com>

	* src/tgetpass.c:
	Restore old signal handlers before tty settings. That way SIGTTOU is
	at its original value if sudo_term_restore() should fail.
	[69d2cc6c0702]

	* doc/sudo_plugin.cat, doc/sudo_plugin.man.in,
	doc/sudo_plugin.mdoc.in:
	Document what happens when the on_suspend/on_resume callbacks return
	an error.
	[d8c9dcf7a926]

	* doc/sudo_plugin.cat, doc/sudo_plugin.man.in,
	doc/sudo_plugin.mdoc.in, include/sudo_plugin.h,
	plugins/group_file/group_file.c, plugins/group_file/plugin_test.c,
	plugins/sudoers/group_plugin.c, plugins/sudoers/policy.c,
	plugins/system_group/system_group.c, src/hooks.c:
	No need to have version macros for hooks, callbacks and the sudoers
	group plugin. We can just use the main sudo API macros. The sudoers
	group plugin macros are preserved for source compatibility but are
	not documented.
	[8c52bb83f991]

	* doc/sudoers.cat, doc/sudoers.man.in, doc/sudoers.mdoc.in:
	Properly escape the backslash before a comma in an example so the
	example rule is parsable by visudo.
	[6745d38e9876]

	* src/tgetpass.c:
	Ignore callbacks if major version doesn't match.
	[f852e6ebff01]

	* MANIFEST, config.h.in, configure, configure.ac,
	include/compat/timespec.h, lib/util/Makefile.in, lib/util/gettime.c,
	lib/util/utimens.c, plugins/sudoers/Makefile.in,
	plugins/sudoers/sudoreplay.c, plugins/sudoers/timestamp.c,
	plugins/sudoers/visudo.c, src/Makefile.in, src/sudo_edit.c:
	Remove include/compat/timespec.h. Systems old enough to lack struct
	timespec are too old to build a modern sudo.
	[37812e10a449]

	* NEWS:
	Bug #713
	[8a7245d76799]

	* src/exec.c:
	Fill in cstat if exec_setup() fails. Previously it was only filled
	in for an execve() failure. Fixes an unkillable sudo process when
	exec_setup() fails and I/O logging is enabled.
	[ff1d39d9e505]

	* src/sudo.c:
	Fix running commands as non-root when neither setresuid() not
	setreuid() are available. At this point we are already root so
	setuid() must succeed. Bug #713
	[34754ad586c7]

	* src/sudo.c:
	Cast uid_t to unsigned int when printing as %u
	[669e2d5244a6]

	* doc/UPGRADE:
	Mention time stamp file locking changes, fix some spelling.
	[c4563ea85e3a]

	* NEWS:
	Update with latest changes.
	[2cbd50e7c158]

2015-09-07  Todd C. Miller  <Todd.Miller@courtesan.com>

	* plugins/sudoers/check.c:
	Avoid touching the time stamp directory for "sudo -k command"
	[391d20c17775]

	* plugins/sudoers/timestamp.c:
	Bring back the check for time stamp files that predate the boot
	time. Instead of truncating we now unlink the file since another
	process may be sleeping on the lock.
	[9cdf7468d0f2]

	* config.h.in, configure, configure.ac, plugins/sudoers/iolog.c,
	plugins/sudoers/timestamp.c:
	Use pread(2) and pwrite(2) where possible.
	[86cd3f6bab9e]

	* src/exec_pty.c:
	sudo_term_* already restart themselve for all but SIGTTOU so we
	don't need to use our own restart loops.
	[113924cd05c0]

	* lib/util/locking.c:
	Set errno to EINVAL if sudo_lock_* is called with a bad type.
	[cfba014f1c1a]

	* plugins/sudoers/timestamp.c:
	Adjust new locking to work when tty_tickets is disabled. We need to
	use per-tty/ppid locking to gain exclusive access to the tty for the
	password prompt but use a separate (short term) lock that is shared
	among all sudo processes for the user.
	[d6d7a0bb6bd0]

	* plugins/sudoers/timestamp.c:
	Allow the time stamp lock to be interrupted by signals.
	[aa5017f86210]

	* lib/util/term.c, plugins/sudoers/check.c,
	plugins/sudoers/sudoreplay.c, src/tgetpass.c:
	Implement suspend/resume callbacks for the conversation function. If
	suspended, close the timestamp file (dropping all locks). On resume,
	lock the record before reading the password.

	For this to work properly we need to be able to run th callback when
	tsetattr() suspends us, not just when the user does. To accomplish
	this the term_* functions now return EINTR if SIGTTOU would be
	generated. The caller now has to restart the term_* function (and
	send itself SIGTTOU) instead of it being done automatically.
	[572374035897]

	* config.h.in, configure, configure.ac, include/sudo_util.h,
	lib/util/locking.c, lib/util/util.exp.in, plugins/sudoers/check.c,
	plugins/sudoers/check.h, plugins/sudoers/policy.c,
	plugins/sudoers/sudoers.h, plugins/sudoers/timestamp.c:
	Lock individual records in the timestamp file instead of the entire
	file. This will make it possible for multiple sudo processes using
	the same tty to serialize their timestamp lookups.
	[f4ad82e36d90]

	* doc/sudo_plugin.cat, doc/sudo_plugin.man.in,
	doc/sudo_plugin.mdoc.in, include/sudo_fatal.h,
	include/sudo_plugin.h, lib/util/fatal.c, plugins/sudoers/auth/afs.c,
	plugins/sudoers/auth/aix_auth.c, plugins/sudoers/auth/bsdauth.c,
	plugins/sudoers/auth/dce.c, plugins/sudoers/auth/fwtk.c,
	plugins/sudoers/auth/kerb5.c, plugins/sudoers/auth/pam.c,
	plugins/sudoers/auth/passwd.c, plugins/sudoers/auth/rfc1938.c,
	plugins/sudoers/auth/secureware.c, plugins/sudoers/auth/securid5.c,
	plugins/sudoers/auth/sia.c, plugins/sudoers/auth/sudo_auth.c,
	plugins/sudoers/auth/sudo_auth.h, plugins/sudoers/check.c,
	plugins/sudoers/sudo_nss.c, plugins/sudoers/sudoers.h,
	src/conversation.c, src/sudo.c, src/sudo.h, src/sudo_plugin_int.h,
	src/tgetpass.c:
	Add a struct sudo_conv_callback that contains on_suspend and
	on_resume function pointer args plus a closure pointer and at it to
	the conversation function.
	[5608cb4c18f2]

2015-09-02  Todd C. Miller  <Todd.Miller@courtesan.com>

	* doc/sudo_plugin.cat, doc/sudo_plugin.man.in,
	doc/sudo_plugin.mdoc.in, include/sudo_plugin.h:
	Make hook_version and hook_type unsigned.
	[77cb84793f07]

2015-09-01  Todd C. Miller  <Todd.Miller@courtesan.com>

	* plugins/sudoers/base64.c, plugins/sudoers/match.c,
	plugins/sudoers/regress/parser/check_base64.c:
	When decoding base64, avoid using '=' in the decoded temporary array
	as a sentinel as it can legitimately be present. Instead, just use
	the count of bytes stored in the temp array to determine which bytes
	to fold into the destination.
	[6abef15d3954]

2015-08-21  Todd C. Miller  <Todd.Miller@courtesan.com>

	* NEWS, plugins/sudoers/sudoers.c, plugins/sudoers/visudo.c:
	When parsing def_editor, break out of the loop when we find the
	first valid editor. Bug #714
	[c7508ed075c2]

2015-08-18  Todd C. Miller  <Todd.Miller@courtesan.com>

	* plugins/sudoers/visudo.c:
	The condition for adding a missing newline at the end of sudoers was
	never reached. Keep track of the last character and write a newline
	character if when copying to the temp file. Found by Radovan Sroka.
	[86c20e7fc6bd]

	* plugins/sudoers/sudoers.c, plugins/sudoers/visudo.c:
	Remove extraneous while() from botched do {} while() loop conversion
	to use sudo_strsplit. Noticed by Radovan Sroka.
	[cd2d25510129]

2015-08-10  Todd C. Miller  <Todd.Miller@courtesan.com>

	* plugins/sudoers/auth/pam.c, plugins/sudoers/auth/sudo_auth.c:
	In sudo_pam_begin_session() and sudo_pam_end_session() return
	AUTH_FATAL on error, not AUTH_FAILURE. In sudo_auth_begin_session()
	treat anything other than AUTH_SUCCESS as a fatal error.
	[3ad7296390f2]

	* doc/CONTRIBUTORS, src/exec.c, src/exec_pty.c:
	Linux sets si_pid in struct siginfo to 0 when the process that sent
	the signal is in a different container since the PID namespaces in
	different conatiners are separate. Avoid looking up the process
	group by id when si_pid is 0 since getpgid(0) returns the process
	group of the current process. Since sudo ignores signals sent by
	processes in its own process group, this had the effect of ignoring
	signals sent from other containers. From Maarten de Vries
	[6d3f43b95a1f]

	* plugins/sudoers/auth/pam.c:
	Sprinkle some debugging.
	[f5a94a3a1192]

2015-08-09  Todd C. Miller  <Todd.Miller@courtesan.com>

	* doc/sudo.cat, doc/sudo.conf.cat, doc/sudo.conf.man.in,
	doc/sudo.man.in, doc/sudo.mdoc.in:
	Document that sudo uses the real uid to map from uid to passwd file
	user name.
	[04f6709675cc]

	* doc/sudo.cat, doc/sudo.conf.cat, doc/sudo.conf.man.in,
	doc/sudo.conf.mdoc.in, doc/sudo.man.in, doc/sudo.mdoc.in:
	disable_coredump can be set to no on modern OSes without security
	consequences.
	[ebe6d5bb2274]

2015-08-07  Todd C. Miller  <Todd.Miller@courtesan.com>

	* doc/sudo.cat, doc/sudo.man.in, doc/sudo.mdoc.in, doc/sudoers.cat,
	doc/sudoers.man.in, doc/sudoers.mdoc.in:
	Emphasis on the never.
	[39ca000281c7]

	* doc/sudoers.cat, doc/sudoers.man.in, doc/sudoers.mdoc.in:
	Explicitly tell people not to grant sudoedit to directories the user
	can write to. While sudoedit will no longer open symbolic links,
	hard links are still an issue.
	[26e0afae9bae]

	* doc/sudo.cat, doc/sudo.man.in, doc/sudo.mdoc.in:
	Add warning about writable directories and sudo/sudoedit.
	[701ff725af42]

	* doc/sudoers.cat, doc/sudoers.man.in, doc/sudoers.mdoc.in:
	Emphasize that wildcards are not regexps. Bug #692
	[1e071810c4cb]

	* doc/sudoers.cat, doc/sudoers.man.in, doc/sudoers.mdoc.in:
	Emphasize that wildcards in command line arguments are dangerous.
	Document the failings of the passwd example on GNU systems. Bug #691
	[54d793aea6b2]

	* doc/sudoers.cat, doc/sudoers.man.in, doc/sudoers.mdoc.in:
	Escape the colons in [[:alpha:]] as required by sudoers.
	[ad875dd5ca64]

	* po/sudo.pot, src/sudo_edit.c:
	Change warning when user tries to sudoedit a symbolic link.
	[b8f44e834c2f]

2015-08-06  Todd C. Miller  <Todd.Miller@courtesan.com>

	* plugins/sudoers/po/sudoers.pot, po/sudo.pot:
	regen
	[5abaa0eeab86]

	* doc/sudo.conf.cat, doc/sudoers.ldap.cat, doc/sudoreplay.cat,
	doc/visudo.cat:
	regen
	[43e6b445734c]

	* doc/UPGRADE, doc/sudo.cat, doc/sudo.man.in, doc/sudo.mdoc.in,
	doc/sudo_plugin.cat, doc/sudo_plugin.man.in,
	doc/sudo_plugin.mdoc.in, doc/sudoers.cat, doc/sudoers.man.in,
	doc/sudoers.mdoc.in, include/sudo_compat.h, include/sudo_plugin.h,
	plugins/sudoers/def_data.c, plugins/sudoers/def_data.h,
	plugins/sudoers/def_data.in, plugins/sudoers/gram.c,
	plugins/sudoers/gram.h, plugins/sudoers/gram.y,
	plugins/sudoers/ldap.c, plugins/sudoers/parse.c,
	plugins/sudoers/parse.h, plugins/sudoers/policy.c,
	plugins/sudoers/regress/sudoers/test1.in,
	plugins/sudoers/regress/sudoers/test1.json.ok,
	plugins/sudoers/regress/sudoers/test1.out.ok,
	plugins/sudoers/regress/sudoers/test1.toke.ok,
	plugins/sudoers/sudoers_version.h, plugins/sudoers/testsudoers.c,
	plugins/sudoers/toke.c, plugins/sudoers/toke.l,
	plugins/sudoers/visudo_json.c, src/sesh.c, src/sudo.c, src/sudo.h,
	src/sudo_edit.c:
	Do not follow symbolic links in sudoedit by default. This behavior
	can be controlled by the sudoedit_follow Defaults flag as well as
	the FOLLOW/NOFOLLOW tags.
	[9636fd256325]

	* NEWS, aclocal.m4, configure, configure.ac:
	Sudo 1.8.15
	[bf18da363b06]

	* MANIFEST:
	add .json regress files to MANIFEST
	[03ddb3a9671b]

	* plugins/sudoers/Makefile.in,
	plugins/sudoers/regress/sudoers/test1.json.ok,
	plugins/sudoers/regress/sudoers/test10.json.ok,
	plugins/sudoers/regress/sudoers/test11.json.ok,
	plugins/sudoers/regress/sudoers/test12.json.ok,
	plugins/sudoers/regress/sudoers/test13.json.ok,
	plugins/sudoers/regress/sudoers/test14.json.ok,
	plugins/sudoers/regress/sudoers/test15.json.ok,
	plugins/sudoers/regress/sudoers/test16.json.ok,
	plugins/sudoers/regress/sudoers/test2.json.ok,
	plugins/sudoers/regress/sudoers/test3.json.ok,
	plugins/sudoers/regress/sudoers/test4.json.ok,
	plugins/sudoers/regress/sudoers/test5.json.ok,
	plugins/sudoers/regress/sudoers/test6.json.ok,
	plugins/sudoers/regress/sudoers/test7.json.ok,
	plugins/sudoers/regress/sudoers/test8.json.ok,
	plugins/sudoers/regress/sudoers/test9.json.ok:
	Check JSON output of sudoers test files too.
	[3d8517812b80]

2015-08-04  Todd C. Miller  <Todd.Miller@courtesan.com>

	* plugins/sudoers/sudoers.c:
	Move comment to match moved code.
	[7a30f06462a8]

	* doc/sudoers.cat, doc/sudoers.man.in, doc/sudoers.mdoc.in:
	maxseq is an int not a string
	[bffd97d22064]

2015-08-02  Todd C. Miller  <Todd.Miller@courtesan.com>

	* src/preserve_fds.c:
	Include sys/types.h for id_t. Bug #711
	[fda95d9ca1e9]

2015-07-31  Todd C. Miller  <Todd.Miller@courtesan.com>

	* lib/util/fnmatch.c:
	Avoid a potential out of bounds read found by enh while fuzzing with
	address sanitizer enabled.
	[52d6b9916593]

2015-07-27  Todd C. Miller  <Todd.Miller@courtesan.com>

	* mkpkg:
	Set sssd lib location to /usr/lib64 on 64-bit RHEL/Centos. Bug #710
	[428421925a20]

2015-07-08  Todd C. Miller  <Todd.Miller@courtesan.com>

	* doc/CONTRIBUTORS:
	Add Jakub Wilk
	[78bfdf2e441b]

2015-07-24  Todd C. Miller  <Todd.Miller@courtesan.com>

	* doc/CONTRIBUTORS, src/Makefile.in:
	The init.d files are generated from a .in file so we need to install
	from top_builddir not top_srcdir. From Ross Burton. Bug #708
	[df1e7a0d3182]

2015-07-22  Todd C. Miller  <Todd.Miller@courtesan.com>

	* lib/util/term.c:
	Replace two "return 0" with debug_return_bool(false).
	[49f8fb3dcd36]

	* src/ttyname.c:
	fix typo in previous commit
	[094488696f2c]

	* NEWS, configure, configure.ac:
	Sudo 1.8.14p3
	[0079c43d8247]

2015-07-21  Todd C. Miller  <Todd.Miller@courtesan.com>

	* src/ttyname.c:
	Fix errno value from get_process_ttyname() when no tty is present.
	[ff7b12bb0638]

	* src/ttyname.c:
	On AIX, only convert the tty device number from dev64_t to dev32_t
	if dev_t is 32-bits.
	[0e728a1eb07a]

2015-07-20  Todd C. Miller  <Todd.Miller@courtesan.com>

	* NEWS, configure, configure.ac:
	Sudo 1.8.14p2
	[55fe56b28c7b]

	* plugins/sudoers/timestamp.c:
	Fix creation of the timestamp file; bug #704
	[1ff77fd5cc8f]

2015-07-19  Todd C. Miller  <Todd.Miller@courtesan.com>

	* src/regress/ttyname/check_ttyname.c, src/sudo.c, src/sudo.h,
	src/ttyname.c:
	Avoid needless memory allocation when resolving the tty name.
	[c58cce92d5e0]

2015-07-17  Todd C. Miller  <Todd.Miller@courtesan.com>

	* NEWS, configure, configure.ac:
	Sudo 1.8.14p1
	[973705806759]

	* plugins/sudoers/sssd.c:
	Fix typo in sudo_sss_attrcpy() that caused a memory allocation
	error.
	[0fa324a7bb56]

2015-07-15  Todd C. Miller  <Todd.Miller@courtesan.com>

	* plugins/sudoers/po/ja.mo, plugins/sudoers/po/uk.mo,
	plugins/sudoers/po/vi.mo, plugins/sudoers/po/zh_CN.mo:
	rebuild
	[e4c7cda46475]

2015-07-14  Todd C. Miller  <Todd.Miller@courtesan.com>

	* lib/util/lbuf.c, plugins/sudoers/env.c, plugins/sudoers/gram.c,
	plugins/sudoers/gram.y, plugins/sudoers/interfaces.c,
	plugins/sudoers/match.c, plugins/sudoers/pwutil_impl.c,
	plugins/sudoers/redblack.c, src/hooks.c, src/net_ifs.c, src/sudo.c:
	Add some debugging printfs when malloc fails and we don't have an
	explicit call to sudo_warnx().
	[07aebb5839c3]

	* plugins/sudoers/toke.c, plugins/sudoers/toke.l,
	plugins/sudoers/toke_util.c:
	Add missing warnings for memory allocation failure. Add function
	name to memory allocation warnings.
	[4f6027786a28]

	* lib/util/parseln.c:
	Return -1 if realloc() fails.
	[707632291eac]

	* lib/util/event.c, lib/util/event_poll.c, lib/util/event_select.c:
	Add line number to debug log for memory allocation errors.
	[f4f3debdfcc5]

	* plugins/sudoers/auth/pam.c:
	Add warning if calloc() fails. Add debugging for other unexpected
	errors.
	[a1e0945237d8]

	* plugins/sudoers/ldap.c:
	Add missing check for calloc(3) return value.
	[37fe3ca78e8e]

2015-07-13  Todd C. Miller  <Todd.Miller@courtesan.com>

	* doc/sudoers.cat, doc/sudoers.man.in, doc/sudoers.mdoc.in:
	Document that the values printed by "sudo -V" are affected by
	Defaults settings in sudoers.
	[80ec2572861b]

2015-07-10  Todd C. Miller  <Todd.Miller@courtesan.com>

	* plugins/sudoers/group_plugin.c,
	plugins/sudoers/regress/check_symbols/check_symbols.c,
	plugins/sudoers/sssd.c, src/load_plugins.c:
	Avoid calling dlerror() multiple times since it clear the error
	status after printing the error. Problem caused by
	sudo_warn/sudo_fatal being macros...
	[c0fd3b0fb9c3]

	* doc/sudo.cat, doc/sudo.man.in, doc/sudo.mdoc.in, doc/sudoers.cat,
	doc/sudoers.man.in, doc/sudoers.mdoc.in:
	Attempt to clarify the conditions under which MAIL and HOME are set
	to the target user.
	[ebd269bebe64]

2015-07-09  Todd C. Miller  <Todd.Miller@courtesan.com>

	* mkpkg:
	Better checks for the libaudit package for Debian and error out if
	we can't figure it out.
	[225c1bfcb629]

	* mkpkg:
	Fix linux_audit setting on non-multiarch Debian.
	[0a38e9d158f4]

	* sudo.pp:
	Fix typo that broke the linux_audit dependency on Debian.
	[0917bd45acf1]

	* NEWS:
	Mention /proc/stat btime fix.
	[754050a340e2]

	* config.h.in, configure, configure.ac, lib/util/getaddrinfo.c,
	plugins/sudoers/interfaces.c, plugins/sudoers/match_addr.c,
	src/net_ifs.c:
	Solaris 2.6 has the prototypes for inet_pton() and inet_ntop() in
	resolv.h.
	[dc0f62743845]

	* plugins/sudoers/boottime.c:
	Sprinkle debugging for boottime.
	[dfb45c763179]

	* mkpkg:
	The old Solaris /bin/sh doesn't support POSIX $( .. ) syntax, use
	backquotes instead.
	[c9e33ffef2b1]

2015-07-08  Todd C. Miller  <Todd.Miller@courtesan.com>

	* mkpkg, sudo.pp:
	Only use --with-sssd-lib on Debian/Ubuntu w/ multipackage. Use dpkg-
	query to determine the name of the audit package for proper
	dependencies.
	[e9669389aa2f]

	* mkpkg, plugins/sudoers/sudoers.in, sudo.pp:
	Update Debian/Ubuntu packages to be more like the vendor ones. One
	notable exception is that sudo.ws packages use /var/run, not
	/var/lib for timestamp files.
	[0f4c49a3768e]

	* plugins/sudoers/boottime.c:
	Strip newline from /proc/stat btime line to avoid a strtonum()
	failure. From Jakub Wilk.
	[8a04f85a070f]

	* src/exec_pty.c:
	In io_callback() service writes before reads. That way, if both
	SUDO_EV_READ and SUDO_EV_WRITE are set and read() returns 0 (EOF) we
	don't close the fd before the write() is performed.

	If the write() returns EPIPE, ENXIO, EIO or EBADF, clear
	SUDO_EV_READ before we close the fd to avoid calling read() on a
	closed fd.
	[167548fd8af2]

2015-07-07  Todd C. Miller  <Todd.Miller@courtesan.com>

	* lib/util/regress/sudo_conf/conf_test.c,
	plugins/sudoers/sudoreplay.c, plugins/sudoers/testsudoers.c,
	plugins/sudoers/visudo.c, src/sesh.c, src/sudo.c:
	Check sudo_conf_read() return value and exit on fatal error (a
	warning was already printed by sudo_conf_read()).
	[d05797f4f197]

	* NEWS:
	Mention double-quoted sudoOption value support.
	[55684a73f097]

	* plugins/sudoers/ldap.c, plugins/sudoers/sssd.c:
	Add support for parsing quoted strings in a sudoOption just like
	sudoers Defaults settings.
	[fe8291414179]

	* plugins/sudoers/po/da.mo, plugins/sudoers/po/da.po,
	plugins/sudoers/po/fi.mo, plugins/sudoers/po/fi.po, po/da.mo,
	po/da.po:
	Sync with translationproject.org
	[1c15d1a3dbdd]

2015-07-06  Todd C. Miller  <Todd.Miller@courtesan.com>

	* plugins/sudoers/po/sudoers.pot, po/sudo.pot:
	Update year.
	[6ca660e4a957]

	* plugins/sudoers/po/de.mo, plugins/sudoers/po/de.po,
	plugins/sudoers/po/nb.mo, plugins/sudoers/po/nb.po, po/de.mo,
	po/de.po, po/nb.mo, po/nb.po:
	Sync with translationproject.org
	[d7ede74dcb19]

	* src/sudo.c:
	Fix utmp setup broken by commit be0ca60facf8
	[cd8a06f57f2b]

2015-07-03  Todd C. Miller  <Todd.Miller@courtesan.com>

	* plugins/sudoers/po/cs.mo, plugins/sudoers/po/cs.po,
	plugins/sudoers/po/it.mo, plugins/sudoers/po/it.po,
	plugins/sudoers/po/ja.po, plugins/sudoers/po/pl.mo,
	plugins/sudoers/po/pl.po, plugins/sudoers/po/uk.po,
	plugins/sudoers/po/vi.po, plugins/sudoers/po/zh_CN.po, po/cs.mo,
	po/cs.po, po/fr.mo, po/fr.po, po/it.mo, po/it.po, po/pl.mo,
	po/pl.po:
	Sync with translationproject.org
	[aa473519e66d]

	* plugins/sudoers/po/sudoers.pot:
	regen
	[8f8aa321f043]

	* plugins/sudoers/logging.c:
	Fix typo in error message.
	[220832711826]

2015-07-02  Todd C. Miller  <Todd.Miller@courtesan.com>

	* NEWS:
	Bug #702 is the AIX timespec issue.
	[c597a312e816]

	* config.h.in, configure, configure.ac, lib/util/closefrom.c,
	lib/util/getcwd.c, lib/util/glob.c, plugins/sudoers/match.c,
	plugins/sudoers/sudoreplay.c, plugins/sudoers/toke.c,
	plugins/sudoers/toke.l, src/ttyname.c:
	We require POSIX so no need to conditionally include dirent.h. Add a
	check for d_namlen and use the result in the NAMLEN macro.
	[2728194cb6cf]

	* lib/util/event.c, lib/util/event_poll.c, lib/util/event_select.c,
	lib/util/getcwd.c, lib/util/gettime.c, lib/util/glob.c,
	lib/util/lbuf.c, lib/util/locking.c, lib/util/mktemp.c,
	lib/util/parseln.c, lib/util/secure_path.c, lib/util/setgroups.c,
	lib/util/sudo_conf.c, lib/util/sudo_debug.c, lib/util/ttysize.c,
	plugins/group_file/group_file.c, plugins/sample/sample_plugin.c,
	plugins/sudoers/alias.c, plugins/sudoers/auth/afs.c,
	plugins/sudoers/auth/aix_auth.c, plugins/sudoers/auth/bsdauth.c,
	plugins/sudoers/auth/dce.c, plugins/sudoers/auth/fwtk.c,
	plugins/sudoers/auth/kerb5.c, plugins/sudoers/auth/pam.c,
	plugins/sudoers/auth/passwd.c, plugins/sudoers/auth/rfc1938.c,
	plugins/sudoers/auth/secureware.c, plugins/sudoers/auth/securid5.c,
	plugins/sudoers/auth/sia.c, plugins/sudoers/auth/sudo_auth.c,
	plugins/sudoers/check.c, plugins/sudoers/defaults.c,
	plugins/sudoers/editor.c, plugins/sudoers/env.c,
	plugins/sudoers/find_path.c, plugins/sudoers/getspwuid.c,
	plugins/sudoers/goodpath.c, plugins/sudoers/gram.c,
	plugins/sudoers/gram.y, plugins/sudoers/group_plugin.c,
	plugins/sudoers/interfaces.c, plugins/sudoers/iolog.c,
	plugins/sudoers/ldap.c, plugins/sudoers/logging.c,
	plugins/sudoers/match.c, plugins/sudoers/match_addr.c,
	plugins/sudoers/parse.c, plugins/sudoers/policy.c,
	plugins/sudoers/pwutil.c, plugins/sudoers/pwutil_impl.c,
	plugins/sudoers/set_perms.c, plugins/sudoers/sssd.c,
	plugins/sudoers/sudo_nss.c, plugins/sudoers/sudoers.c,
	plugins/sudoers/sudoers_debug.c, plugins/sudoers/sudoreplay.c,
	plugins/sudoers/testsudoers.c, plugins/sudoers/timestamp.c,
	plugins/sudoers/toke.c, plugins/sudoers/toke.l,
	plugins/sudoers/toke_util.c, plugins/sudoers/visudo.c,
	plugins/sudoers/visudo_json.c, plugins/system_group/system_group.c,
	src/conversation.c, src/exec.c, src/exec_common.c, src/exec_pty.c,
	src/get_pty.c, src/hooks.c, src/load_plugins.c, src/net_ifs.c,
	src/openbsd.c, src/parse_args.c, src/preserve_fds.c, src/signal.c,
	src/solaris.c, src/sudo.c, src/sudo_edit.c, src/sudo_noexec.c,
	src/tgetpass.c, src/ttyname.c, src/utmp.c:
	There's no need to conditionalize the #include <unistd.h>, we
