main
sudo_auth_init: Fix setting FLAG_ONEANDONLY if only one auth method enabled
Updated translations from translationproject.org
Sudoedit arguments must be file names starting with '/' or a regex.
find_path: collapse extra "/" and "./" components in the command path
Remove Open Source PVS-Studio comments
log_server_exit: log_server_close() expects the raw wait status
Parse euid and egid from sudo front-end.
Remove restrict noise
Use #include <foo.h> instead of #include "foo.h" in most cases.
Move base64 functions to libsudo_util
In C23 the constness of string function returns depends on the first arg
cvtsudoers_make_gritem: fix off-by-one in gr_mem allocation
Format T_TIMESPEC as "%d.%d" instead of "%.1f"
Add pam_silent sudoers option. Inspired by PR #368 GitHub issue #216
valid_path: clarify CWD error message with respect to '*' usage
Sprinkle some more const in defaults.c.
display_privs: Don't line wrap if output is not a tty
wordsplit: Fix handling of multiple backslashes before end quote
Add GIT_CONFIG_* to initial_badenv_table[]
Prefer fputs over fprintf where possible
The "ALL" command should not override a previous NOSETENV tag in a rule.
Deprecate chroot support
Call gettext() on insults when displayed, not when declared.
Add SPDX-License-Identifier to files.
Use O_NOFOLLOW in places where we don't expect a symlink.
Move strlcpy_no_slash() to libsudo_iolog to sudo_logsrvd can use it.
sudo_ldap_build_pass2: incorporate the negative filter from pass1
Do not log LDAP bindpw or tls_keypw to debug log.
Negated sudoRole entries do not support white space after the '!'
Add missing const to linux_audit_command()'s argv function argument.
verify_peer_identity: Check for missing application specific data.
Pass explicit reason to fmt_alert_message() and fmt_reject_message()
vlog_warning: plug a memory leak
Embed struct eventlog into struct log_details instead of using a pointer.
plugins/sudoers/lookup.c: fix NOTBEFORE to be able to deny
Restore last match logic in runas user/group list maching
command_matches_glob: Do not allow glob characters in chroot dir
Fix compatibility with older versions of (new) awk.
ldif_parse_attribute: fix memory leak introduced in new error path
sudoers_policy_store_result: Fix potential NULL pointer deref
Typographical and Grammatical fixes
Make struct sudoers_context private to sudoers.c.
sudo_sss_check_user: Fix evaluation of negative entries in sudoUser
Give every printf-like function restrict qualifiers
Store policy paths in struct sudoers_context.
sudoedit: perform relative file name expansion before policy check
Export sudoers_audit symbol for compilers without symbol visibility.
Replace tab with space
Bump SUDOERS_GRAMMAR_VERSION to 50 for the new list pseudo-command.
timestamp_remove: remove all matches regardless of timestamp_type
Use the user-ID instead of user-name for the timestamp and lecture file.
Honor ignore_perms plugin argument for @include and @includedir.
add restrict to a few more places
Add testsudoers_setshellfile() and use it in testsudoers.
visudo: fix displaying info about skipped includedir files