Todd C. Miller
b20b411e71
Define NO_LEAKS when sudo is built with Coverity.
2016-05-04 13:01:57 -06:00
Todd C. Miller
e0f12d81a7
Remove configure checks for dev_t, id_t, ino_t, ptrdiff_t, size_t
...
and ssize_t. These have been specified by either ANSI C or POSIX
for long enough that if the system doesn't support them, it is
unlikely to be able to compile sudo anyway.
2016-04-28 15:09:46 -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
3d0b0f061e
Add --enable-asan configure flag to enable address sanitizer
2016-01-27 15:37:25 -07:00
Todd C. Miller
41a32a1c58
When calling setauthdb(), save the old registry value so we can
...
restore it properly. Previously we were setting the registry to
unrestricted instead of actually restoring it.
2016-01-22 17:04:58 -07:00
Todd C. Miller
c1b1481204
Use faccessat(2) for directory writability instead of doing the
...
checks manually where possible. This also allows us to remove the
#ifdef __linux__ bits since we no longer use fstat(2) on Linux with
an O_PATH fd.
2016-01-18 10:45:47 -07:00
Todd C. Miller
4bcef637f8
Work around the buggy pread(2) on 32-bit HP-UX 11.00 by using
...
pread64() on that platform.
2016-01-13 11:10:33 -07:00
Todd C. Miller
c50cead833
Add directory writability checks for sudoedit.
2015-10-23 14:04:35 -06:00
Todd C. Miller
37abc1b7e4
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.
2015-09-28 21:20:37 -06:00
Todd C. Miller
a2979ed809
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.
2015-09-10 16:44:57 -06:00
Todd C. Miller
67183d74f4
Remove include/compat/timespec.h. Systems old enough to lack struct
...
timespec are too old to build a modern sudo.
2015-09-09 11:13:22 -06:00
Todd C. Miller
7d0a623fdd
Use pread(2) and pwrite(2) where possible.
2015-09-07 06:06:08 -06:00
Todd C. Miller
00142c91fa
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.
2015-09-07 06:06:08 -06:00
Todd C. Miller
43a57126ea
Solaris 2.6 has the prototypes for inet_pton() and inet_ntop() in
...
resolv.h.
2015-07-09 10:11:25 -06:00
Todd C. Miller
d77941c2be
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.
2015-07-02 09:24:48 -06:00
Todd C. Miller
d87a0a4aab
Add check for inline support.
2015-06-30 10:16:56 -06:00
Todd C. Miller
09b07fe21a
Add back _REENTRANT define on HP-UX to expose strtok_r on some versions.
...
We may need to define it on other systems too.
2015-06-19 12:35:51 -06:00
Todd C. Miller
a50555faa2
Remove support for the obsolete malloc.h header.
2015-06-18 20:30:59 -06:00
Todd C. Miller
138aa2ccd1
Remove BROKEN_SYSLOG define which was for obsolete versions of HP-UX.
...
Remove last remnants of 4.2BSD syslog support.
2015-06-18 17:53:49 -06:00
Todd C. Miller
a38253b101
Replace use of OSDEFS with config.h defines.
...
Rename DEFS in Makefile.in to CPPDEFS and include in CPPFLAGS.
Bring back _BSD_SOURCE as a config.h define.
Remove obsolescent _REENTRANT define.
2015-06-18 09:33:05 -06:00
Todd C. Miller
4c7a264f10
Use AC_FUNC_STRNLEN to check for broken strnlen() on AIX.
...
This requires that we use AC_USE_SYSTEM_EXTENSIONS so remove
things from OSDEFS that are enabled by AC_USE_SYSTEM_EXTENSIONS.
2015-06-17 17:00:21 -06:00
Todd C. Miller
82286d8b7b
Add strndup() for those without it. As strndup.c uses strnlen(),
...
use our own if it is missing.
2015-05-26 14:05:26 -06:00
Todd C. Miller
49d56f323e
Add strnlen() replacement needed for glob.c.
...
Only used if no glob() and no strnlen().
2015-05-26 13:55:18 -06:00
Todd C. Miller
05a01d4c5d
Avoid using a leading underbar in defines as they are reserved in
...
ISO C.
2015-05-21 11:13:20 -06:00
Todd C. Miller
a40cf3e288
There should be no need to check for tzset() as it is POSIX.
2015-05-18 13:42:06 -06:00
Todd C. Miller
3595807f4e
Add reallocarray() for those without it.
2015-05-14 10:13:18 -06:00
Todd C. Miller
8bc70a635c
Instead of trying to make weak functions work on all platforms,
...
just use a registration function for a plugin-specific setlocale
function. The sudoers version just wraps sudoers_setlocale().
2015-05-11 14:51:32 -06:00
Todd C. Miller
5647736ef5
Add configure check for SIG2STR_MAX, which may be missing on UnixWare.
2015-05-07 07:34:50 -06:00
Todd C. Miller
a7edf7d984
Remove compat/utime.h, it was only useful for ancient systems that
...
are no longer capable of compiling sudo.
2015-03-03 16:57:55 -07:00
Todd C. Miller
ee72cba937
Use futimens() and utimensat() instead of futimes() and utimes().
2015-03-02 13:58:50 -07:00
Todd C. Miller
b5831d55d8
Update snprintf.c from OpenBSD. The floating point and wide character
...
code has been retained but is not compiled by default.
2015-02-21 16:52:14 -07:00
Todd C. Miller
f9af2bc99e
Correct SECURE_PATH comment.
2015-02-20 06:30:41 -07:00
Todd C. Miller
be8dbeb22e
Avoid using HOST_NAME_MAX directly and use sysconf(_SC_HOST_NAME_MAX)
...
instead.
2015-02-19 20:28:02 -07:00
Todd C. Miller
96eddddc12
Almost no systems actually define OPEN_MAX since it is dynamic on
...
modern OSes. If sysconf(_SC_OPEN_MAX) ever fails, fall back on
_POSIX_OPEN_MAX instead. We can assume modern systems have sysconf().
Also remove checks for strrchr() and strtoll() for which the HAVE_*
defines are no longer used.
2015-02-19 09:59:25 -07:00
Todd C. Miller
166db8eeb4
Use weak symbols for sudo_warn_gettext() and sudo_warn_strerror()
...
so distros using "-Wl,--no-undefined" in LDFLAGS don't run into
problems.
2015-02-17 06:42:10 -07:00
Todd C. Miller
3eb9a854d8
Add check for getresuid() declaration, which may be missing on HP-UX.
...
When checking for getdomainname() prototype, look in netdb.h too.
2015-02-06 11:33:30 -07:00
Todd C. Miller
88f79588e0
Remove configure checks for strrchr() and strtoll() for which the
...
HAVE_* defines are no longer used.
2015-02-05 11:17:22 -07:00
Todd C. Miller
a3435e7d12
Require POSIX regular expression support for sudoreplay.
2015-02-05 11:16:06 -07:00
Todd C. Miller
1bb633a210
Check whether getdomainname(), innetgr(), setresuid() and setresgid()
...
are declared and add prototypes in sudo_compat.h as needed.
2015-02-05 11:08:55 -07:00
Todd C. Miller
f2a554f297
Add missing prototypes for usrinfo() and setauthdb() for AIX.
2015-02-03 07:33:25 -07:00
Todd C. Miller
536c83cec3
Solaris uses sysinfo(SI_SRPC_DOMAIN) instead of getdomainname() to
...
get the host's NIS domain.
2015-02-03 07:33:24 -07:00
Todd C. Miller
55a34e6941
Avoid inadvertantly defining things like PATH_MAX simply because
...
the source file doesn't include limits.h.
2015-01-15 17:01:30 -07:00
Todd C. Miller
2040d4dde5
Use arc4random() for mkstemp/mkdtemp if available. If not, try to
...
seed from /dev/urandom before falling back to the gettimeofday seed.
2014-10-31 06:57:19 -06:00
Todd C. Miller
5f9e84ea51
Use inet_ntop() instead of inet_ntoa() and include a version for
...
systems that are missing it.
2014-10-02 07:55:08 -06:00
Todd C. Miller
99ae71452a
Replace use of HAVE_GETCWD with PREFER_PORTABLE_GETCWD.
...
It is safe to assume getcwd() exists, we just need to handle broken ones.
2014-07-28 16:36:43 -06:00
Todd C. Miller
b0a09fb671
Add check for inet_ntoa() since it may live in libnsl.
...
Make getcwd() replacement private to the SunOS 4 section.
2014-07-28 16:11:39 -06:00
Todd C. Miller
96d1967ab0
Avoid passing -no-fast-install to libtool as this results in the
...
build dir being left in the library path of the installed executable.
Instead, we remove the "lt-" prefix from the program name in
initprogname() so that the regress test output is unaffected by
libtool's binary wrapper.
2014-07-14 09:08:50 -06:00
Todd C. Miller
18dbc52e4b
Add Solaris audit support; from Gary Winiger at Oracle.
2014-06-27 16:01:40 -06:00
Todd C. Miller
87c2fe5a31
Prefix all libc replacements with sudo_ and #define the real name
...
to the sudo_ version. That way we don't pollute the libc namespace.
2014-06-26 15:51:08 -06:00
Todd C. Miller
218aa1e598
Move the sha2 code into libreplace and add configure checks for
...
SHA224Update in libc and libmd. Solaris uses "void *" where we use
"unsigned char *" so we need a check for that too. Solaris sha2.h
defines SHA224, SHA256, SHA384, and SHA512 so rename those tokens.
Adapted from changes from Vladimir Marek in bug #641 .
2014-04-09 16:31:13 -06:00