Todd C. Miller
056173e572
Parse I/O JSON info file in JSON if present.
...
The JSON version includes more information than the original "log"
file in the I/O log dir.
2020-03-29 05:05:08 -06:00
Todd C. Miller
ea9b711a70
Write an extended I/O info log in JSON format.
...
This will be used by sudoreplay if it exists to get more information
about the command being replayed.
2020-03-29 05:05:08 -06:00
Todd C. Miller
a644c1d1d2
iolog_parse_loginfo() now opens the log file itself.
2020-03-29 05:05:08 -06:00
Todd C. Miller
ac61b5655d
Use EXIT_SUCCESS and EXIT_FAILURE more consistently.
2020-02-08 12:43:00 -07:00
Todd C. Miller
486ee2b71f
debug_decl and debug_decl_vars now require a semicolon at the end.
2019-12-22 08:48:16 -07:00
Todd C. Miller
bf3b93f080
Use sudo_ev_pending() instead of the deprecated sudo_ev_timeleft().
2019-12-07 08:42:09 -07:00
Todd C. Miller
56c21243d7
Add iolog_ prefix to exported functions in iolog_util.c
2019-10-24 20:04:33 -06:00
Todd C. Miller
b58ecb7e6d
Move read_timing_record() into libsudo_iolog
2019-10-24 20:04:32 -06:00
Todd C. Miller
282263c113
Use openat(2) when opening files in the I/O log directory.
2019-10-24 20:04:31 -06:00
Todd C. Miller
059b55ce72
Refactor code in sudoers that creates I/O log files to share with logsrvd.
2019-10-24 20:04:31 -06:00
Todd C. Miller
4dacf81082
Refactor I/O log code so it can be shared between sudoers and logsrvd
2019-10-24 20:04:29 -06:00
Todd C. Miller
9eeedb470f
If the sudoreplay ID option is a fully-qualified path, use it directly.
...
Previously, one had to use the -d option to override the I/O log directory.
2019-08-27 13:40:38 -06:00
Todd C. Miller
2087f6354c
Use fputs(), not printf() for plain strings.
2019-08-20 12:43:40 -06:00
Todd C. Miller
9d8f374397
Add ssizeof macro that returns ssize_t.
...
We can use this instead of casting the result of size_t to int.
Also change checks for snprintf() returning <=0 to <0.
2019-06-25 09:45:10 -06:00
Todd C. Miller
1e1ef61902
Add SPDX-License-Identifier to files.
2019-04-29 07:21:51 -06:00
Todd C. Miller
985600e7f0
Minor snprintf() usage tweaks:
...
1) don't assume snprintf() returns -1 on error, check for <0
2) when comparing return value of sizeof(foo), cast the sizeof, not the len
3) cast return value to void in cases where snprintf cannot fail
2019-01-20 07:49:48 -07:00
Todd C. Miller
72050203bc
Add -n and -R options to help; reported by Radovan Sroka
2018-12-11 09:17:15 -07:00
Todd C. Miller
6c3d20cb41
Convert PVS-Studio comment to ANSI C.
2018-10-26 08:39:09 -06:00
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
a71eb86a71
Add new -S option to sleep while the command was suspended.
...
The default behavior is now to not consider the time the command
was suspended as part of the normal inter-event delay.
2018-10-05 14:48:35 -06:00
Todd C. Miller
cf07dc0757
Add a suspend event type to the I/O log to log suspend/resume of
...
the command so we can skip that delay during replay.
2018-10-05 14:16:08 -06:00
Todd C. Miller
e318f27fba
When parsing an I/O log timing line, store the result in a timespec,
...
not a double. The speed factor (for scaling the delay) in sudoreplay
is still a double but we only need to adjust the delay if the factor
is something other than 1.0.
2018-08-29 09:57:12 -06:00
Todd C. Miller
04d1f56d90
Use struct timespec, not struct timeval in the event subsystem.
...
Use ppoll() or pselect() if avaialble which use timespec.
2018-08-25 21:02:05 -06:00
Todd C. Miller
aaad554cda
Add regress test for I/O log plugin endpoints
2018-08-23 15:35:02 -06:00
Todd C. Miller
1cb5ab8b9c
Make "sudoreplay -m 0" skip the pauses entirely.
2018-03-08 07:53:29 -07: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
a885b952fb
Remove use of AC_HEADER_TIME, only obsolete platforms actually
...
need this. Also stop removing sys/time.h unless the source file
uses struct timeval.
2018-01-17 09:52:15 -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
01587b1b14
Add missing carriage return before prompt when replay is done.
2017-12-02 21:32:24 -07:00
Todd C. Miller
e100259619
Fix replaying sessions that contain input logs. When the inter-record
...
timeout expires we need to read the next record if there is nothing
to output.
2017-09-01 09:00:17 -06:00
Todd C. Miller
5ab1d724a9
fix playback of stdout/stderr without embedded carriage returns
2017-07-31 10:44:39 -06:00
Todd C. Miller
4b51622914
Quiet a coverity false positive.
2017-07-27 11:36:10 -06:00
Todd C. Miller
2d30c42a03
Change to a single event loop in sudoreplay and use signal events.
2017-07-27 09:45:35 -06:00
Todd C. Miller
1918ec4a55
When reading a single character via a switch() use "default: instead
...
of "case 1:" to quiet a coverity warning.
2017-07-17 14:44:18 -06:00
Todd C. Miller
6509482bfd
Initialize ch in getsize_cb() in case we are called with the wrong
...
initial state.
2017-07-17 14:13:08 -06:00
Todd C. Miller
58858513f0
remove unused variable
2017-07-17 14:09:48 -06:00
Todd C. Miller
28fe335017
don't restore the cursor when setting terminal size, we don't want the cursor to move
2017-07-14 14:30:43 -06:00
Todd C. Miller
dbddf1bc36
Read the xterm terminal size using an event so we can easily time
...
out if needed.
2017-07-14 10:10:00 -06:00
Todd C. Miller
9a76678317
Allow sudoreplay to adjust the window size on xterm-like terminals.
2017-07-13 11:20:45 -06:00
Todd C. Miller
f79a236533
Log window size change events in the sudoers I/O plugin.
...
Let sudoreplay parse a timing file with window change events
(currently ignored).
2017-07-12 05:47:28 -06:00
Todd C. Miller
d979898e71
Remove use of non-standard sigaction_t
2017-05-12 10:02:18 -06:00
Todd C. Miller
e453c97976
Restore the error message for sudo_ev_add() failure.
2017-05-12 10:02:17 -06:00
Todd C. Miller
0244f931dd
Only display string version of errno if sudo_ev_add() fails for now
2017-05-10 09:22:07 -06:00
Todd C. Miller
4e67ac56bd
In check_input() when switch()ing on the return value of read(),
...
use the default label instead of 1 for the success case. It is
only reading a single byte so the two are equivalent but it reads
better using default.
2017-05-04 12:25:51 -06:00
Todd C. Miller
1a047b156d
Check sudo_ev_add() return value. Coverity CID 168362
2017-05-04 11:10:42 -06:00
Todd C. Miller
cb1f044017
Allow stdin and ttyin to be displayed too. The only one that is
...
really useful in sudoreplay is stdin when input is from a pipe.
2016-11-30 13:38:01 -07:00
Todd C. Miller
1aea3f6e3e
Just use malloc_options "S" on OpenBSD instead of "AFGJPR".
2016-11-25 09:04:00 -07:00
Todd C. Miller
9b886f6b2c
The flush parameter of sudo_term_restore() is bool, not int.
2016-10-17 08:57:17 -06:00
Todd C. Miller
3f022419ae
Be consistent with the naming of the variable used to store the
...
function return value. Previously, some code used "rval", some
used "ret". This standardizes on "ret" and uses "rc" for temporary
return codes.
2016-09-08 16:38:08 -06:00