Todd C. Miller
7e20e4b80f
Apply multiarch rules when loading plugins too.
2022-10-06 12:46:38 -06:00
Todd C. Miller
0b506a2d07
sudo_dso_load: try multi-arch on Linux if we can't load the path.
...
For example, if loading /usr/lib/libsss_sudo.so fails, try again
with /usr/lib/x86_64-linux-gnu/libsss_sudo.so.
2022-10-05 15:26:14 -06:00
Todd C. Miller
b37bf44cdd
Add test for sudo open_parent_dir()
2022-10-05 12:36:14 -06:00
Todd C. Miller
2e2dd48bef
Add test for matching a literal "" command line argument as "" in sudoers.
...
GitHub issue #182 .
2022-10-05 10:10:31 -06:00
Todd C. Miller
fa952bfbb7
Add -I flag to disable editing include files unless there is an error.
...
This can be used when you only want to edit a single sudoers file
unless there is a pre-existing syntax error.
2022-10-04 16:11:45 -06:00
Todd C. Miller
575200e734
Do not match a literal "" command line argument as "" in sudoers.
...
If the empty string is specified in sudoers, no user args are allowed.
GitHub issue #182 .
2022-10-04 13:37:32 -06:00
Todd C. Miller
3940020c94
sudo_secure_open_{file,dir}: always check thatreturn value is not -1.
...
Avoids false positives from static analyzers that can't figure out
that the fd is always valid when error is SUDO_PATH_SECURE.
2022-10-04 09:33:44 -06:00
Todd C. Miller
59765dd360
Correct return value when mkdtempat() fails.
2022-10-04 09:01:44 -06:00
Todd C. Miller
719b7f933f
sudo_open_parent_dir: stop before creating the last path component
...
Fix a regression introduced in sudo 1.9.9 where the entire directory
path was created instead of just the parent directory.
2022-10-04 08:51:36 -06:00
Todd C. Miller
371b974e07
Use "hg log --template" instead of "hg log --style".
2022-10-01 16:59:07 -06:00
Todd C. Miller
afaeb0ed57
Mark code that escapes/unescapes "sudo -s cmd args..." for removal.
...
A future version of the plugin API will defer any such escaping
to the policy plugin so it can be configurable.
2022-09-29 13:43:20 -06:00
Todd C. Miller
63efad271a
Update with recent changes.
2022-09-29 11:16:21 -06:00
Todd C. Miller
6cd99d0b71
Improve the description of JSON output.
2022-09-29 10:52:32 -06:00
Todd C. Miller
d2a13a8154
Fix typos found by codespell 2.2.1.
2022-09-28 16:39:19 -06:00
Todd C. Miller
166e0e13bc
Change max user-ID and group-ID from INT_MAX to UINT_MAX.
2022-09-28 09:06:32 -06:00
Todd C. Miller
865d3cd0bb
Add support for NumberList stored in an InfoMessage.
2022-09-28 09:05:29 -06:00
Todd C. Miller
e6f2ad0ed6
Add missing NULL checks for mandatory fields in protobuf messages.
...
Also no longer reject an InfoMessage with an unknown value_case,
just log and ignore it.
2022-09-28 08:47:25 -06:00
Todd C. Miller
9150423676
Don't send ttyname to log server if it is NULL.
...
Otherwise the log server will reject the AcceptMessage because a
NULL string is not allowed.
2022-09-27 15:30:02 -06:00
Todd C. Miller
cf95f8d5ae
HP-UX has struct winsize in termios.h.
2022-09-27 14:57:56 -06:00
Todd C. Miller
f360a8006c
Regen dependencies
2022-09-27 14:16:03 -06:00
Todd C. Miller
87b7209ebb
Add support for logging stdin/stdout/stderr in the non-pty exec path.
...
If we are logging I/O but not terminal input/output (either because
no terminal is present or because that is what the plugin requested),
the non-pty exec path is now taken.
2022-09-27 13:46:55 -06:00
Todd C. Miller
803b4939be
Move exec code to call into I/O log plugin to exec_iolog.c.
...
This will be shared with exec_nopty.c in the future to log
stdin/stdout/stderr without running the command in a pty.
Both exec_pty.c and exec_nopty.c now use the same closure.
2022-09-27 13:35:45 -06:00
Todd C. Miller
3ca9220e50
Implement find_spec, not the deprecated find_module.
...
Fixes a test failure due to find_module having removed from setuptools.
2022-09-27 09:03:33 -06:00
Todd C. Miller
e66f34d250
copy_arg: fix copying an escaped backslash
...
GitHub issue #179
2022-09-23 12:30:51 -06:00
Todd C. Miller
d37710b0f6
Use mkdtempat_np() and mkostempsat_np() on macOS
2022-09-22 11:34:00 -06:00
Todd C. Miller
9d654482b2
Convert remaining uses of sudo_mkdir_parents() to sudo_open_parent_dir().
2022-09-21 19:08:15 -06:00
Todd C. Miller
376d18b5da
Add fchownat() systems without it.
2022-09-21 19:08:12 -06:00
Todd C. Miller
86c108b50b
Add mkdtempat() and mkostempsat() for systems without them.
2022-09-21 19:08:11 -06:00
Todd C. Miller
88ac5e09b6
Use sudo_secure_open_file() instead of sudo_secure_file() where possible.
...
Both sudo_secure_open_file() and sudo_secure_open_dir() are now passed
a struct stat pointer like sudo_secure_file() and sudo_secure_dir().
2022-09-21 19:08:10 -06:00
Todd C. Miller
cbd52e705c
Fix potential TOCTOU when creating time stamp directory and file.
2022-09-21 19:08:09 -06:00
Todd C. Miller
8c482bfeb2
sudo_mkdir_parents: just use memcpy() to copy the path component.
...
Using snprintf() for this is overkill, we need to do the same
length check either way.
2022-09-21 19:06:53 -06:00
Todd C. Miller
e916201448
regen
2022-09-21 11:29:38 -06:00
Todd C. Miller
c823ca1e45
Quiet libgcrypt run-time warning about not being initialized.
...
Fixes Debian bug #1019428 and Ubuntu bug #1397663 .
2022-09-20 16:13:31 -06:00
Todd C. Miller
ce387a6849
Split log_{input,output} into log_{stdin,ttyin} and log_{ttyout,stdout,stderr}
...
If log_input is set, log_{stdin,ttyin} will be set as well.
If log_output is set, log_{stdout,stderr,ttyout} will be set as well.
This provides more fine-grained control over I/O logging and makes it
possible to disable logging piped or redirected intput or output.
2022-09-20 14:35:12 -06:00
Todd C. Miller
4ee0caf07d
Update to protobuf-c 1.4.1
...
We already had all the relevant fixes so this is just cosmetic.
2022-09-20 11:27:40 -06:00
Todd C. Miller
7464b300d9
new_container: no need to initialize container pointer in declaration.
...
From Li zeming.
2022-09-20 10:18:09 -06:00
Todd C. Miller
4989856321
Use tcpgid if passed from sudo front-end and use it in tty_present().
...
This can be used as another indicator that a terminal is present
without having to open /dev/tty.
2022-09-15 16:34:49 -06:00
Todd C. Miller
304726a215
Move gcc-style __attribute__ macros to config.h.in
...
Renamed __malloc -> sudo_malloclike, __printflike -> sudo_printflike,
__printf0like -> sudo_printf0like.
Add sudo_noreturn instead of __attribute__((__noreturn__)).
We do not use stdnoreturn.h since it has been deprecated in C23
in favor of the [[noreturn]] attribute.
2022-09-07 07:48:31 -06:00
Todd C. Miller
c341608072
Remove most uses of the deprecated Li macro which has no effect.
...
Also fix some other incorrect markup.
2022-09-13 19:56:45 -06:00
Todd C. Miller
a326411903
Use $(GREP) and $(EGREP) variables in Makefile.in files.
2022-09-12 16:30:52 -06:00
Todd C. Miller
f235390d1e
Merge pull request #177 from a1346054/fixes
...
Makefile.in: replace `egrep` and fix target name
2022-09-12 16:18:50 -06:00
a1346054
5c1c276e28
Fix incorrect makefile target name
2022-09-12 21:54:53 +00:00
a1346054
6fac1f5186
Use grep -E
instead of egrep
2022-09-12 21:52:32 +00:00
Todd C. Miller
3194d16674
Document apparmor_profile, intercept_verify, and update_ticket.
2022-09-11 19:06:26 -06:00
Todd C. Miller
5bcec02442
Fix some of the markup to be more consistent with sudo_plugin.mdoc.in.
...
Also reword a few awkward phrases.
2022-09-11 19:06:25 -06:00
Todd C. Miller
a7b200d014
Use correct markup of function arguments and struct members.
...
Also remove most uses of the deprecated Li macro which has no effect.
2022-09-11 19:06:24 -06:00
Todd C. Miller
3f6ffead0b
Move the init_session() errstr description to where it belongs.
2022-09-11 19:06:23 -06:00
Todd C. Miller
b85f95cb30
Fix a typo
2022-09-11 19:06:22 -06:00
Todd C. Miller
d6c7abd42e
log_parse_error: make errstr const to quiet a -Wwrite-strings warning
2022-09-07 14:45:47 -06:00
Todd C. Miller
89a40741b4
Add __printf0like to visudo_track_error().
2022-09-07 07:25:31 -06:00