Todd C. Miller
64e5d34c57
Add comments in .c files so PVS-Studio will check them.
2018-10-21 08:46:05 -06:00
Todd C. Miller
b89cf34b53
Replace sudo_fatal(NULL) with an "unable to allocate memory" message
...
that includes the function name.
2018-10-12 08:39:12 -06:00
Todd C. Miller
42fe0409f6
Add sudo_ev_dispatch(), a wrapper for ev_loop() with no flags.
...
Similar the dispatch function in libevent.
2018-02-19 11:00:10 -07:00
Todd C. Miller
48fba3c2cc
update my email to Todd.Miller@sudo.ws
2017-12-03 17:53:40 -07:00
Todd C. Miller
b9adb3dd51
Don't loop over read/write, recv/send or tcgetpgrp/tcsetpgrp trying
...
to handle EINTR. We now use SA_RESTART with signals so this is not
needed and is potentially dangerous if it is possible to receive
SIGTTIN or SIGTTOU (which it currently is not).
2017-11-30 09:53:21 -07:00
Todd C. Miller
84af812b8c
If /dev/tty is not available and no I/O logging plugins are configured,
...
fall back on exec_nopty() even if the policy plugin requested a pty.
We never allocate a pty when sudo is not run from a terminal anyway.
2017-09-07 11:32:30 -06:00
Todd C. Miller
c3d098254d
Don't forward SIGINFO to the child when it is send by the kernel
...
(not another user process). This is consistent with the handling
of other keyboard-generated signals such as SIGINT, SIGQUIT and
SIGTSTP. Bug #796
2017-08-29 08:58:14 -06:00
Todd C. Miller
7f8765d327
If we free the default base in sudo_ev_base_free(), reset the default
...
base to NULL.
2017-07-14 10:09:58 -06:00
Todd C. Miller
d2a0bfbb12
Add the ability to set a default event base, to be used by plugins
...
which don't have access to the event base.
2017-07-13 13:59:31 -06:00
Todd C. Miller
f5b60ef749
Add debug warning when we have wait status but don't overwrite the
...
existing cstat.
2017-06-15 07:51:02 -06:00
Todd C. Miller
ad8c1ae07a
To avoid overwriting existing command status, check for CMD_INVALID
...
instead of CMD_ERRNO or CMD_WSTATUS.
2017-05-18 13:53:15 -06:00
Todd C. Miller
d979898e71
Remove use of non-standard sigaction_t
2017-05-12 10:02:18 -06:00
Todd C. Miller
1186f39842
Use SUDO_EV_SIGNAL and SUDO_EV_SIGINFO instead of managing the
...
signal_pipe explicitly.
2017-05-12 10:02:17 -06:00
Todd C. Miller
c60259bd63
rewrite errpipe callbacks
2017-04-20 16:12:53 -06:00
Todd C. Miller
c2176c32a7
use pipe2() with O_CLOEXEC instead of pipe() + fcntl() and FD_CLOEXEC
2017-04-20 15:10:57 -06:00
Todd C. Miller
867fd16343
Move SIGCHLD handling into handle_sigchld() functions and move the
...
remaining bits of dispatch_signal() into signal_pipe_cb()
2017-03-09 08:36:40 -07:00
Todd C. Miller
af1482f487
Add tcsetpgrp_nobg() which acts like tcsetpgrp() but returns -1
...
for a background process. This is safer than blocking SIGTTOU
which would cause tcsetpgrp() to succeed in the background.
2017-03-07 12:29:21 -07:00
Todd C. Miller
2f074d33ab
Prevent sudo from receiving SIGTTOU when it tries to restore the
...
controlling terminal. There appears to be a race with the shell
(bash) which we may lose.
2017-03-06 13:05:17 -07:00
Todd C. Miller
6dba84dca9
Reorganize the command execution code to separate out the pty and
...
non-pty code paths into their own event loops. The non-pty exec
code is now contained in exec_nopty.c and the pty exec code is split
between exec_pty.c (parent process) and exec_monitor.c (session leader).
This results in a small bit of duplicated code but improves readability.
Some of the duplicated code will fall out in future changes to the
event subsystem (the signal pipe).
2017-03-03 10:35:11 -07:00