Todd C. Miller
35dcb05a5f
Fix symbol name collision with systems that have their own sha2
...
implementation. This can result in PAM using the wrong sha2
implementation on Solaris systems configured to use SHA512 for
passwords.
2015-03-05 12:27:26 -07: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
5d2e9426b2
We cannot (easily) use clock_gettime(CLOCK_MONOTONIC) directly as
...
it may be present but not implemented. Add sudo_gettime_real() and
sudo_gettime_mono() functions to get the real and monotonic times
respectively. Now sudo_gettime_mono() checks the value of
sysconf(_SC_MONOTONIC_CLOCK) before calling clock_gettime(CLOCK_MONOTONIC)
and falls back on sudo_gettime_real() as needed. The Mach version
of sudo_gettime_mono() uses mach_absolute_time().
This should fix problems with timestamp files on systems where
the CLOCK_MONOTONIC is defined but not actually implemented.
2015-02-24 11:19:21 -07:00
Todd C. Miller
01a4d6ccbf
Check clock_gettime() return value and warn if it fails.
...
Currently, the timestamp will be ignored if clock_gettime() fails.
2015-02-24 09:53:50 -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
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
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
59ab26dbcc
Go back to a 2 args debug_decl and just use the "default" instance,
...
now renamed "active".
2015-02-01 08:24:49 -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
237f3c9dfe
Add support for GLOB_LIMIT from OpenBSD (not currently used) and
...
also a limit on the max recursion depth for glob().
2014-12-16 17:04:13 -07:00
Todd C. Miller
ccc210eddb
If a system lacks mkdtemp() or mkstemps(), use our own mkdtemp()
...
and mkstemps(). Previously we only exposed the missing one but
since the guts are the same we might as well use them.
2014-10-29 13:03:39 -06:00
Todd C. Miller
adfdad9ae0
Version the symbols for sudo_debug.c now that the API is stable.
2014-10-27 05:26:08 -06:00
Todd C. Miller
6b1b734ffa
Add a flag argument to sudo_conf_read() so we can decide which
...
bits get parsed. This lets us parse Debug statements first and
init the debug subsystem early.
2014-10-26 08:33:08 -06:00
Todd C. Miller
d0cc4d9e4b
Fix inet_ntop() replacement on older systems without it.
...
We only expose the prototype for net_ifs.c due to the
use of socklen_t.
2014-10-23 15:44:03 -06:00
Todd C. Miller
17a2a27e46
Use generic bitmap macros instead of select-style fd_set.
2014-10-23 14:37:27 -06:00
Todd C. Miller
5270ebf1f2
When registering with the debug subsystem, the caller now passes
...
in an arrary of ints that gets filled in with the subsytem IDs to
be used in debug_decl.
2014-10-23 06:36:50 -06:00
Todd C. Miller
e9914a91b1
The sudoers plugin now defines its own list of debugging subsystem names
...
and defines.
2014-10-22 13:30:52 -06:00
Todd C. Miller
866cfc4fc3
Add support for multiple Debug lines per program. Callers may
...
register arbitrary debug facilities or use built-in defaults. We
now use separate Debug statements for plugins and programs.
2014-10-22 13:23:05 -06:00
Todd C. Miller
a7e724b75d
Change how sudo.conf is parsed. We now do a quick parse and then
...
set the values after the entire file has been parsed. This lets
us init the debug system earlier. Plugin-specific debug flags are
now stored in struct plugin_info and struct plugin_container and
passed to the plugin via one or more debug_flags settings.
2014-10-22 13:20:32 -06:00
Todd C. Miller
346ff6766e
Pass plugin path in the settings array.
2014-10-22 13:13:00 -06:00
Todd C. Miller
d7574a344e
Use INSTALL_OWNER instead of -O/-G flags so we can work with the
...
autotools install-sh too. Bug #669
2014-10-06 14:23:41 -06:00
Todd C. Miller
bd99dcc028
Add sudo_warn_set_conversation() to specify a conversation function
...
to use for warn/fatal. If no conversation function is specified,
the standard error will be used. We now only need sudo_printf()
for things that use the parser.
2014-10-05 16:41:52 -06:00
Todd C. Miller
4913e02b40
SUDO_CONV_DEBUG_MSG is no longer supported.
2014-09-08 16:34:47 -06:00
Todd C. Miller
e20475922d
There is no longer a reason for the plugin to init the debug subsystem
...
itself. It will always be initialized by the front-end if needed.
2014-09-08 16:24:32 -06:00
Todd C. Miller
0f735f6581
Add function arg names to prototypes where missing.
2014-09-08 14:43:01 -06:00
Todd C. Miller
8bc688188f
Move sudo_printf extern to sudo_util.h
2014-08-31 18:46:26 -06:00
Todd C. Miller
a07ce849f7
Some versions of the HP C Compiler don't export functions that take
...
function pointers as arguments unless a typedef is used.
2014-08-31 18:33:30 -06:00
Todd C. Miller
73d5fb33e7
Work around a bug in the HP C compiler.
2014-08-31 15:21:48 -06:00
Todd C. Miller
2b849b2687
Don't allow sudo_ev_loopcont() to override sudo_ev_loopexit()
2014-08-29 09:47:08 -06:00
Todd C. Miller
e9370718f9
Add some internal convenience functions.
2014-08-29 09:44:08 -06:00
Todd C. Miller
acdb6d3690
Change behavior when plugin I/O logging function returns 0 or -1.
...
For -1 (error) return, we now kill the command and disable
the I/O logging function that returned the error.
For a 0 (reject) return, we no longer display the rejected
output to the user's terminal. The plugin API revision is now 1.6.
2014-08-26 12:07:57 -06:00
Todd C. Miller
daf634b728
Only include functions in util.exp that are actually in the library.
...
Fixes a problem on Solaris where undefined functions that are listed
as exported in the map file result in a link error.
Also make sure we use our glob.c if the system is missing glob().
2014-07-29 10:52:43 -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
120f0684b5
For C89, use "const char __func__[]" instead of "const char *__func__".
2014-07-28 15:01:48 -06:00
Todd C. Miller
47835ff289
Rename missing.h -> sudo_compat.h
2014-07-22 14:25:16 -06:00
Todd C. Miller
ecaecdc1f4
Merge secure_path.h -> sudo_util.h
2014-07-22 11:37:39 -06:00
Todd C. Miller
844a285391
Version the functions in libsudo_util
2014-07-22 11:26:17 -06:00
Todd C. Miller
127ba1354b
Rename gettext.h -> sudo_gettext.h
2014-07-21 14:49:43 -06:00
Todd C. Miller
3687b665cb
Rename fatal.h -> sudo_fatal.h
2014-07-21 14:40:18 -06:00
Todd C. Miller
b45727cefa
Rename queue.h -> sudo_queue.h to avoid collisions with the system
...
version.
2014-07-21 14:37:27 -06:00
Todd C. Miller
d7c309f702
Conver sudo_debug_write() to a macro
2014-07-21 09:13:47 -06:00
Todd C. Miller
9071e95080
Move mksiglist.h and mksigname.h to lib/util where they belong.
2014-07-14 09:46:17 -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
36a5767e3e
efree -> sudo_efree for consistency
2014-07-10 15:35:04 -06:00
Todd C. Miller
12c3b456d8
Add sudo_warn_strerror() that wraps strerror() with calls to
...
setlocale() in sudoers so we always get the error string in the
user's locale. Also change _warning() to take the error number as
a parameter instead of examining errno.
2014-07-08 09:52:21 -06:00
Todd C. Miller
5c117d480c
Fix typos in utimes/futimes macros.
2014-07-03 15:06:46 -06:00
Todd C. Miller
a8fa112a53
atobool -> sudo_strtobool
...
atoid-> sudo_strtoid
atomode -> sudo_strtomode
2014-06-27 14:53:54 -06:00
Todd C. Miller
2d61d38c23
Add sudo_ prefix to alloc.c functions and rename alloc.h -> sudo_alloc.h
2014-06-27 10:48:31 -06:00