diff --git a/backport-CVE-2025-32463.patch b/backport-CVE-2025-32463.patch new file mode 100644 index 0000000000000000000000000000000000000000..292f3dc11f4dadcef3f13652fb69f313da50611e --- /dev/null +++ b/backport-CVE-2025-32463.patch @@ -0,0 +1,3331 @@ +From 1d0ca03ccfef2945b30783802ae289f0a8f434ca Mon Sep 17 00:00:00 2001 +From: "Todd C. Miller" +Date: Sun, 6 Apr 2025 08:28:46 -0600 +Subject: [PATCH] Revert pivot_root and go back to prepending the new root + directory. + +We cannot perform passwd/group lookups _after_ changing the root +directory. This does mean that symbolic links in a path are not +currently handled properly when matching chroot()ed commands. + +Fixes a local privilege escalation vulnerability where a user could +craft their own nsswitch.conf file to load a shared library of their +choosing and run arbitrary code. CVE-2025-32463 + +Reported by Rich Mirch @ Stratascale Cyber Research Unit (CRU). + +Signed-off-by: xuce +--- + MANIFEST | 2 - + plugins/sudoers/Makefile.in | 712 ++++++++---------- + plugins/sudoers/editor.c | 2 +- + plugins/sudoers/find_path.c | 20 +- + plugins/sudoers/goodpath.c | 17 +- + plugins/sudoers/match_command.c | 209 ++--- + plugins/sudoers/match_digest.c | 14 +- + plugins/sudoers/parse.h | 2 +- + plugins/sudoers/pivot.c | 87 --- + plugins/sudoers/pivot.h | 32 - + plugins/sudoers/regress/editor/check_editor.c | 3 +- + plugins/sudoers/regress/fuzz/fuzz_policy.c | 7 +- + plugins/sudoers/regress/fuzz/fuzz_stubs.c | 12 - + plugins/sudoers/resolve_cmnd.c | 6 +- + plugins/sudoers/stubs.c | 14 - + plugins/sudoers/sudoers.c | 15 +- + plugins/sudoers/sudoers.h | 8 +- + plugins/sudoers/testsudoers.c | 12 - + 18 files changed, 510 insertions(+), 664 deletions(-) + delete mode 100644 plugins/sudoers/pivot.c + delete mode 100644 plugins/sudoers/pivot.h + +diff --git a/MANIFEST b/MANIFEST +index a3f8ffb..45b1aa9 100644 +--- a/MANIFEST ++++ b/MANIFEST +@@ -685,8 +685,6 @@ plugins/sudoers/mkdefaults + plugins/sudoers/parse.h + plugins/sudoers/parse_ldif.c + plugins/sudoers/parser_warnx.c +-plugins/sudoers/pivot.c +-plugins/sudoers/pivot.h + plugins/sudoers/po/README + plugins/sudoers/po/ast.mo + plugins/sudoers/po/ast.po +diff --git a/plugins/sudoers/Makefile.in b/plugins/sudoers/Makefile.in +index 71218db..be04bb5 100644 +--- a/plugins/sudoers/Makefile.in ++++ b/plugins/sudoers/Makefile.in +@@ -188,11 +188,11 @@ SUDOERS_OBJS = $(AUTH_OBJS) audit.lo boottime.lo check.lo check_util.lo \ + display.lo editor.lo env.lo sudoers_hooks.lo env_pattern.lo \ + file.lo find_path.lo fmtsudoers.lo gc.lo goodpath.lo \ + group_plugin.lo interfaces.lo iolog.lo iolog_path_escapes.lo \ +- locale.lo log_client.lo logging.lo lookup.lo pivot.lo \ +- policy.lo prompt.lo serialize_list.lo set_perms.lo \ +- sethost.lo starttime.lo strlcpy_unesc.lo strvec_join.lo \ +- sudo_nss.lo sudoers.lo sudoers_cb.lo sudoers_ctx_free.lo \ +- timestamp.lo unesc_str.lo @SUDOERS_OBJS@ ++ locale.lo log_client.lo logging.lo lookup.lo policy.lo \ ++ prompt.lo serialize_list.lo set_perms.lo sethost.lo \ ++ starttime.lo strlcpy_unesc.lo strvec_join.lo sudo_nss.lo \ ++ sudoers.lo sudoers_cb.lo sudoers_ctx_free.lo timestamp.lo \ ++ unesc_str.lo @SUDOERS_OBJS@ + + SUDOERS_IOBJS = $(SUDOERS_OBJS:.lo=.i) + +@@ -726,9 +726,9 @@ afs.lo: $(authdir)/afs.c $(authdir)/sudo_auth.h $(devdir)/def_data.h \ + $(incdir)/sudo_fatal.h $(incdir)/sudo_gettext.h \ + $(incdir)/sudo_plugin.h $(incdir)/sudo_queue.h $(incdir)/sudo_util.h \ + $(srcdir)/defaults.h $(srcdir)/logging.h $(srcdir)/parse.h \ +- $(srcdir)/pivot.h $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h \ +- $(srcdir)/sudoers_debug.h $(srcdir)/timestamp.h \ +- $(top_builddir)/config.h $(top_builddir)/pathnames.h ++ $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h $(srcdir)/sudoers_debug.h \ ++ $(srcdir)/timestamp.h $(top_builddir)/config.h \ ++ $(top_builddir)/pathnames.h + $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(authdir)/afs.c + afs.i: $(authdir)/afs.c $(authdir)/sudo_auth.h $(devdir)/def_data.h \ + $(incdir)/compat/stdbool.h $(incdir)/sudo_compat.h \ +@@ -736,7 +736,7 @@ afs.i: $(authdir)/afs.c $(authdir)/sudo_auth.h $(devdir)/def_data.h \ + $(incdir)/sudo_fatal.h $(incdir)/sudo_gettext.h \ + $(incdir)/sudo_plugin.h $(incdir)/sudo_queue.h $(incdir)/sudo_util.h \ + $(srcdir)/defaults.h $(srcdir)/logging.h $(srcdir)/parse.h \ +- $(srcdir)/pivot.h $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h \ ++ $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h \ + $(srcdir)/sudoers_debug.h $(srcdir)/timestamp.h \ + $(top_builddir)/config.h $(top_builddir)/pathnames.h + $(CC) -E -o $@ $(CPPFLAGS) $< +@@ -748,10 +748,9 @@ aix_auth.lo: $(authdir)/aix_auth.c $(authdir)/sudo_auth.h $(devdir)/def_data.h \ + $(incdir)/sudo_eventlog.h $(incdir)/sudo_fatal.h \ + $(incdir)/sudo_gettext.h $(incdir)/sudo_plugin.h \ + $(incdir)/sudo_queue.h $(incdir)/sudo_util.h $(srcdir)/defaults.h \ +- $(srcdir)/logging.h $(srcdir)/parse.h $(srcdir)/pivot.h \ +- $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h \ +- $(srcdir)/sudoers_debug.h $(top_builddir)/config.h \ +- $(top_builddir)/pathnames.h ++ $(srcdir)/logging.h $(srcdir)/parse.h $(srcdir)/sudo_nss.h \ ++ $(srcdir)/sudoers.h $(srcdir)/sudoers_debug.h \ ++ $(top_builddir)/config.h $(top_builddir)/pathnames.h + $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(authdir)/aix_auth.c + aix_auth.i: $(authdir)/aix_auth.c $(authdir)/sudo_auth.h $(devdir)/def_data.h \ + $(incdir)/compat/stdbool.h $(incdir)/sudo_compat.h \ +@@ -759,7 +758,7 @@ aix_auth.i: $(authdir)/aix_auth.c $(authdir)/sudo_auth.h $(devdir)/def_data.h \ + $(incdir)/sudo_eventlog.h $(incdir)/sudo_fatal.h \ + $(incdir)/sudo_gettext.h $(incdir)/sudo_plugin.h \ + $(incdir)/sudo_queue.h $(incdir)/sudo_util.h $(srcdir)/defaults.h \ +- $(srcdir)/logging.h $(srcdir)/parse.h $(srcdir)/pivot.h \ ++ $(srcdir)/logging.h $(srcdir)/parse.h \ + $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h \ + $(srcdir)/sudoers_debug.h $(top_builddir)/config.h \ + $(top_builddir)/pathnames.h +@@ -772,10 +771,9 @@ alias.lo: $(srcdir)/alias.c $(devdir)/def_data.h $(devdir)/gram.h \ + $(incdir)/sudo_eventlog.h $(incdir)/sudo_fatal.h \ + $(incdir)/sudo_gettext.h $(incdir)/sudo_plugin.h \ + $(incdir)/sudo_queue.h $(incdir)/sudo_util.h $(srcdir)/defaults.h \ +- $(srcdir)/logging.h $(srcdir)/parse.h $(srcdir)/pivot.h \ +- $(srcdir)/redblack.h $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h \ +- $(srcdir)/sudoers_debug.h $(top_builddir)/config.h \ +- $(top_builddir)/pathnames.h ++ $(srcdir)/logging.h $(srcdir)/parse.h $(srcdir)/redblack.h \ ++ $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h $(srcdir)/sudoers_debug.h \ ++ $(top_builddir)/config.h $(top_builddir)/pathnames.h + $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/alias.c + alias.i: $(srcdir)/alias.c $(devdir)/def_data.h $(devdir)/gram.h \ + $(incdir)/compat/stdbool.h $(incdir)/sudo_compat.h \ +@@ -783,7 +781,7 @@ alias.i: $(srcdir)/alias.c $(devdir)/def_data.h $(devdir)/gram.h \ + $(incdir)/sudo_eventlog.h $(incdir)/sudo_fatal.h \ + $(incdir)/sudo_gettext.h $(incdir)/sudo_plugin.h \ + $(incdir)/sudo_queue.h $(incdir)/sudo_util.h $(srcdir)/defaults.h \ +- $(srcdir)/logging.h $(srcdir)/parse.h $(srcdir)/pivot.h \ ++ $(srcdir)/logging.h $(srcdir)/parse.h \ + $(srcdir)/redblack.h $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h \ + $(srcdir)/sudoers_debug.h $(top_builddir)/config.h \ + $(top_builddir)/pathnames.h +@@ -798,8 +796,8 @@ audit.lo: $(srcdir)/audit.c $(devdir)/def_data.h $(incdir)/compat/stdbool.h \ + $(incdir)/sudo_queue.h $(incdir)/sudo_ssl_compat.h \ + $(incdir)/sudo_util.h $(srcdir)/bsm_audit.h $(srcdir)/defaults.h \ + $(srcdir)/linux_audit.h $(srcdir)/log_client.h $(srcdir)/logging.h \ +- $(srcdir)/parse.h $(srcdir)/pivot.h $(srcdir)/solaris_audit.h \ +- $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h $(srcdir)/sudoers_debug.h \ ++ $(srcdir)/parse.h $(srcdir)/solaris_audit.h $(srcdir)/sudo_nss.h \ ++ $(srcdir)/sudoers.h $(srcdir)/sudoers_debug.h \ + $(top_builddir)/config.h $(top_builddir)/pathnames.h + $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/audit.c + audit.i: $(srcdir)/audit.c $(devdir)/def_data.h $(incdir)/compat/stdbool.h \ +@@ -810,7 +808,7 @@ audit.i: $(srcdir)/audit.c $(devdir)/def_data.h $(incdir)/compat/stdbool.h \ + $(incdir)/sudo_queue.h $(incdir)/sudo_ssl_compat.h \ + $(incdir)/sudo_util.h $(srcdir)/bsm_audit.h $(srcdir)/defaults.h \ + $(srcdir)/linux_audit.h $(srcdir)/log_client.h $(srcdir)/logging.h \ +- $(srcdir)/parse.h $(srcdir)/pivot.h $(srcdir)/solaris_audit.h \ ++ $(srcdir)/parse.h $(srcdir)/solaris_audit.h \ + $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h $(srcdir)/sudoers_debug.h \ + $(top_builddir)/config.h $(top_builddir)/pathnames.h + $(CC) -E -o $@ $(CPPFLAGS) $< +@@ -823,7 +821,7 @@ b64_decode.lo: $(srcdir)/b64_decode.c $(devdir)/def_data.h \ + $(incdir)/sudo_gettext.h $(incdir)/sudo_plugin.h \ + $(incdir)/sudo_queue.h $(incdir)/sudo_util.h \ + $(srcdir)/defaults.h $(srcdir)/logging.h $(srcdir)/parse.h \ +- $(srcdir)/pivot.h $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h \ ++ $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h \ + $(srcdir)/sudoers_debug.h $(top_builddir)/config.h \ + $(top_builddir)/pathnames.h + $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/b64_decode.c +@@ -834,7 +832,7 @@ b64_decode.i: $(srcdir)/b64_decode.c $(devdir)/def_data.h \ + $(incdir)/sudo_gettext.h $(incdir)/sudo_plugin.h \ + $(incdir)/sudo_queue.h $(incdir)/sudo_util.h \ + $(srcdir)/defaults.h $(srcdir)/logging.h $(srcdir)/parse.h \ +- $(srcdir)/pivot.h $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h \ ++ $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h \ + $(srcdir)/sudoers_debug.h $(top_builddir)/config.h \ + $(top_builddir)/pathnames.h + $(CC) -E -o $@ $(CPPFLAGS) $< +@@ -847,7 +845,7 @@ b64_encode.o: $(srcdir)/b64_encode.c $(devdir)/def_data.h \ + $(incdir)/sudo_gettext.h $(incdir)/sudo_plugin.h \ + $(incdir)/sudo_queue.h $(incdir)/sudo_util.h \ + $(srcdir)/defaults.h $(srcdir)/logging.h $(srcdir)/parse.h \ +- $(srcdir)/pivot.h $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h \ ++ $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h \ + $(srcdir)/sudoers_debug.h $(top_builddir)/config.h \ + $(top_builddir)/pathnames.h + $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/b64_encode.c +@@ -858,7 +856,7 @@ b64_encode.i: $(srcdir)/b64_encode.c $(devdir)/def_data.h \ + $(incdir)/sudo_gettext.h $(incdir)/sudo_plugin.h \ + $(incdir)/sudo_queue.h $(incdir)/sudo_util.h \ + $(srcdir)/defaults.h $(srcdir)/logging.h $(srcdir)/parse.h \ +- $(srcdir)/pivot.h $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h \ ++ $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h \ + $(srcdir)/sudoers_debug.h $(top_builddir)/config.h \ + $(top_builddir)/pathnames.h + $(CC) -E -o $@ $(CPPFLAGS) $< +@@ -870,10 +868,9 @@ boottime.lo: $(srcdir)/boottime.c $(devdir)/def_data.h \ + $(incdir)/sudo_eventlog.h $(incdir)/sudo_fatal.h \ + $(incdir)/sudo_gettext.h $(incdir)/sudo_plugin.h \ + $(incdir)/sudo_queue.h $(incdir)/sudo_util.h $(srcdir)/defaults.h \ +- $(srcdir)/logging.h $(srcdir)/parse.h $(srcdir)/pivot.h \ +- $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h \ +- $(srcdir)/sudoers_debug.h $(top_builddir)/config.h \ +- $(top_builddir)/pathnames.h ++ $(srcdir)/logging.h $(srcdir)/parse.h $(srcdir)/sudo_nss.h \ ++ $(srcdir)/sudoers.h $(srcdir)/sudoers_debug.h \ ++ $(top_builddir)/config.h $(top_builddir)/pathnames.h + $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/boottime.c + boottime.i: $(srcdir)/boottime.c $(devdir)/def_data.h \ + $(incdir)/compat/stdbool.h $(incdir)/sudo_compat.h \ +@@ -881,7 +878,7 @@ boottime.i: $(srcdir)/boottime.c $(devdir)/def_data.h \ + $(incdir)/sudo_eventlog.h $(incdir)/sudo_fatal.h \ + $(incdir)/sudo_gettext.h $(incdir)/sudo_plugin.h \ + $(incdir)/sudo_queue.h $(incdir)/sudo_util.h $(srcdir)/defaults.h \ +- $(srcdir)/logging.h $(srcdir)/parse.h $(srcdir)/pivot.h \ ++ $(srcdir)/logging.h $(srcdir)/parse.h \ + $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h \ + $(srcdir)/sudoers_debug.h $(top_builddir)/config.h \ + $(top_builddir)/pathnames.h +@@ -894,8 +891,8 @@ bsdauth.lo: $(authdir)/bsdauth.c $(authdir)/sudo_auth.h $(devdir)/def_data.h \ + $(incdir)/sudo_eventlog.h $(incdir)/sudo_fatal.h \ + $(incdir)/sudo_gettext.h $(incdir)/sudo_plugin.h \ + $(incdir)/sudo_queue.h $(incdir)/sudo_util.h $(srcdir)/defaults.h \ +- $(srcdir)/logging.h $(srcdir)/parse.h $(srcdir)/pivot.h \ +- $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h $(srcdir)/sudoers_debug.h \ ++ $(srcdir)/logging.h $(srcdir)/parse.h $(srcdir)/sudo_nss.h \ ++ $(srcdir)/sudoers.h $(srcdir)/sudoers_debug.h \ + $(top_builddir)/config.h $(top_builddir)/pathnames.h + $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(authdir)/bsdauth.c + bsdauth.i: $(authdir)/bsdauth.c $(authdir)/sudo_auth.h $(devdir)/def_data.h \ +@@ -904,7 +901,7 @@ bsdauth.i: $(authdir)/bsdauth.c $(authdir)/sudo_auth.h $(devdir)/def_data.h \ + $(incdir)/sudo_eventlog.h $(incdir)/sudo_fatal.h \ + $(incdir)/sudo_gettext.h $(incdir)/sudo_plugin.h \ + $(incdir)/sudo_queue.h $(incdir)/sudo_util.h $(srcdir)/defaults.h \ +- $(srcdir)/logging.h $(srcdir)/parse.h $(srcdir)/pivot.h \ ++ $(srcdir)/logging.h $(srcdir)/parse.h \ + $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h $(srcdir)/sudoers_debug.h \ + $(top_builddir)/config.h $(top_builddir)/pathnames.h + $(CC) -E -o $@ $(CPPFLAGS) $< +@@ -917,9 +914,9 @@ bsm_audit.lo: $(srcdir)/bsm_audit.c $(devdir)/def_data.h \ + $(incdir)/sudo_gettext.h $(incdir)/sudo_plugin.h \ + $(incdir)/sudo_queue.h $(incdir)/sudo_util.h \ + $(srcdir)/bsm_audit.h $(srcdir)/defaults.h $(srcdir)/logging.h \ +- $(srcdir)/parse.h $(srcdir)/pivot.h $(srcdir)/sudo_nss.h \ +- $(srcdir)/sudoers.h $(srcdir)/sudoers_debug.h \ +- $(top_builddir)/config.h $(top_builddir)/pathnames.h ++ $(srcdir)/parse.h $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h \ ++ $(srcdir)/sudoers_debug.h $(top_builddir)/config.h \ ++ $(top_builddir)/pathnames.h + $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/bsm_audit.c + bsm_audit.i: $(srcdir)/bsm_audit.c $(devdir)/def_data.h \ + $(incdir)/compat/stdbool.h $(incdir)/sudo_compat.h \ +@@ -928,7 +925,7 @@ bsm_audit.i: $(srcdir)/bsm_audit.c $(devdir)/def_data.h \ + $(incdir)/sudo_gettext.h $(incdir)/sudo_plugin.h \ + $(incdir)/sudo_queue.h $(incdir)/sudo_util.h \ + $(srcdir)/bsm_audit.h $(srcdir)/defaults.h $(srcdir)/logging.h \ +- $(srcdir)/parse.h $(srcdir)/pivot.h $(srcdir)/sudo_nss.h \ ++ $(srcdir)/parse.h $(srcdir)/sudo_nss.h \ + $(srcdir)/sudoers.h $(srcdir)/sudoers_debug.h \ + $(top_builddir)/config.h $(top_builddir)/pathnames.h + $(CC) -E -o $@ $(CPPFLAGS) $< +@@ -941,9 +938,9 @@ canon_path.lo: $(srcdir)/canon_path.c $(devdir)/def_data.h \ + $(incdir)/sudo_gettext.h $(incdir)/sudo_plugin.h \ + $(incdir)/sudo_queue.h $(incdir)/sudo_util.h \ + $(srcdir)/defaults.h $(srcdir)/logging.h $(srcdir)/parse.h \ +- $(srcdir)/pivot.h $(srcdir)/redblack.h $(srcdir)/sudo_nss.h \ +- $(srcdir)/sudoers.h $(srcdir)/sudoers_debug.h \ +- $(top_builddir)/config.h $(top_builddir)/pathnames.h ++ $(srcdir)/redblack.h $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h \ ++ $(srcdir)/sudoers_debug.h $(top_builddir)/config.h \ ++ $(top_builddir)/pathnames.h + $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/canon_path.c + canon_path.i: $(srcdir)/canon_path.c $(devdir)/def_data.h \ + $(incdir)/compat/stdbool.h $(incdir)/sudo_compat.h \ +@@ -952,7 +949,7 @@ canon_path.i: $(srcdir)/canon_path.c $(devdir)/def_data.h \ + $(incdir)/sudo_gettext.h $(incdir)/sudo_plugin.h \ + $(incdir)/sudo_queue.h $(incdir)/sudo_util.h \ + $(srcdir)/defaults.h $(srcdir)/logging.h $(srcdir)/parse.h \ +- $(srcdir)/pivot.h $(srcdir)/redblack.h $(srcdir)/sudo_nss.h \ ++ $(srcdir)/redblack.h $(srcdir)/sudo_nss.h \ + $(srcdir)/sudoers.h $(srcdir)/sudoers_debug.h \ + $(top_builddir)/config.h $(top_builddir)/pathnames.h + $(CC) -E -o $@ $(CPPFLAGS) $< +@@ -963,7 +960,7 @@ check.lo: $(srcdir)/check.c $(devdir)/def_data.h $(incdir)/compat/stdbool.h \ + $(incdir)/sudo_eventlog.h $(incdir)/sudo_fatal.h \ + $(incdir)/sudo_gettext.h $(incdir)/sudo_plugin.h \ + $(incdir)/sudo_queue.h $(incdir)/sudo_util.h $(srcdir)/defaults.h \ +- $(srcdir)/logging.h $(srcdir)/parse.h $(srcdir)/pivot.h \ ++ $(srcdir)/logging.h $(srcdir)/parse.h \ + $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h $(srcdir)/sudoers_debug.h \ + $(srcdir)/timestamp.h $(top_builddir)/config.h \ + $(top_builddir)/pathnames.h +@@ -973,7 +970,7 @@ check.i: $(srcdir)/check.c $(devdir)/def_data.h $(incdir)/compat/stdbool.h \ + $(incdir)/sudo_eventlog.h $(incdir)/sudo_fatal.h \ + $(incdir)/sudo_gettext.h $(incdir)/sudo_plugin.h \ + $(incdir)/sudo_queue.h $(incdir)/sudo_util.h $(srcdir)/defaults.h \ +- $(srcdir)/logging.h $(srcdir)/parse.h $(srcdir)/pivot.h \ ++ $(srcdir)/logging.h $(srcdir)/parse.h \ + $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h $(srcdir)/sudoers_debug.h \ + $(srcdir)/timestamp.h $(top_builddir)/config.h \ + $(top_builddir)/pathnames.h +@@ -987,9 +984,9 @@ check_addr.o: $(srcdir)/regress/parser/check_addr.c $(devdir)/def_data.h \ + $(incdir)/sudo_gettext.h $(incdir)/sudo_plugin.h \ + $(incdir)/sudo_queue.h $(incdir)/sudo_util.h \ + $(srcdir)/defaults.h $(srcdir)/interfaces.h $(srcdir)/logging.h \ +- $(srcdir)/parse.h $(srcdir)/pivot.h $(srcdir)/sudo_nss.h \ +- $(srcdir)/sudoers.h $(srcdir)/sudoers_debug.h \ +- $(top_builddir)/config.h $(top_builddir)/pathnames.h ++ $(srcdir)/parse.h $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h \ ++ $(srcdir)/sudoers_debug.h $(top_builddir)/config.h \ ++ $(top_builddir)/pathnames.h + $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/regress/parser/check_addr.c + check_addr.i: $(srcdir)/regress/parser/check_addr.c $(devdir)/def_data.h \ + $(incdir)/compat/stdbool.h $(incdir)/sudo_compat.h \ +@@ -998,7 +995,7 @@ check_addr.i: $(srcdir)/regress/parser/check_addr.c $(devdir)/def_data.h \ + $(incdir)/sudo_gettext.h $(incdir)/sudo_plugin.h \ + $(incdir)/sudo_queue.h $(incdir)/sudo_util.h \ + $(srcdir)/defaults.h $(srcdir)/interfaces.h $(srcdir)/logging.h \ +- $(srcdir)/parse.h $(srcdir)/pivot.h $(srcdir)/sudo_nss.h \ ++ $(srcdir)/parse.h $(srcdir)/sudo_nss.h \ + $(srcdir)/sudoers.h $(srcdir)/sudoers_debug.h \ + $(top_builddir)/config.h $(top_builddir)/pathnames.h + $(CC) -E -o $@ $(CPPFLAGS) $< +@@ -1011,10 +1008,9 @@ check_aliases.o: $(srcdir)/check_aliases.c $(devdir)/def_data.h \ + $(incdir)/sudo_fatal.h $(incdir)/sudo_gettext.h \ + $(incdir)/sudo_plugin.h $(incdir)/sudo_queue.h \ + $(incdir)/sudo_util.h $(srcdir)/defaults.h \ +- $(srcdir)/logging.h $(srcdir)/parse.h $(srcdir)/pivot.h \ +- $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h \ +- $(srcdir)/sudoers_debug.h $(top_builddir)/config.h \ +- $(top_builddir)/pathnames.h ++ $(srcdir)/logging.h $(srcdir)/parse.h $(srcdir)/sudo_nss.h \ ++ $(srcdir)/sudoers.h $(srcdir)/sudoers_debug.h \ ++ $(top_builddir)/config.h $(top_builddir)/pathnames.h + $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/check_aliases.c + check_aliases.i: $(srcdir)/check_aliases.c $(devdir)/def_data.h \ + $(devdir)/gram.h $(incdir)/compat/stdbool.h \ +@@ -1023,7 +1019,7 @@ check_aliases.i: $(srcdir)/check_aliases.c $(devdir)/def_data.h \ + $(incdir)/sudo_fatal.h $(incdir)/sudo_gettext.h \ + $(incdir)/sudo_plugin.h $(incdir)/sudo_queue.h \ + $(incdir)/sudo_util.h $(srcdir)/defaults.h \ +- $(srcdir)/logging.h $(srcdir)/parse.h $(srcdir)/pivot.h \ ++ $(srcdir)/logging.h $(srcdir)/parse.h \ + $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h \ + $(srcdir)/sudoers_debug.h $(top_builddir)/config.h \ + $(top_builddir)/pathnames.h +@@ -1061,9 +1057,9 @@ check_editor.o: $(srcdir)/regress/editor/check_editor.c $(devdir)/def_data.c \ + $(incdir)/sudo_fatal.h $(incdir)/sudo_gettext.h \ + $(incdir)/sudo_plugin.h $(incdir)/sudo_queue.h \ + $(incdir)/sudo_util.h $(srcdir)/defaults.h $(srcdir)/logging.h \ +- $(srcdir)/parse.h $(srcdir)/pivot.h $(srcdir)/sudo_nss.h \ +- $(srcdir)/sudoers.h $(srcdir)/sudoers_debug.h \ +- $(top_builddir)/config.h $(top_builddir)/pathnames.h ++ $(srcdir)/parse.h $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h \ ++ $(srcdir)/sudoers_debug.h $(top_builddir)/config.h \ ++ $(top_builddir)/pathnames.h + $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/regress/editor/check_editor.c + check_editor.i: $(srcdir)/regress/editor/check_editor.c $(devdir)/def_data.c \ + $(devdir)/def_data.h $(incdir)/compat/stdbool.h \ +@@ -1072,7 +1068,7 @@ check_editor.i: $(srcdir)/regress/editor/check_editor.c $(devdir)/def_data.c \ + $(incdir)/sudo_fatal.h $(incdir)/sudo_gettext.h \ + $(incdir)/sudo_plugin.h $(incdir)/sudo_queue.h \ + $(incdir)/sudo_util.h $(srcdir)/defaults.h $(srcdir)/logging.h \ +- $(srcdir)/parse.h $(srcdir)/pivot.h $(srcdir)/sudo_nss.h \ ++ $(srcdir)/parse.h $(srcdir)/sudo_nss.h \ + $(srcdir)/sudoers.h $(srcdir)/sudoers_debug.h \ + $(top_builddir)/config.h $(top_builddir)/pathnames.h + $(CC) -E -o $@ $(CPPFLAGS) $< +@@ -1085,7 +1081,7 @@ check_env_pattern.o: $(srcdir)/regress/env_match/check_env_pattern.c \ + $(incdir)/sudo_fatal.h $(incdir)/sudo_gettext.h \ + $(incdir)/sudo_plugin.h $(incdir)/sudo_queue.h \ + $(incdir)/sudo_util.h $(srcdir)/defaults.h \ +- $(srcdir)/logging.h $(srcdir)/parse.h $(srcdir)/pivot.h \ ++ $(srcdir)/logging.h $(srcdir)/parse.h \ + $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h \ + $(srcdir)/sudoers_debug.h $(top_builddir)/config.h \ + $(top_builddir)/pathnames.h +@@ -1097,7 +1093,7 @@ check_env_pattern.i: $(srcdir)/regress/env_match/check_env_pattern.c \ + $(incdir)/sudo_fatal.h $(incdir)/sudo_gettext.h \ + $(incdir)/sudo_plugin.h $(incdir)/sudo_queue.h \ + $(incdir)/sudo_util.h $(srcdir)/defaults.h \ +- $(srcdir)/logging.h $(srcdir)/parse.h $(srcdir)/pivot.h \ ++ $(srcdir)/logging.h $(srcdir)/parse.h \ + $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h \ + $(srcdir)/sudoers_debug.h $(top_builddir)/config.h \ + $(top_builddir)/pathnames.h +@@ -1112,7 +1108,7 @@ check_exptilde.o: $(srcdir)/regress/exptilde/check_exptilde.c \ + $(incdir)/sudo_gettext.h $(incdir)/sudo_plugin.h \ + $(incdir)/sudo_queue.h $(incdir)/sudo_util.h \ + $(srcdir)/defaults.h $(srcdir)/logging.h $(srcdir)/parse.h \ +- $(srcdir)/pivot.h $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h \ ++ $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h \ + $(srcdir)/sudoers_debug.h $(top_builddir)/config.h \ + $(top_builddir)/pathnames.h + $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/regress/exptilde/check_exptilde.c +@@ -1124,7 +1120,7 @@ check_exptilde.i: $(srcdir)/regress/exptilde/check_exptilde.c \ + $(incdir)/sudo_gettext.h $(incdir)/sudo_plugin.h \ + $(incdir)/sudo_queue.h $(incdir)/sudo_util.h \ + $(srcdir)/defaults.h $(srcdir)/logging.h $(srcdir)/parse.h \ +- $(srcdir)/pivot.h $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h \ ++ $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h \ + $(srcdir)/sudoers_debug.h $(top_builddir)/config.h \ + $(top_builddir)/pathnames.h + $(CC) -E -o $@ $(CPPFLAGS) $< +@@ -1166,7 +1162,7 @@ check_iolog_plugin.o: $(srcdir)/regress/iolog_plugin/check_iolog_plugin.c \ + $(incdir)/sudo_gettext.h $(incdir)/sudo_iolog.h \ + $(incdir)/sudo_plugin.h $(incdir)/sudo_queue.h \ + $(incdir)/sudo_util.h $(srcdir)/defaults.h \ +- $(srcdir)/logging.h $(srcdir)/parse.h $(srcdir)/pivot.h \ ++ $(srcdir)/logging.h $(srcdir)/parse.h \ + $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h \ + $(srcdir)/sudoers_debug.h $(top_builddir)/config.h \ + $(top_builddir)/pathnames.h +@@ -1179,7 +1175,7 @@ check_iolog_plugin.i: $(srcdir)/regress/iolog_plugin/check_iolog_plugin.c \ + $(incdir)/sudo_gettext.h $(incdir)/sudo_iolog.h \ + $(incdir)/sudo_plugin.h $(incdir)/sudo_queue.h \ + $(incdir)/sudo_util.h $(srcdir)/defaults.h \ +- $(srcdir)/logging.h $(srcdir)/parse.h $(srcdir)/pivot.h \ ++ $(srcdir)/logging.h $(srcdir)/parse.h \ + $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h \ + $(srcdir)/sudoers_debug.h $(top_builddir)/config.h \ + $(top_builddir)/pathnames.h +@@ -1195,9 +1191,9 @@ check_serialize_list.lo: \ + $(incdir)/sudo_plugin.h $(incdir)/sudo_queue.h \ + $(incdir)/sudo_util.h $(srcdir)/defaults.h \ + $(srcdir)/logging.h $(srcdir)/parse.h \ +- $(srcdir)/pivot.h $(srcdir)/sudo_nss.h \ +- $(srcdir)/sudoers.h $(srcdir)/sudoers_debug.h \ +- $(top_builddir)/config.h $(top_builddir)/pathnames.h ++ $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h \ ++ $(srcdir)/sudoers_debug.h $(top_builddir)/config.h \ ++ $(top_builddir)/pathnames.h + $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/regress/serialize_list/check_serialize_list.c + check_serialize_list.i: \ + $(srcdir)/regress/serialize_list/check_serialize_list.c \ +@@ -1208,7 +1204,7 @@ check_serialize_list.i: \ + $(incdir)/sudo_plugin.h $(incdir)/sudo_queue.h \ + $(incdir)/sudo_util.h $(srcdir)/defaults.h \ + $(srcdir)/logging.h $(srcdir)/parse.h \ +- $(srcdir)/pivot.h $(srcdir)/sudo_nss.h \ ++ $(srcdir)/sudo_nss.h \ + $(srcdir)/sudoers.h $(srcdir)/sudoers_debug.h \ + $(top_builddir)/config.h $(top_builddir)/pathnames.h + $(CC) -E -o $@ $(CPPFLAGS) $< +@@ -1249,7 +1245,7 @@ check_unesc.o: $(srcdir)/regress/unescape/check_unesc.c $(devdir)/def_data.h \ + $(incdir)/sudo_gettext.h $(incdir)/sudo_plugin.h \ + $(incdir)/sudo_queue.h $(incdir)/sudo_util.h \ + $(srcdir)/defaults.h $(srcdir)/logging.h $(srcdir)/parse.h \ +- $(srcdir)/pivot.h $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h \ ++ $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h \ + $(srcdir)/sudoers_debug.h $(top_builddir)/config.h \ + $(top_builddir)/pathnames.h + $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/regress/unescape/check_unesc.c +@@ -1260,7 +1256,7 @@ check_unesc.i: $(srcdir)/regress/unescape/check_unesc.c $(devdir)/def_data.h \ + $(incdir)/sudo_gettext.h $(incdir)/sudo_plugin.h \ + $(incdir)/sudo_queue.h $(incdir)/sudo_util.h \ + $(srcdir)/defaults.h $(srcdir)/logging.h $(srcdir)/parse.h \ +- $(srcdir)/pivot.h $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h \ ++ $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h \ + $(srcdir)/sudoers_debug.h $(top_builddir)/config.h \ + $(top_builddir)/pathnames.h + $(CC) -E -o $@ $(CPPFLAGS) $< +@@ -1273,7 +1269,7 @@ check_util.lo: $(srcdir)/check_util.c $(devdir)/def_data.h \ + $(incdir)/sudo_gettext.h $(incdir)/sudo_plugin.h \ + $(incdir)/sudo_queue.h $(incdir)/sudo_util.h \ + $(srcdir)/defaults.h $(srcdir)/logging.h $(srcdir)/parse.h \ +- $(srcdir)/pivot.h $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h \ ++ $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h \ + $(srcdir)/sudoers_debug.h $(top_builddir)/config.h \ + $(top_builddir)/pathnames.h + $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/check_util.c +@@ -1284,7 +1280,7 @@ check_util.i: $(srcdir)/check_util.c $(devdir)/def_data.h \ + $(incdir)/sudo_gettext.h $(incdir)/sudo_plugin.h \ + $(incdir)/sudo_queue.h $(incdir)/sudo_util.h \ + $(srcdir)/defaults.h $(srcdir)/logging.h $(srcdir)/parse.h \ +- $(srcdir)/pivot.h $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h \ ++ $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h \ + $(srcdir)/sudoers_debug.h $(top_builddir)/config.h \ + $(top_builddir)/pathnames.h + $(CC) -E -o $@ $(CPPFLAGS) $< +@@ -1298,8 +1294,8 @@ cvtsudoers.o: $(srcdir)/cvtsudoers.c $(devdir)/def_data.h $(devdir)/gram.h \ + $(incdir)/sudo_lbuf.h $(incdir)/sudo_plugin.h \ + $(incdir)/sudo_queue.h $(incdir)/sudo_util.h \ + $(srcdir)/cvtsudoers.h $(srcdir)/defaults.h $(srcdir)/logging.h \ +- $(srcdir)/parse.h $(srcdir)/pivot.h $(srcdir)/redblack.h \ +- $(srcdir)/strlist.h $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h \ ++ $(srcdir)/parse.h $(srcdir)/redblack.h $(srcdir)/strlist.h \ ++ $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h \ + $(srcdir)/sudoers_debug.h $(srcdir)/sudoers_version.h \ + $(srcdir)/testsudoers_pwutil.h $(srcdir)/tsgetgrpw.h \ + $(top_builddir)/config.h $(top_builddir)/pathnames.h +@@ -1312,8 +1308,8 @@ cvtsudoers.i: $(srcdir)/cvtsudoers.c $(devdir)/def_data.h $(devdir)/gram.h \ + $(incdir)/sudo_lbuf.h $(incdir)/sudo_plugin.h \ + $(incdir)/sudo_queue.h $(incdir)/sudo_util.h \ + $(srcdir)/cvtsudoers.h $(srcdir)/defaults.h $(srcdir)/logging.h \ +- $(srcdir)/parse.h $(srcdir)/pivot.h $(srcdir)/redblack.h \ +- $(srcdir)/strlist.h $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h \ ++ $(srcdir)/parse.h $(srcdir)/redblack.h $(srcdir)/strlist.h \ ++ $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h \ + $(srcdir)/sudoers_debug.h $(srcdir)/sudoers_version.h \ + $(srcdir)/testsudoers_pwutil.h $(srcdir)/tsgetgrpw.h \ + $(top_builddir)/config.h $(top_builddir)/pathnames.h +@@ -1328,9 +1324,9 @@ cvtsudoers_csv.o: $(srcdir)/cvtsudoers_csv.c $(devdir)/def_data.h \ + $(incdir)/sudo_plugin.h $(incdir)/sudo_queue.h \ + $(incdir)/sudo_util.h $(srcdir)/cvtsudoers.h \ + $(srcdir)/defaults.h $(srcdir)/logging.h $(srcdir)/parse.h \ +- $(srcdir)/pivot.h $(srcdir)/strlist.h $(srcdir)/sudo_nss.h \ +- $(srcdir)/sudoers.h $(srcdir)/sudoers_debug.h \ +- $(top_builddir)/config.h $(top_builddir)/pathnames.h ++ $(srcdir)/strlist.h $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h \ ++ $(srcdir)/sudoers_debug.h $(top_builddir)/config.h \ ++ $(top_builddir)/pathnames.h + $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/cvtsudoers_csv.c + cvtsudoers_csv.i: $(srcdir)/cvtsudoers_csv.c $(devdir)/def_data.h \ + $(devdir)/gram.h $(incdir)/compat/stdbool.h \ +@@ -1340,7 +1336,7 @@ cvtsudoers_csv.i: $(srcdir)/cvtsudoers_csv.c $(devdir)/def_data.h \ + $(incdir)/sudo_plugin.h $(incdir)/sudo_queue.h \ + $(incdir)/sudo_util.h $(srcdir)/cvtsudoers.h \ + $(srcdir)/defaults.h $(srcdir)/logging.h $(srcdir)/parse.h \ +- $(srcdir)/pivot.h $(srcdir)/strlist.h $(srcdir)/sudo_nss.h \ ++ $(srcdir)/strlist.h $(srcdir)/sudo_nss.h \ + $(srcdir)/sudoers.h $(srcdir)/sudoers_debug.h \ + $(top_builddir)/config.h $(top_builddir)/pathnames.h + $(CC) -E -o $@ $(CPPFLAGS) $< +@@ -1354,7 +1350,7 @@ cvtsudoers_json.o: $(srcdir)/cvtsudoers_json.c $(devdir)/def_data.h \ + $(incdir)/sudo_json.h $(incdir)/sudo_plugin.h \ + $(incdir)/sudo_queue.h $(incdir)/sudo_util.h \ + $(srcdir)/cvtsudoers.h $(srcdir)/defaults.h \ +- $(srcdir)/logging.h $(srcdir)/parse.h $(srcdir)/pivot.h \ ++ $(srcdir)/logging.h $(srcdir)/parse.h \ + $(srcdir)/strlist.h $(srcdir)/sudo_nss.h \ + $(srcdir)/sudoers.h $(srcdir)/sudoers_debug.h \ + $(top_builddir)/config.h $(top_builddir)/pathnames.h +@@ -1367,7 +1363,7 @@ cvtsudoers_json.i: $(srcdir)/cvtsudoers_json.c $(devdir)/def_data.h \ + $(incdir)/sudo_json.h $(incdir)/sudo_plugin.h \ + $(incdir)/sudo_queue.h $(incdir)/sudo_util.h \ + $(srcdir)/cvtsudoers.h $(srcdir)/defaults.h \ +- $(srcdir)/logging.h $(srcdir)/parse.h $(srcdir)/pivot.h \ ++ $(srcdir)/logging.h $(srcdir)/parse.h \ + $(srcdir)/strlist.h $(srcdir)/sudo_nss.h \ + $(srcdir)/sudoers.h $(srcdir)/sudoers_debug.h \ + $(top_builddir)/config.h $(top_builddir)/pathnames.h +@@ -1382,11 +1378,11 @@ cvtsudoers_ldif.o: $(srcdir)/cvtsudoers_ldif.c $(devdir)/def_data.h \ + $(incdir)/sudo_lbuf.h $(incdir)/sudo_plugin.h \ + $(incdir)/sudo_queue.h $(incdir)/sudo_util.h \ + $(srcdir)/cvtsudoers.h $(srcdir)/defaults.h \ +- $(srcdir)/logging.h $(srcdir)/parse.h $(srcdir)/pivot.h \ +- $(srcdir)/redblack.h $(srcdir)/strlist.h \ +- $(srcdir)/sudo_ldap.h $(srcdir)/sudo_nss.h \ +- $(srcdir)/sudoers.h $(srcdir)/sudoers_debug.h \ +- $(top_builddir)/config.h $(top_builddir)/pathnames.h ++ $(srcdir)/logging.h $(srcdir)/parse.h $(srcdir)/redblack.h \ ++ $(srcdir)/strlist.h $(srcdir)/sudo_ldap.h \ ++ $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h \ ++ $(srcdir)/sudoers_debug.h $(top_builddir)/config.h \ ++ $(top_builddir)/pathnames.h + $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/cvtsudoers_ldif.c + cvtsudoers_ldif.i: $(srcdir)/cvtsudoers_ldif.c $(devdir)/def_data.h \ + $(devdir)/gram.h $(incdir)/compat/stdbool.h \ +@@ -1396,7 +1392,7 @@ cvtsudoers_ldif.i: $(srcdir)/cvtsudoers_ldif.c $(devdir)/def_data.h \ + $(incdir)/sudo_lbuf.h $(incdir)/sudo_plugin.h \ + $(incdir)/sudo_queue.h $(incdir)/sudo_util.h \ + $(srcdir)/cvtsudoers.h $(srcdir)/defaults.h \ +- $(srcdir)/logging.h $(srcdir)/parse.h $(srcdir)/pivot.h \ ++ $(srcdir)/logging.h $(srcdir)/parse.h \ + $(srcdir)/redblack.h $(srcdir)/strlist.h \ + $(srcdir)/sudo_ldap.h $(srcdir)/sudo_nss.h \ + $(srcdir)/sudoers.h $(srcdir)/sudoers_debug.h \ +@@ -1412,7 +1408,7 @@ cvtsudoers_merge.o: $(srcdir)/cvtsudoers_merge.c $(devdir)/def_data.h \ + $(incdir)/sudo_plugin.h $(incdir)/sudo_queue.h \ + $(incdir)/sudo_util.h $(srcdir)/cvtsudoers.h \ + $(srcdir)/defaults.h $(srcdir)/logging.h $(srcdir)/parse.h \ +- $(srcdir)/pivot.h $(srcdir)/redblack.h $(srcdir)/strlist.h \ ++ $(srcdir)/redblack.h $(srcdir)/strlist.h \ + $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h \ + $(srcdir)/sudoers_debug.h $(top_builddir)/config.h \ + $(top_builddir)/pathnames.h +@@ -1425,7 +1421,7 @@ cvtsudoers_merge.i: $(srcdir)/cvtsudoers_merge.c $(devdir)/def_data.h \ + $(incdir)/sudo_plugin.h $(incdir)/sudo_queue.h \ + $(incdir)/sudo_util.h $(srcdir)/cvtsudoers.h \ + $(srcdir)/defaults.h $(srcdir)/logging.h $(srcdir)/parse.h \ +- $(srcdir)/pivot.h $(srcdir)/redblack.h $(srcdir)/strlist.h \ ++ $(srcdir)/redblack.h $(srcdir)/strlist.h \ + $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h \ + $(srcdir)/sudoers_debug.h $(top_builddir)/config.h \ + $(top_builddir)/pathnames.h +@@ -1439,11 +1435,10 @@ cvtsudoers_pwutil.o: $(srcdir)/cvtsudoers_pwutil.c $(devdir)/def_data.h \ + $(incdir)/sudo_gettext.h $(incdir)/sudo_plugin.h \ + $(incdir)/sudo_queue.h $(incdir)/sudo_util.h \ + $(srcdir)/cvtsudoers.h $(srcdir)/defaults.h \ +- $(srcdir)/logging.h $(srcdir)/parse.h $(srcdir)/pivot.h \ +- $(srcdir)/pwutil.h $(srcdir)/strlist.h \ +- $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h \ +- $(srcdir)/sudoers_debug.h $(top_builddir)/config.h \ +- $(top_builddir)/pathnames.h ++ $(srcdir)/logging.h $(srcdir)/parse.h $(srcdir)/pwutil.h \ ++ $(srcdir)/strlist.h $(srcdir)/sudo_nss.h \ ++ $(srcdir)/sudoers.h $(srcdir)/sudoers_debug.h \ ++ $(top_builddir)/config.h $(top_builddir)/pathnames.h + $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/cvtsudoers_pwutil.c + cvtsudoers_pwutil.i: $(srcdir)/cvtsudoers_pwutil.c $(devdir)/def_data.h \ + $(incdir)/compat/stdbool.h $(incdir)/sudo_compat.h \ +@@ -1452,7 +1447,7 @@ cvtsudoers_pwutil.i: $(srcdir)/cvtsudoers_pwutil.c $(devdir)/def_data.h \ + $(incdir)/sudo_gettext.h $(incdir)/sudo_plugin.h \ + $(incdir)/sudo_queue.h $(incdir)/sudo_util.h \ + $(srcdir)/cvtsudoers.h $(srcdir)/defaults.h \ +- $(srcdir)/logging.h $(srcdir)/parse.h $(srcdir)/pivot.h \ ++ $(srcdir)/logging.h $(srcdir)/parse.h \ + $(srcdir)/pwutil.h $(srcdir)/strlist.h \ + $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h \ + $(srcdir)/sudoers_debug.h $(top_builddir)/config.h \ +@@ -1466,9 +1461,9 @@ dce.lo: $(authdir)/dce.c $(authdir)/sudo_auth.h $(devdir)/def_data.h \ + $(incdir)/sudo_fatal.h $(incdir)/sudo_gettext.h \ + $(incdir)/sudo_plugin.h $(incdir)/sudo_queue.h $(incdir)/sudo_util.h \ + $(srcdir)/defaults.h $(srcdir)/logging.h $(srcdir)/parse.h \ +- $(srcdir)/pivot.h $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h \ +- $(srcdir)/sudoers_debug.h $(srcdir)/timestamp.h \ +- $(top_builddir)/config.h $(top_builddir)/pathnames.h ++ $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h $(srcdir)/sudoers_debug.h \ ++ $(srcdir)/timestamp.h $(top_builddir)/config.h \ ++ $(top_builddir)/pathnames.h + $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(authdir)/dce.c + dce.i: $(authdir)/dce.c $(authdir)/sudo_auth.h $(devdir)/def_data.h \ + $(incdir)/compat/stdbool.h $(incdir)/sudo_compat.h \ +@@ -1476,7 +1471,7 @@ dce.i: $(authdir)/dce.c $(authdir)/sudo_auth.h $(devdir)/def_data.h \ + $(incdir)/sudo_fatal.h $(incdir)/sudo_gettext.h \ + $(incdir)/sudo_plugin.h $(incdir)/sudo_queue.h $(incdir)/sudo_util.h \ + $(srcdir)/defaults.h $(srcdir)/logging.h $(srcdir)/parse.h \ +- $(srcdir)/pivot.h $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h \ ++ $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h \ + $(srcdir)/sudoers_debug.h $(srcdir)/timestamp.h \ + $(top_builddir)/config.h $(top_builddir)/pathnames.h + $(CC) -E -o $@ $(CPPFLAGS) $< +@@ -1489,10 +1484,9 @@ defaults.lo: $(srcdir)/defaults.c $(devdir)/def_data.c $(devdir)/def_data.h \ + $(incdir)/sudo_fatal.h $(incdir)/sudo_gettext.h \ + $(incdir)/sudo_iolog.h $(incdir)/sudo_plugin.h \ + $(incdir)/sudo_queue.h $(incdir)/sudo_util.h $(srcdir)/defaults.h \ +- $(srcdir)/logging.h $(srcdir)/parse.h $(srcdir)/pivot.h \ +- $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h \ +- $(srcdir)/sudoers_debug.h $(top_builddir)/config.h \ +- $(top_builddir)/pathnames.h ++ $(srcdir)/logging.h $(srcdir)/parse.h $(srcdir)/sudo_nss.h \ ++ $(srcdir)/sudoers.h $(srcdir)/sudoers_debug.h \ ++ $(top_builddir)/config.h $(top_builddir)/pathnames.h + $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/defaults.c + defaults.i: $(srcdir)/defaults.c $(devdir)/def_data.c $(devdir)/def_data.h \ + $(devdir)/gram.h $(incdir)/compat/stdbool.h \ +@@ -1501,7 +1495,7 @@ defaults.i: $(srcdir)/defaults.c $(devdir)/def_data.c $(devdir)/def_data.h \ + $(incdir)/sudo_fatal.h $(incdir)/sudo_gettext.h \ + $(incdir)/sudo_iolog.h $(incdir)/sudo_plugin.h \ + $(incdir)/sudo_queue.h $(incdir)/sudo_util.h $(srcdir)/defaults.h \ +- $(srcdir)/logging.h $(srcdir)/parse.h $(srcdir)/pivot.h \ ++ $(srcdir)/logging.h $(srcdir)/parse.h \ + $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h \ + $(srcdir)/sudoers_debug.h $(top_builddir)/config.h \ + $(top_builddir)/pathnames.h +@@ -1529,9 +1523,9 @@ display.lo: $(srcdir)/display.c $(devdir)/def_data.h $(devdir)/gram.h \ + $(incdir)/sudo_gettext.h $(incdir)/sudo_lbuf.h \ + $(incdir)/sudo_plugin.h $(incdir)/sudo_queue.h \ + $(incdir)/sudo_util.h $(srcdir)/defaults.h $(srcdir)/logging.h \ +- $(srcdir)/parse.h $(srcdir)/pivot.h $(srcdir)/sudo_nss.h \ +- $(srcdir)/sudoers.h $(srcdir)/sudoers_debug.h \ +- $(top_builddir)/config.h $(top_builddir)/pathnames.h ++ $(srcdir)/parse.h $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h \ ++ $(srcdir)/sudoers_debug.h $(top_builddir)/config.h \ ++ $(top_builddir)/pathnames.h + $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/display.c + display.i: $(srcdir)/display.c $(devdir)/def_data.h $(devdir)/gram.h \ + $(incdir)/compat/stdbool.h $(incdir)/sudo_compat.h \ +@@ -1540,7 +1534,7 @@ display.i: $(srcdir)/display.c $(devdir)/def_data.h $(devdir)/gram.h \ + $(incdir)/sudo_gettext.h $(incdir)/sudo_lbuf.h \ + $(incdir)/sudo_plugin.h $(incdir)/sudo_queue.h \ + $(incdir)/sudo_util.h $(srcdir)/defaults.h $(srcdir)/logging.h \ +- $(srcdir)/parse.h $(srcdir)/pivot.h $(srcdir)/sudo_nss.h \ ++ $(srcdir)/parse.h $(srcdir)/sudo_nss.h \ + $(srcdir)/sudoers.h $(srcdir)/sudoers_debug.h \ + $(top_builddir)/config.h $(top_builddir)/pathnames.h + $(CC) -E -o $@ $(CPPFLAGS) $< +@@ -1552,9 +1546,9 @@ editor.lo: $(srcdir)/editor.c $(devdir)/def_data.h $(incdir)/compat/stdbool.h \ + $(incdir)/sudo_fatal.h $(incdir)/sudo_gettext.h \ + $(incdir)/sudo_plugin.h $(incdir)/sudo_queue.h \ + $(incdir)/sudo_util.h $(srcdir)/defaults.h $(srcdir)/logging.h \ +- $(srcdir)/parse.h $(srcdir)/pivot.h $(srcdir)/sudo_nss.h \ +- $(srcdir)/sudoers.h $(srcdir)/sudoers_debug.h \ +- $(top_builddir)/config.h $(top_builddir)/pathnames.h ++ $(srcdir)/parse.h $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h \ ++ $(srcdir)/sudoers_debug.h $(top_builddir)/config.h \ ++ $(top_builddir)/pathnames.h + $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/editor.c + editor.i: $(srcdir)/editor.c $(devdir)/def_data.h $(incdir)/compat/stdbool.h \ + $(incdir)/sudo_compat.h $(incdir)/sudo_conf.h \ +@@ -1562,7 +1556,7 @@ editor.i: $(srcdir)/editor.c $(devdir)/def_data.h $(incdir)/compat/stdbool.h \ + $(incdir)/sudo_fatal.h $(incdir)/sudo_gettext.h \ + $(incdir)/sudo_plugin.h $(incdir)/sudo_queue.h \ + $(incdir)/sudo_util.h $(srcdir)/defaults.h $(srcdir)/logging.h \ +- $(srcdir)/parse.h $(srcdir)/pivot.h $(srcdir)/sudo_nss.h \ ++ $(srcdir)/parse.h $(srcdir)/sudo_nss.h \ + $(srcdir)/sudoers.h $(srcdir)/sudoers_debug.h \ + $(top_builddir)/config.h $(top_builddir)/pathnames.h + $(CC) -E -o $@ $(CPPFLAGS) $< +@@ -1573,7 +1567,7 @@ env.lo: $(srcdir)/env.c $(devdir)/def_data.h $(incdir)/compat/stdbool.h \ + $(incdir)/sudo_eventlog.h $(incdir)/sudo_fatal.h \ + $(incdir)/sudo_gettext.h $(incdir)/sudo_plugin.h \ + $(incdir)/sudo_queue.h $(incdir)/sudo_util.h $(srcdir)/defaults.h \ +- $(srcdir)/logging.h $(srcdir)/parse.h $(srcdir)/pivot.h \ ++ $(srcdir)/logging.h $(srcdir)/parse.h \ + $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h $(srcdir)/sudoers_debug.h \ + $(top_builddir)/config.h $(top_builddir)/pathnames.h + $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/env.c +@@ -1582,7 +1576,7 @@ env.i: $(srcdir)/env.c $(devdir)/def_data.h $(incdir)/compat/stdbool.h \ + $(incdir)/sudo_eventlog.h $(incdir)/sudo_fatal.h \ + $(incdir)/sudo_gettext.h $(incdir)/sudo_plugin.h \ + $(incdir)/sudo_queue.h $(incdir)/sudo_util.h $(srcdir)/defaults.h \ +- $(srcdir)/logging.h $(srcdir)/parse.h $(srcdir)/pivot.h \ ++ $(srcdir)/logging.h $(srcdir)/parse.h \ + $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h $(srcdir)/sudoers_debug.h \ + $(top_builddir)/config.h $(top_builddir)/pathnames.h + $(CC) -E -o $@ $(CPPFLAGS) $< +@@ -1595,7 +1589,7 @@ env_pattern.lo: $(srcdir)/env_pattern.c $(devdir)/def_data.h \ + $(incdir)/sudo_gettext.h $(incdir)/sudo_plugin.h \ + $(incdir)/sudo_queue.h $(incdir)/sudo_util.h \ + $(srcdir)/defaults.h $(srcdir)/logging.h $(srcdir)/parse.h \ +- $(srcdir)/pivot.h $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h \ ++ $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h \ + $(srcdir)/sudoers_debug.h $(top_builddir)/config.h \ + $(top_builddir)/pathnames.h + $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/env_pattern.c +@@ -1606,7 +1600,7 @@ env_pattern.i: $(srcdir)/env_pattern.c $(devdir)/def_data.h \ + $(incdir)/sudo_gettext.h $(incdir)/sudo_plugin.h \ + $(incdir)/sudo_queue.h $(incdir)/sudo_util.h \ + $(srcdir)/defaults.h $(srcdir)/logging.h $(srcdir)/parse.h \ +- $(srcdir)/pivot.h $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h \ ++ $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h \ + $(srcdir)/sudoers_debug.h $(top_builddir)/config.h \ + $(top_builddir)/pathnames.h + $(CC) -E -o $@ $(CPPFLAGS) $< +@@ -1618,8 +1612,8 @@ exptilde.lo: $(srcdir)/exptilde.c $(devdir)/def_data.h \ + $(incdir)/sudo_eventlog.h $(incdir)/sudo_fatal.h \ + $(incdir)/sudo_gettext.h $(incdir)/sudo_plugin.h \ + $(incdir)/sudo_queue.h $(incdir)/sudo_util.h $(srcdir)/defaults.h \ +- $(srcdir)/logging.h $(srcdir)/parse.h $(srcdir)/pivot.h \ +- $(srcdir)/pwutil.h $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h \ ++ $(srcdir)/logging.h $(srcdir)/parse.h $(srcdir)/pwutil.h \ ++ $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h \ + $(srcdir)/sudoers_debug.h $(top_builddir)/config.h \ + $(top_builddir)/pathnames.h + $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/exptilde.c +@@ -1629,7 +1623,7 @@ exptilde.i: $(srcdir)/exptilde.c $(devdir)/def_data.h \ + $(incdir)/sudo_eventlog.h $(incdir)/sudo_fatal.h \ + $(incdir)/sudo_gettext.h $(incdir)/sudo_plugin.h \ + $(incdir)/sudo_queue.h $(incdir)/sudo_util.h $(srcdir)/defaults.h \ +- $(srcdir)/logging.h $(srcdir)/parse.h $(srcdir)/pivot.h \ ++ $(srcdir)/logging.h $(srcdir)/parse.h \ + $(srcdir)/pwutil.h $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h \ + $(srcdir)/sudoers_debug.h $(top_builddir)/config.h \ + $(top_builddir)/pathnames.h +@@ -1643,9 +1637,8 @@ file.lo: $(srcdir)/file.c $(devdir)/def_data.h $(devdir)/gram.h \ + $(incdir)/sudo_gettext.h $(incdir)/sudo_lbuf.h \ + $(incdir)/sudo_plugin.h $(incdir)/sudo_queue.h $(incdir)/sudo_util.h \ + $(srcdir)/defaults.h $(srcdir)/logging.h $(srcdir)/parse.h \ +- $(srcdir)/pivot.h $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h \ +- $(srcdir)/sudoers_debug.h $(top_builddir)/config.h \ +- $(top_builddir)/pathnames.h ++ $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h $(srcdir)/sudoers_debug.h \ ++ $(top_builddir)/config.h $(top_builddir)/pathnames.h + $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/file.c + file.i: $(srcdir)/file.c $(devdir)/def_data.h $(devdir)/gram.h \ + $(incdir)/compat/stdbool.h $(incdir)/sudo_compat.h \ +@@ -1654,7 +1647,7 @@ file.i: $(srcdir)/file.c $(devdir)/def_data.h $(devdir)/gram.h \ + $(incdir)/sudo_gettext.h $(incdir)/sudo_lbuf.h \ + $(incdir)/sudo_plugin.h $(incdir)/sudo_queue.h $(incdir)/sudo_util.h \ + $(srcdir)/defaults.h $(srcdir)/logging.h $(srcdir)/parse.h \ +- $(srcdir)/pivot.h $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h \ ++ $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h \ + $(srcdir)/sudoers_debug.h $(top_builddir)/config.h \ + $(top_builddir)/pathnames.h + $(CC) -E -o $@ $(CPPFLAGS) $< +@@ -1667,9 +1660,9 @@ filedigest.lo: $(srcdir)/filedigest.c $(devdir)/def_data.h \ + $(incdir)/sudo_fatal.h $(incdir)/sudo_gettext.h \ + $(incdir)/sudo_plugin.h $(incdir)/sudo_queue.h \ + $(incdir)/sudo_util.h $(srcdir)/defaults.h $(srcdir)/logging.h \ +- $(srcdir)/parse.h $(srcdir)/pivot.h $(srcdir)/sudo_nss.h \ +- $(srcdir)/sudoers.h $(srcdir)/sudoers_debug.h \ +- $(top_builddir)/config.h $(top_builddir)/pathnames.h ++ $(srcdir)/parse.h $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h \ ++ $(srcdir)/sudoers_debug.h $(top_builddir)/config.h \ ++ $(top_builddir)/pathnames.h + $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/filedigest.c + filedigest.i: $(srcdir)/filedigest.c $(devdir)/def_data.h \ + $(incdir)/compat/stdbool.h $(incdir)/sudo_compat.h \ +@@ -1678,7 +1671,7 @@ filedigest.i: $(srcdir)/filedigest.c $(devdir)/def_data.h \ + $(incdir)/sudo_fatal.h $(incdir)/sudo_gettext.h \ + $(incdir)/sudo_plugin.h $(incdir)/sudo_queue.h \ + $(incdir)/sudo_util.h $(srcdir)/defaults.h $(srcdir)/logging.h \ +- $(srcdir)/parse.h $(srcdir)/pivot.h $(srcdir)/sudo_nss.h \ ++ $(srcdir)/parse.h $(srcdir)/sudo_nss.h \ + $(srcdir)/sudoers.h $(srcdir)/sudoers_debug.h \ + $(top_builddir)/config.h $(top_builddir)/pathnames.h + $(CC) -E -o $@ $(CPPFLAGS) $< +@@ -1691,7 +1684,7 @@ find_path.lo: $(srcdir)/find_path.c $(devdir)/def_data.h \ + $(incdir)/sudo_gettext.h $(incdir)/sudo_plugin.h \ + $(incdir)/sudo_queue.h $(incdir)/sudo_util.h \ + $(srcdir)/defaults.h $(srcdir)/logging.h $(srcdir)/parse.h \ +- $(srcdir)/pivot.h $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h \ ++ $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h \ + $(srcdir)/sudoers_debug.h $(top_builddir)/config.h \ + $(top_builddir)/pathnames.h + $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/find_path.c +@@ -1702,7 +1695,7 @@ find_path.i: $(srcdir)/find_path.c $(devdir)/def_data.h \ + $(incdir)/sudo_gettext.h $(incdir)/sudo_plugin.h \ + $(incdir)/sudo_queue.h $(incdir)/sudo_util.h \ + $(srcdir)/defaults.h $(srcdir)/logging.h $(srcdir)/parse.h \ +- $(srcdir)/pivot.h $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h \ ++ $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h \ + $(srcdir)/sudoers_debug.h $(top_builddir)/config.h \ + $(top_builddir)/pathnames.h + $(CC) -E -o $@ $(CPPFLAGS) $< +@@ -1715,9 +1708,9 @@ fmtsudoers.lo: $(srcdir)/fmtsudoers.c $(devdir)/def_data.h $(devdir)/gram.h \ + $(incdir)/sudo_gettext.h $(incdir)/sudo_lbuf.h \ + $(incdir)/sudo_plugin.h $(incdir)/sudo_queue.h \ + $(incdir)/sudo_util.h $(srcdir)/defaults.h $(srcdir)/logging.h \ +- $(srcdir)/parse.h $(srcdir)/pivot.h $(srcdir)/sudo_nss.h \ +- $(srcdir)/sudoers.h $(srcdir)/sudoers_debug.h \ +- $(top_builddir)/config.h $(top_builddir)/pathnames.h ++ $(srcdir)/parse.h $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h \ ++ $(srcdir)/sudoers_debug.h $(top_builddir)/config.h \ ++ $(top_builddir)/pathnames.h + $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/fmtsudoers.c + fmtsudoers.i: $(srcdir)/fmtsudoers.c $(devdir)/def_data.h $(devdir)/gram.h \ + $(incdir)/compat/stdbool.h $(incdir)/sudo_compat.h \ +@@ -1726,7 +1719,7 @@ fmtsudoers.i: $(srcdir)/fmtsudoers.c $(devdir)/def_data.h $(devdir)/gram.h \ + $(incdir)/sudo_gettext.h $(incdir)/sudo_lbuf.h \ + $(incdir)/sudo_plugin.h $(incdir)/sudo_queue.h \ + $(incdir)/sudo_util.h $(srcdir)/defaults.h $(srcdir)/logging.h \ +- $(srcdir)/parse.h $(srcdir)/pivot.h $(srcdir)/sudo_nss.h \ ++ $(srcdir)/parse.h $(srcdir)/sudo_nss.h \ + $(srcdir)/sudoers.h $(srcdir)/sudoers_debug.h \ + $(top_builddir)/config.h $(top_builddir)/pathnames.h + $(CC) -E -o $@ $(CPPFLAGS) $< +@@ -1740,7 +1733,7 @@ fmtsudoers_cvt.lo: $(srcdir)/fmtsudoers_cvt.c $(devdir)/def_data.h \ + $(incdir)/sudo_lbuf.h $(incdir)/sudo_plugin.h \ + $(incdir)/sudo_queue.h $(incdir)/sudo_util.h \ + $(srcdir)/defaults.h $(srcdir)/logging.h $(srcdir)/parse.h \ +- $(srcdir)/pivot.h $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h \ ++ $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h \ + $(srcdir)/sudoers_debug.h $(top_builddir)/config.h \ + $(top_builddir)/pathnames.h + $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/fmtsudoers_cvt.c +@@ -1752,7 +1745,7 @@ fmtsudoers_cvt.i: $(srcdir)/fmtsudoers_cvt.c $(devdir)/def_data.h \ + $(incdir)/sudo_lbuf.h $(incdir)/sudo_plugin.h \ + $(incdir)/sudo_queue.h $(incdir)/sudo_util.h \ + $(srcdir)/defaults.h $(srcdir)/logging.h $(srcdir)/parse.h \ +- $(srcdir)/pivot.h $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h \ ++ $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h \ + $(srcdir)/sudoers_debug.h $(top_builddir)/config.h \ + $(top_builddir)/pathnames.h + $(CC) -E -o $@ $(CPPFLAGS) $< +@@ -1767,7 +1760,7 @@ fuzz_policy.o: $(srcdir)/regress/fuzz/fuzz_policy.c $(devdir)/def_data.h \ + $(incdir)/sudo_queue.h $(incdir)/sudo_util.h \ + $(srcdir)/auth/sudo_auth.h $(srcdir)/defaults.h \ + $(srcdir)/interfaces.h $(srcdir)/logging.h $(srcdir)/parse.h \ +- $(srcdir)/pivot.h $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h \ ++ $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h \ + $(srcdir)/sudoers_debug.h $(srcdir)/timestamp.h \ + $(top_builddir)/config.h $(top_builddir)/pathnames.h + $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/regress/fuzz/fuzz_policy.c +@@ -1780,7 +1773,7 @@ fuzz_policy.i: $(srcdir)/regress/fuzz/fuzz_policy.c $(devdir)/def_data.h \ + $(incdir)/sudo_queue.h $(incdir)/sudo_util.h \ + $(srcdir)/auth/sudo_auth.h $(srcdir)/defaults.h \ + $(srcdir)/interfaces.h $(srcdir)/logging.h $(srcdir)/parse.h \ +- $(srcdir)/pivot.h $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h \ ++ $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h \ + $(srcdir)/sudoers_debug.h $(srcdir)/timestamp.h \ + $(top_builddir)/config.h $(top_builddir)/pathnames.h + $(CC) -E -o $@ $(CPPFLAGS) $< +@@ -1793,10 +1786,9 @@ fuzz_stubs.o: $(srcdir)/regress/fuzz/fuzz_stubs.c $(devdir)/def_data.h \ + $(incdir)/sudo_gettext.h $(incdir)/sudo_plugin.h \ + $(incdir)/sudo_queue.h $(incdir)/sudo_util.h \ + $(srcdir)/defaults.h $(srcdir)/interfaces.h $(srcdir)/logging.h \ +- $(srcdir)/parse.h $(srcdir)/pivot.h $(srcdir)/sudo_nss.h \ +- $(srcdir)/sudoers.h $(srcdir)/sudoers_debug.h \ +- $(srcdir)/timestamp.h $(top_builddir)/config.h \ +- $(top_builddir)/pathnames.h ++ $(srcdir)/parse.h $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h \ ++ $(srcdir)/sudoers_debug.h $(srcdir)/timestamp.h \ ++ $(top_builddir)/config.h $(top_builddir)/pathnames.h + $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/regress/fuzz/fuzz_stubs.c + fuzz_stubs.i: $(srcdir)/regress/fuzz/fuzz_stubs.c $(devdir)/def_data.h \ + $(incdir)/compat/stdbool.h $(incdir)/sudo_compat.h \ +@@ -1805,7 +1797,7 @@ fuzz_stubs.i: $(srcdir)/regress/fuzz/fuzz_stubs.c $(devdir)/def_data.h \ + $(incdir)/sudo_gettext.h $(incdir)/sudo_plugin.h \ + $(incdir)/sudo_queue.h $(incdir)/sudo_util.h \ + $(srcdir)/defaults.h $(srcdir)/interfaces.h $(srcdir)/logging.h \ +- $(srcdir)/parse.h $(srcdir)/pivot.h $(srcdir)/sudo_nss.h \ ++ $(srcdir)/parse.h $(srcdir)/sudo_nss.h \ + $(srcdir)/sudoers.h $(srcdir)/sudoers_debug.h \ + $(srcdir)/timestamp.h $(top_builddir)/config.h \ + $(top_builddir)/pathnames.h +@@ -1819,10 +1811,9 @@ fuzz_sudoers.o: $(srcdir)/regress/fuzz/fuzz_sudoers.c $(devdir)/def_data.h \ + $(incdir)/sudo_gettext.h $(incdir)/sudo_plugin.h \ + $(incdir)/sudo_queue.h $(incdir)/sudo_util.h \ + $(srcdir)/defaults.h $(srcdir)/interfaces.h \ +- $(srcdir)/logging.h $(srcdir)/parse.h $(srcdir)/pivot.h \ +- $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h \ +- $(srcdir)/sudoers_debug.h $(top_builddir)/config.h \ +- $(top_builddir)/pathnames.h ++ $(srcdir)/logging.h $(srcdir)/parse.h $(srcdir)/sudo_nss.h \ ++ $(srcdir)/sudoers.h $(srcdir)/sudoers_debug.h \ ++ $(top_builddir)/config.h $(top_builddir)/pathnames.h + $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/regress/fuzz/fuzz_sudoers.c + fuzz_sudoers.i: $(srcdir)/regress/fuzz/fuzz_sudoers.c $(devdir)/def_data.h \ + $(incdir)/compat/stdbool.h $(incdir)/sudo_compat.h \ +@@ -1831,7 +1822,7 @@ fuzz_sudoers.i: $(srcdir)/regress/fuzz/fuzz_sudoers.c $(devdir)/def_data.h \ + $(incdir)/sudo_gettext.h $(incdir)/sudo_plugin.h \ + $(incdir)/sudo_queue.h $(incdir)/sudo_util.h \ + $(srcdir)/defaults.h $(srcdir)/interfaces.h \ +- $(srcdir)/logging.h $(srcdir)/parse.h $(srcdir)/pivot.h \ ++ $(srcdir)/logging.h $(srcdir)/parse.h \ + $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h \ + $(srcdir)/sudoers_debug.h $(top_builddir)/config.h \ + $(top_builddir)/pathnames.h +@@ -1845,7 +1836,7 @@ fuzz_sudoers_ldif.o: $(srcdir)/regress/fuzz/fuzz_sudoers_ldif.c \ + $(incdir)/sudo_fatal.h $(incdir)/sudo_gettext.h \ + $(incdir)/sudo_plugin.h $(incdir)/sudo_queue.h \ + $(incdir)/sudo_util.h $(srcdir)/defaults.h \ +- $(srcdir)/logging.h $(srcdir)/parse.h $(srcdir)/pivot.h \ ++ $(srcdir)/logging.h $(srcdir)/parse.h \ + $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h \ + $(srcdir)/sudoers_debug.h $(top_builddir)/config.h \ + $(top_builddir)/pathnames.h +@@ -1857,7 +1848,7 @@ fuzz_sudoers_ldif.i: $(srcdir)/regress/fuzz/fuzz_sudoers_ldif.c \ + $(incdir)/sudo_fatal.h $(incdir)/sudo_gettext.h \ + $(incdir)/sudo_plugin.h $(incdir)/sudo_queue.h \ + $(incdir)/sudo_util.h $(srcdir)/defaults.h \ +- $(srcdir)/logging.h $(srcdir)/parse.h $(srcdir)/pivot.h \ ++ $(srcdir)/logging.h $(srcdir)/parse.h \ + $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h \ + $(srcdir)/sudoers_debug.h $(top_builddir)/config.h \ + $(top_builddir)/pathnames.h +@@ -1870,8 +1861,8 @@ fwtk.lo: $(authdir)/fwtk.c $(authdir)/sudo_auth.h $(devdir)/def_data.h \ + $(incdir)/sudo_eventlog.h $(incdir)/sudo_fatal.h \ + $(incdir)/sudo_gettext.h $(incdir)/sudo_plugin.h \ + $(incdir)/sudo_queue.h $(incdir)/sudo_util.h $(srcdir)/defaults.h \ +- $(srcdir)/logging.h $(srcdir)/parse.h $(srcdir)/pivot.h \ +- $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h $(srcdir)/sudoers_debug.h \ ++ $(srcdir)/logging.h $(srcdir)/parse.h $(srcdir)/sudo_nss.h \ ++ $(srcdir)/sudoers.h $(srcdir)/sudoers_debug.h \ + $(top_builddir)/config.h $(top_builddir)/pathnames.h + $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(authdir)/fwtk.c + fwtk.i: $(authdir)/fwtk.c $(authdir)/sudo_auth.h $(devdir)/def_data.h \ +@@ -1880,7 +1871,7 @@ fwtk.i: $(authdir)/fwtk.c $(authdir)/sudo_auth.h $(devdir)/def_data.h \ + $(incdir)/sudo_eventlog.h $(incdir)/sudo_fatal.h \ + $(incdir)/sudo_gettext.h $(incdir)/sudo_plugin.h \ + $(incdir)/sudo_queue.h $(incdir)/sudo_util.h $(srcdir)/defaults.h \ +- $(srcdir)/logging.h $(srcdir)/parse.h $(srcdir)/pivot.h \ ++ $(srcdir)/logging.h $(srcdir)/parse.h \ + $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h $(srcdir)/sudoers_debug.h \ + $(top_builddir)/config.h $(top_builddir)/pathnames.h + $(CC) -E -o $@ $(CPPFLAGS) $< +@@ -1891,8 +1882,8 @@ gc.lo: $(srcdir)/gc.c $(devdir)/def_data.h $(incdir)/compat/stdbool.h \ + $(incdir)/sudo_eventlog.h $(incdir)/sudo_fatal.h \ + $(incdir)/sudo_gettext.h $(incdir)/sudo_plugin.h $(incdir)/sudo_queue.h \ + $(incdir)/sudo_util.h $(srcdir)/defaults.h $(srcdir)/logging.h \ +- $(srcdir)/parse.h $(srcdir)/pivot.h $(srcdir)/sudo_nss.h \ +- $(srcdir)/sudoers.h $(srcdir)/sudoers_debug.h $(top_builddir)/config.h \ ++ $(srcdir)/parse.h $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h \ ++ $(srcdir)/sudoers_debug.h $(top_builddir)/config.h \ + $(top_builddir)/pathnames.h + $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/gc.c + gc.i: $(srcdir)/gc.c $(devdir)/def_data.h $(incdir)/compat/stdbool.h \ +@@ -1900,7 +1891,7 @@ gc.i: $(srcdir)/gc.c $(devdir)/def_data.h $(incdir)/compat/stdbool.h \ + $(incdir)/sudo_eventlog.h $(incdir)/sudo_fatal.h \ + $(incdir)/sudo_gettext.h $(incdir)/sudo_plugin.h $(incdir)/sudo_queue.h \ + $(incdir)/sudo_util.h $(srcdir)/defaults.h $(srcdir)/logging.h \ +- $(srcdir)/parse.h $(srcdir)/pivot.h $(srcdir)/sudo_nss.h \ ++ $(srcdir)/parse.h $(srcdir)/sudo_nss.h \ + $(srcdir)/sudoers.h $(srcdir)/sudoers_debug.h $(top_builddir)/config.h \ + $(top_builddir)/pathnames.h + $(CC) -E -o $@ $(CPPFLAGS) $< +@@ -1931,7 +1922,7 @@ getspwuid.lo: $(srcdir)/getspwuid.c $(devdir)/def_data.h \ + $(incdir)/sudo_gettext.h $(incdir)/sudo_plugin.h \ + $(incdir)/sudo_queue.h $(incdir)/sudo_util.h \ + $(srcdir)/defaults.h $(srcdir)/logging.h $(srcdir)/parse.h \ +- $(srcdir)/pivot.h $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h \ ++ $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h \ + $(srcdir)/sudoers_debug.h $(top_builddir)/config.h \ + $(top_builddir)/pathnames.h + $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/getspwuid.c +@@ -1942,7 +1933,7 @@ getspwuid.i: $(srcdir)/getspwuid.c $(devdir)/def_data.h \ + $(incdir)/sudo_gettext.h $(incdir)/sudo_plugin.h \ + $(incdir)/sudo_queue.h $(incdir)/sudo_util.h \ + $(srcdir)/defaults.h $(srcdir)/logging.h $(srcdir)/parse.h \ +- $(srcdir)/pivot.h $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h \ ++ $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h \ + $(srcdir)/sudoers_debug.h $(top_builddir)/config.h \ + $(top_builddir)/pathnames.h + $(CC) -E -o $@ $(CPPFLAGS) $< +@@ -1954,10 +1945,9 @@ goodpath.lo: $(srcdir)/goodpath.c $(devdir)/def_data.h \ + $(incdir)/sudo_eventlog.h $(incdir)/sudo_fatal.h \ + $(incdir)/sudo_gettext.h $(incdir)/sudo_plugin.h \ + $(incdir)/sudo_queue.h $(incdir)/sudo_util.h $(srcdir)/defaults.h \ +- $(srcdir)/logging.h $(srcdir)/parse.h $(srcdir)/pivot.h \ +- $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h \ +- $(srcdir)/sudoers_debug.h $(top_builddir)/config.h \ +- $(top_builddir)/pathnames.h ++ $(srcdir)/logging.h $(srcdir)/parse.h $(srcdir)/sudo_nss.h \ ++ $(srcdir)/sudoers.h $(srcdir)/sudoers_debug.h \ ++ $(top_builddir)/config.h $(top_builddir)/pathnames.h + $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/goodpath.c + goodpath.i: $(srcdir)/goodpath.c $(devdir)/def_data.h \ + $(incdir)/compat/stdbool.h $(incdir)/sudo_compat.h \ +@@ -1965,7 +1955,7 @@ goodpath.i: $(srcdir)/goodpath.c $(devdir)/def_data.h \ + $(incdir)/sudo_eventlog.h $(incdir)/sudo_fatal.h \ + $(incdir)/sudo_gettext.h $(incdir)/sudo_plugin.h \ + $(incdir)/sudo_queue.h $(incdir)/sudo_util.h $(srcdir)/defaults.h \ +- $(srcdir)/logging.h $(srcdir)/parse.h $(srcdir)/pivot.h \ ++ $(srcdir)/logging.h $(srcdir)/parse.h \ + $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h \ + $(srcdir)/sudoers_debug.h $(top_builddir)/config.h \ + $(top_builddir)/pathnames.h +@@ -1978,9 +1968,8 @@ gram.lo: $(devdir)/gram.c $(devdir)/def_data.h $(incdir)/compat/stdbool.h \ + $(incdir)/sudo_fatal.h $(incdir)/sudo_gettext.h \ + $(incdir)/sudo_plugin.h $(incdir)/sudo_queue.h $(incdir)/sudo_util.h \ + $(srcdir)/defaults.h $(srcdir)/logging.h $(srcdir)/parse.h \ +- $(srcdir)/pivot.h $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h \ +- $(srcdir)/sudoers_debug.h $(srcdir)/toke.h $(top_builddir)/config.h \ +- $(top_builddir)/pathnames.h ++ $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h $(srcdir)/sudoers_debug.h \ ++ $(srcdir)/toke.h $(top_builddir)/config.h $(top_builddir)/pathnames.h + $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(devdir)/gram.c + gram.i: $(devdir)/gram.c $(devdir)/def_data.h $(incdir)/compat/stdbool.h \ + $(incdir)/sudo_compat.h $(incdir)/sudo_conf.h $(incdir)/sudo_debug.h \ +@@ -1988,7 +1977,7 @@ gram.i: $(devdir)/gram.c $(devdir)/def_data.h $(incdir)/compat/stdbool.h \ + $(incdir)/sudo_fatal.h $(incdir)/sudo_gettext.h \ + $(incdir)/sudo_plugin.h $(incdir)/sudo_queue.h $(incdir)/sudo_util.h \ + $(srcdir)/defaults.h $(srcdir)/logging.h $(srcdir)/parse.h \ +- $(srcdir)/pivot.h $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h \ ++ $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h \ + $(srcdir)/sudoers_debug.h $(srcdir)/toke.h $(top_builddir)/config.h \ + $(top_builddir)/pathnames.h + $(CC) -E -o $@ $(CPPFLAGS) $< +@@ -2001,10 +1990,9 @@ group_plugin.lo: $(srcdir)/group_plugin.c $(devdir)/def_data.h \ + $(incdir)/sudo_fatal.h $(incdir)/sudo_gettext.h \ + $(incdir)/sudo_plugin.h $(incdir)/sudo_queue.h \ + $(incdir)/sudo_util.h $(srcdir)/defaults.h \ +- $(srcdir)/logging.h $(srcdir)/parse.h $(srcdir)/pivot.h \ +- $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h \ +- $(srcdir)/sudoers_debug.h $(top_builddir)/config.h \ +- $(top_builddir)/pathnames.h ++ $(srcdir)/logging.h $(srcdir)/parse.h $(srcdir)/sudo_nss.h \ ++ $(srcdir)/sudoers.h $(srcdir)/sudoers_debug.h \ ++ $(top_builddir)/config.h $(top_builddir)/pathnames.h + $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/group_plugin.c + group_plugin.i: $(srcdir)/group_plugin.c $(devdir)/def_data.h \ + $(incdir)/compat/stdbool.h $(incdir)/sudo_compat.h \ +@@ -2013,7 +2001,7 @@ group_plugin.i: $(srcdir)/group_plugin.c $(devdir)/def_data.h \ + $(incdir)/sudo_fatal.h $(incdir)/sudo_gettext.h \ + $(incdir)/sudo_plugin.h $(incdir)/sudo_queue.h \ + $(incdir)/sudo_util.h $(srcdir)/defaults.h \ +- $(srcdir)/logging.h $(srcdir)/parse.h $(srcdir)/pivot.h \ ++ $(srcdir)/logging.h $(srcdir)/parse.h \ + $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h \ + $(srcdir)/sudoers_debug.h $(top_builddir)/config.h \ + $(top_builddir)/pathnames.h +@@ -2027,9 +2015,9 @@ interfaces.lo: $(srcdir)/interfaces.c $(devdir)/def_data.h \ + $(incdir)/sudo_gettext.h $(incdir)/sudo_plugin.h \ + $(incdir)/sudo_queue.h $(incdir)/sudo_util.h \ + $(srcdir)/defaults.h $(srcdir)/interfaces.h $(srcdir)/logging.h \ +- $(srcdir)/parse.h $(srcdir)/pivot.h $(srcdir)/sudo_nss.h \ +- $(srcdir)/sudoers.h $(srcdir)/sudoers_debug.h \ +- $(top_builddir)/config.h $(top_builddir)/pathnames.h ++ $(srcdir)/parse.h $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h \ ++ $(srcdir)/sudoers_debug.h $(top_builddir)/config.h \ ++ $(top_builddir)/pathnames.h + $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/interfaces.c + interfaces.i: $(srcdir)/interfaces.c $(devdir)/def_data.h \ + $(incdir)/compat/stdbool.h $(incdir)/sudo_compat.h \ +@@ -2038,7 +2026,7 @@ interfaces.i: $(srcdir)/interfaces.c $(devdir)/def_data.h \ + $(incdir)/sudo_gettext.h $(incdir)/sudo_plugin.h \ + $(incdir)/sudo_queue.h $(incdir)/sudo_util.h \ + $(srcdir)/defaults.h $(srcdir)/interfaces.h $(srcdir)/logging.h \ +- $(srcdir)/parse.h $(srcdir)/pivot.h $(srcdir)/sudo_nss.h \ ++ $(srcdir)/parse.h $(srcdir)/sudo_nss.h \ + $(srcdir)/sudoers.h $(srcdir)/sudoers_debug.h \ + $(top_builddir)/config.h $(top_builddir)/pathnames.h + $(CC) -E -o $@ $(CPPFLAGS) $< +@@ -2052,8 +2040,8 @@ iolog.lo: $(srcdir)/iolog.c $(devdir)/def_data.h $(incdir)/compat/stdbool.h \ + $(incdir)/sudo_plugin.h $(incdir)/sudo_queue.h \ + $(incdir)/sudo_ssl_compat.h $(incdir)/sudo_util.h \ + $(srcdir)/defaults.h $(srcdir)/log_client.h $(srcdir)/logging.h \ +- $(srcdir)/parse.h $(srcdir)/pivot.h $(srcdir)/strlist.h \ +- $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h $(srcdir)/sudoers_debug.h \ ++ $(srcdir)/parse.h $(srcdir)/strlist.h $(srcdir)/sudo_nss.h \ ++ $(srcdir)/sudoers.h $(srcdir)/sudoers_debug.h \ + $(top_builddir)/config.h $(top_builddir)/pathnames.h + $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/iolog.c + iolog.i: $(srcdir)/iolog.c $(devdir)/def_data.h $(incdir)/compat/stdbool.h \ +@@ -2064,7 +2052,7 @@ iolog.i: $(srcdir)/iolog.c $(devdir)/def_data.h $(incdir)/compat/stdbool.h \ + $(incdir)/sudo_plugin.h $(incdir)/sudo_queue.h \ + $(incdir)/sudo_ssl_compat.h $(incdir)/sudo_util.h \ + $(srcdir)/defaults.h $(srcdir)/log_client.h $(srcdir)/logging.h \ +- $(srcdir)/parse.h $(srcdir)/pivot.h $(srcdir)/strlist.h \ ++ $(srcdir)/parse.h $(srcdir)/strlist.h \ + $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h $(srcdir)/sudoers_debug.h \ + $(top_builddir)/config.h $(top_builddir)/pathnames.h + $(CC) -E -o $@ $(CPPFLAGS) $< +@@ -2077,7 +2065,7 @@ iolog_path_escapes.lo: $(srcdir)/iolog_path_escapes.c $(devdir)/def_data.h \ + $(incdir)/sudo_gettext.h $(incdir)/sudo_iolog.h \ + $(incdir)/sudo_plugin.h $(incdir)/sudo_queue.h \ + $(incdir)/sudo_util.h $(srcdir)/defaults.h \ +- $(srcdir)/logging.h $(srcdir)/parse.h $(srcdir)/pivot.h \ ++ $(srcdir)/logging.h $(srcdir)/parse.h \ + $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h \ + $(srcdir)/sudoers_debug.h $(top_builddir)/config.h \ + $(top_builddir)/pathnames.h +@@ -2089,7 +2077,7 @@ iolog_path_escapes.i: $(srcdir)/iolog_path_escapes.c $(devdir)/def_data.h \ + $(incdir)/sudo_gettext.h $(incdir)/sudo_iolog.h \ + $(incdir)/sudo_plugin.h $(incdir)/sudo_queue.h \ + $(incdir)/sudo_util.h $(srcdir)/defaults.h \ +- $(srcdir)/logging.h $(srcdir)/parse.h $(srcdir)/pivot.h \ ++ $(srcdir)/logging.h $(srcdir)/parse.h \ + $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h \ + $(srcdir)/sudoers_debug.h $(top_builddir)/config.h \ + $(top_builddir)/pathnames.h +@@ -2102,8 +2090,8 @@ kerb5.lo: $(authdir)/kerb5.c $(authdir)/sudo_auth.h $(devdir)/def_data.h \ + $(incdir)/sudo_eventlog.h $(incdir)/sudo_fatal.h \ + $(incdir)/sudo_gettext.h $(incdir)/sudo_plugin.h \ + $(incdir)/sudo_queue.h $(incdir)/sudo_util.h $(srcdir)/defaults.h \ +- $(srcdir)/logging.h $(srcdir)/parse.h $(srcdir)/pivot.h \ +- $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h $(srcdir)/sudoers_debug.h \ ++ $(srcdir)/logging.h $(srcdir)/parse.h $(srcdir)/sudo_nss.h \ ++ $(srcdir)/sudoers.h $(srcdir)/sudoers_debug.h \ + $(top_builddir)/config.h $(top_builddir)/pathnames.h + $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(authdir)/kerb5.c + kerb5.i: $(authdir)/kerb5.c $(authdir)/sudo_auth.h $(devdir)/def_data.h \ +@@ -2112,7 +2100,7 @@ kerb5.i: $(authdir)/kerb5.c $(authdir)/sudo_auth.h $(devdir)/def_data.h \ + $(incdir)/sudo_eventlog.h $(incdir)/sudo_fatal.h \ + $(incdir)/sudo_gettext.h $(incdir)/sudo_plugin.h \ + $(incdir)/sudo_queue.h $(incdir)/sudo_util.h $(srcdir)/defaults.h \ +- $(srcdir)/logging.h $(srcdir)/parse.h $(srcdir)/pivot.h \ ++ $(srcdir)/logging.h $(srcdir)/parse.h \ + $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h $(srcdir)/sudoers_debug.h \ + $(top_builddir)/config.h $(top_builddir)/pathnames.h + $(CC) -E -o $@ $(CPPFLAGS) $< +@@ -2124,8 +2112,8 @@ ldap.lo: $(srcdir)/ldap.c $(devdir)/def_data.h $(incdir)/compat/stdbool.h \ + $(incdir)/sudo_gettext.h $(incdir)/sudo_lbuf.h \ + $(incdir)/sudo_plugin.h $(incdir)/sudo_queue.h $(incdir)/sudo_util.h \ + $(srcdir)/defaults.h $(srcdir)/logging.h $(srcdir)/parse.h \ +- $(srcdir)/pivot.h $(srcdir)/sudo_ldap.h $(srcdir)/sudo_ldap_conf.h \ +- $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h $(srcdir)/sudoers_debug.h \ ++ $(srcdir)/sudo_ldap.h $(srcdir)/sudo_ldap_conf.h $(srcdir)/sudo_nss.h \ ++ $(srcdir)/sudoers.h $(srcdir)/sudoers_debug.h \ + $(top_builddir)/config.h $(top_builddir)/pathnames.h + $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/ldap.c + ldap.i: $(srcdir)/ldap.c $(devdir)/def_data.h $(incdir)/compat/stdbool.h \ +@@ -2134,7 +2122,7 @@ ldap.i: $(srcdir)/ldap.c $(devdir)/def_data.h $(incdir)/compat/stdbool.h \ + $(incdir)/sudo_gettext.h $(incdir)/sudo_lbuf.h \ + $(incdir)/sudo_plugin.h $(incdir)/sudo_queue.h $(incdir)/sudo_util.h \ + $(srcdir)/defaults.h $(srcdir)/logging.h $(srcdir)/parse.h \ +- $(srcdir)/pivot.h $(srcdir)/sudo_ldap.h $(srcdir)/sudo_ldap_conf.h \ ++ $(srcdir)/sudo_ldap.h $(srcdir)/sudo_ldap_conf.h \ + $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h $(srcdir)/sudoers_debug.h \ + $(top_builddir)/config.h $(top_builddir)/pathnames.h + $(CC) -E -o $@ $(CPPFLAGS) $< +@@ -2147,7 +2135,7 @@ ldap_conf.lo: $(srcdir)/ldap_conf.c $(devdir)/def_data.h \ + $(incdir)/sudo_gettext.h $(incdir)/sudo_lbuf.h \ + $(incdir)/sudo_plugin.h $(incdir)/sudo_queue.h \ + $(incdir)/sudo_util.h $(srcdir)/defaults.h $(srcdir)/logging.h \ +- $(srcdir)/parse.h $(srcdir)/pivot.h $(srcdir)/sudo_ldap.h \ ++ $(srcdir)/parse.h $(srcdir)/sudo_ldap.h \ + $(srcdir)/sudo_ldap_conf.h $(srcdir)/sudo_nss.h \ + $(srcdir)/sudoers.h $(srcdir)/sudoers_debug.h \ + $(top_builddir)/config.h $(top_builddir)/pathnames.h +@@ -2159,7 +2147,7 @@ ldap_conf.i: $(srcdir)/ldap_conf.c $(devdir)/def_data.h \ + $(incdir)/sudo_gettext.h $(incdir)/sudo_lbuf.h \ + $(incdir)/sudo_plugin.h $(incdir)/sudo_queue.h \ + $(incdir)/sudo_util.h $(srcdir)/defaults.h $(srcdir)/logging.h \ +- $(srcdir)/parse.h $(srcdir)/pivot.h $(srcdir)/sudo_ldap.h \ ++ $(srcdir)/parse.h $(srcdir)/sudo_ldap.h \ + $(srcdir)/sudo_ldap_conf.h $(srcdir)/sudo_nss.h \ + $(srcdir)/sudoers.h $(srcdir)/sudoers_debug.h \ + $(top_builddir)/config.h $(top_builddir)/pathnames.h +@@ -2173,10 +2161,10 @@ ldap_innetgr.lo: $(srcdir)/ldap_innetgr.c $(devdir)/def_data.h \ + $(incdir)/sudo_gettext.h $(incdir)/sudo_plugin.h \ + $(incdir)/sudo_queue.h $(incdir)/sudo_util.h \ + $(srcdir)/defaults.h $(srcdir)/logging.h $(srcdir)/parse.h \ +- $(srcdir)/pivot.h $(srcdir)/sudo_ldap.h \ +- $(srcdir)/sudo_ldap_conf.h $(srcdir)/sudo_nss.h \ +- $(srcdir)/sudoers.h $(srcdir)/sudoers_debug.h \ +- $(top_builddir)/config.h $(top_builddir)/pathnames.h ++ $(srcdir)/sudo_ldap.h $(srcdir)/sudo_ldap_conf.h \ ++ $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h \ ++ $(srcdir)/sudoers_debug.h $(top_builddir)/config.h \ ++ $(top_builddir)/pathnames.h + $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/ldap_innetgr.c + ldap_innetgr.i: $(srcdir)/ldap_innetgr.c $(devdir)/def_data.h \ + $(incdir)/compat/stdbool.h $(incdir)/sudo_compat.h \ +@@ -2185,7 +2173,7 @@ ldap_innetgr.i: $(srcdir)/ldap_innetgr.c $(devdir)/def_data.h \ + $(incdir)/sudo_gettext.h $(incdir)/sudo_plugin.h \ + $(incdir)/sudo_queue.h $(incdir)/sudo_util.h \ + $(srcdir)/defaults.h $(srcdir)/logging.h $(srcdir)/parse.h \ +- $(srcdir)/pivot.h $(srcdir)/sudo_ldap.h \ ++ $(srcdir)/sudo_ldap.h \ + $(srcdir)/sudo_ldap_conf.h $(srcdir)/sudo_nss.h \ + $(srcdir)/sudoers.h $(srcdir)/sudoers_debug.h \ + $(top_builddir)/config.h $(top_builddir)/pathnames.h +@@ -2200,10 +2188,9 @@ ldap_util.lo: $(srcdir)/ldap_util.c $(devdir)/def_data.h $(devdir)/gram.h \ + $(incdir)/sudo_lbuf.h $(incdir)/sudo_plugin.h \ + $(incdir)/sudo_queue.h $(incdir)/sudo_util.h \ + $(srcdir)/defaults.h $(srcdir)/interfaces.h $(srcdir)/logging.h \ +- $(srcdir)/parse.h $(srcdir)/pivot.h $(srcdir)/sudo_ldap.h \ +- $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h \ +- $(srcdir)/sudoers_debug.h $(top_builddir)/config.h \ +- $(top_builddir)/pathnames.h ++ $(srcdir)/parse.h $(srcdir)/sudo_ldap.h $(srcdir)/sudo_nss.h \ ++ $(srcdir)/sudoers.h $(srcdir)/sudoers_debug.h \ ++ $(top_builddir)/config.h $(top_builddir)/pathnames.h + $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/ldap_util.c + ldap_util.i: $(srcdir)/ldap_util.c $(devdir)/def_data.h $(devdir)/gram.h \ + $(incdir)/compat/stdbool.h $(incdir)/sudo_compat.h \ +@@ -2213,7 +2200,7 @@ ldap_util.i: $(srcdir)/ldap_util.c $(devdir)/def_data.h $(devdir)/gram.h \ + $(incdir)/sudo_lbuf.h $(incdir)/sudo_plugin.h \ + $(incdir)/sudo_queue.h $(incdir)/sudo_util.h \ + $(srcdir)/defaults.h $(srcdir)/interfaces.h $(srcdir)/logging.h \ +- $(srcdir)/parse.h $(srcdir)/pivot.h $(srcdir)/sudo_ldap.h \ ++ $(srcdir)/parse.h $(srcdir)/sudo_ldap.h \ + $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h \ + $(srcdir)/sudoers_debug.h $(top_builddir)/config.h \ + $(top_builddir)/pathnames.h +@@ -2227,10 +2214,9 @@ linux_audit.lo: $(srcdir)/linux_audit.c $(devdir)/def_data.h \ + $(incdir)/sudo_gettext.h $(incdir)/sudo_plugin.h \ + $(incdir)/sudo_queue.h $(incdir)/sudo_util.h \ + $(srcdir)/defaults.h $(srcdir)/linux_audit.h \ +- $(srcdir)/logging.h $(srcdir)/parse.h $(srcdir)/pivot.h \ +- $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h \ +- $(srcdir)/sudoers_debug.h $(top_builddir)/config.h \ +- $(top_builddir)/pathnames.h ++ $(srcdir)/logging.h $(srcdir)/parse.h $(srcdir)/sudo_nss.h \ ++ $(srcdir)/sudoers.h $(srcdir)/sudoers_debug.h \ ++ $(top_builddir)/config.h $(top_builddir)/pathnames.h + $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/linux_audit.c + linux_audit.i: $(srcdir)/linux_audit.c $(devdir)/def_data.h \ + $(incdir)/compat/stdbool.h $(incdir)/sudo_compat.h \ +@@ -2239,7 +2225,7 @@ linux_audit.i: $(srcdir)/linux_audit.c $(devdir)/def_data.h \ + $(incdir)/sudo_gettext.h $(incdir)/sudo_plugin.h \ + $(incdir)/sudo_queue.h $(incdir)/sudo_util.h \ + $(srcdir)/defaults.h $(srcdir)/linux_audit.h \ +- $(srcdir)/logging.h $(srcdir)/parse.h $(srcdir)/pivot.h \ ++ $(srcdir)/logging.h $(srcdir)/parse.h \ + $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h \ + $(srcdir)/sudoers_debug.h $(top_builddir)/config.h \ + $(top_builddir)/pathnames.h +@@ -2273,9 +2259,9 @@ log_client.lo: $(srcdir)/log_client.c $(devdir)/def_data.h \ + $(incdir)/sudo_queue.h $(incdir)/sudo_ssl_compat.h \ + $(incdir)/sudo_util.h $(srcdir)/defaults.h \ + $(srcdir)/log_client.h $(srcdir)/logging.h $(srcdir)/parse.h \ +- $(srcdir)/pivot.h $(srcdir)/strlist.h $(srcdir)/sudo_nss.h \ +- $(srcdir)/sudoers.h $(srcdir)/sudoers_debug.h \ +- $(top_builddir)/config.h $(top_builddir)/pathnames.h ++ $(srcdir)/strlist.h $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h \ ++ $(srcdir)/sudoers_debug.h $(top_builddir)/config.h \ ++ $(top_builddir)/pathnames.h + $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/log_client.c + log_client.i: $(srcdir)/log_client.c $(devdir)/def_data.h \ + $(incdir)/compat/getaddrinfo.h $(incdir)/compat/stdbool.h \ +@@ -2288,7 +2274,7 @@ log_client.i: $(srcdir)/log_client.c $(devdir)/def_data.h \ + $(incdir)/sudo_queue.h $(incdir)/sudo_ssl_compat.h \ + $(incdir)/sudo_util.h $(srcdir)/defaults.h \ + $(srcdir)/log_client.h $(srcdir)/logging.h $(srcdir)/parse.h \ +- $(srcdir)/pivot.h $(srcdir)/strlist.h $(srcdir)/sudo_nss.h \ ++ $(srcdir)/strlist.h $(srcdir)/sudo_nss.h \ + $(srcdir)/sudoers.h $(srcdir)/sudoers_debug.h \ + $(top_builddir)/config.h $(top_builddir)/pathnames.h + $(CC) -E -o $@ $(CPPFLAGS) $< +@@ -2303,8 +2289,8 @@ logging.lo: $(srcdir)/logging.c $(devdir)/def_data.h \ + $(incdir)/sudo_plugin.h $(incdir)/sudo_queue.h \ + $(incdir)/sudo_ssl_compat.h $(incdir)/sudo_util.h \ + $(srcdir)/defaults.h $(srcdir)/log_client.h $(srcdir)/logging.h \ +- $(srcdir)/parse.h $(srcdir)/pivot.h $(srcdir)/strlist.h \ +- $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h $(srcdir)/sudoers_debug.h \ ++ $(srcdir)/parse.h $(srcdir)/strlist.h $(srcdir)/sudo_nss.h \ ++ $(srcdir)/sudoers.h $(srcdir)/sudoers_debug.h \ + $(top_builddir)/config.h $(top_builddir)/pathnames.h + $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/logging.c + logging.i: $(srcdir)/logging.c $(devdir)/def_data.h \ +@@ -2316,7 +2302,7 @@ logging.i: $(srcdir)/logging.c $(devdir)/def_data.h \ + $(incdir)/sudo_plugin.h $(incdir)/sudo_queue.h \ + $(incdir)/sudo_ssl_compat.h $(incdir)/sudo_util.h \ + $(srcdir)/defaults.h $(srcdir)/log_client.h $(srcdir)/logging.h \ +- $(srcdir)/parse.h $(srcdir)/pivot.h $(srcdir)/strlist.h \ ++ $(srcdir)/parse.h $(srcdir)/strlist.h \ + $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h $(srcdir)/sudoers_debug.h \ + $(top_builddir)/config.h $(top_builddir)/pathnames.h + $(CC) -E -o $@ $(CPPFLAGS) $< +@@ -2328,8 +2314,8 @@ lookup.lo: $(srcdir)/lookup.c $(devdir)/def_data.h $(devdir)/gram.h \ + $(incdir)/sudo_eventlog.h $(incdir)/sudo_fatal.h \ + $(incdir)/sudo_gettext.h $(incdir)/sudo_plugin.h \ + $(incdir)/sudo_queue.h $(incdir)/sudo_util.h $(srcdir)/defaults.h \ +- $(srcdir)/logging.h $(srcdir)/parse.h $(srcdir)/pivot.h \ +- $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h $(srcdir)/sudoers_debug.h \ ++ $(srcdir)/logging.h $(srcdir)/parse.h $(srcdir)/sudo_nss.h \ ++ $(srcdir)/sudoers.h $(srcdir)/sudoers_debug.h \ + $(top_builddir)/config.h $(top_builddir)/pathnames.h + $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/lookup.c + lookup.i: $(srcdir)/lookup.c $(devdir)/def_data.h $(devdir)/gram.h \ +@@ -2338,7 +2324,7 @@ lookup.i: $(srcdir)/lookup.c $(devdir)/def_data.h $(devdir)/gram.h \ + $(incdir)/sudo_eventlog.h $(incdir)/sudo_fatal.h \ + $(incdir)/sudo_gettext.h $(incdir)/sudo_plugin.h \ + $(incdir)/sudo_queue.h $(incdir)/sudo_util.h $(srcdir)/defaults.h \ +- $(srcdir)/logging.h $(srcdir)/parse.h $(srcdir)/pivot.h \ ++ $(srcdir)/logging.h $(srcdir)/parse.h \ + $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h $(srcdir)/sudoers_debug.h \ + $(top_builddir)/config.h $(top_builddir)/pathnames.h + $(CC) -E -o $@ $(CPPFLAGS) $< +@@ -2350,8 +2336,8 @@ match.lo: $(srcdir)/match.c $(devdir)/def_data.h $(devdir)/gram.h \ + $(incdir)/sudo_eventlog.h $(incdir)/sudo_fatal.h \ + $(incdir)/sudo_gettext.h $(incdir)/sudo_plugin.h \ + $(incdir)/sudo_queue.h $(incdir)/sudo_util.h $(srcdir)/defaults.h \ +- $(srcdir)/logging.h $(srcdir)/parse.h $(srcdir)/pivot.h \ +- $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h $(srcdir)/sudoers_debug.h \ ++ $(srcdir)/logging.h $(srcdir)/parse.h $(srcdir)/sudo_nss.h \ ++ $(srcdir)/sudoers.h $(srcdir)/sudoers_debug.h \ + $(top_builddir)/config.h $(top_builddir)/pathnames.h + $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/match.c + match.i: $(srcdir)/match.c $(devdir)/def_data.h $(devdir)/gram.h \ +@@ -2360,7 +2346,7 @@ match.i: $(srcdir)/match.c $(devdir)/def_data.h $(devdir)/gram.h \ + $(incdir)/sudo_eventlog.h $(incdir)/sudo_fatal.h \ + $(incdir)/sudo_gettext.h $(incdir)/sudo_plugin.h \ + $(incdir)/sudo_queue.h $(incdir)/sudo_util.h $(srcdir)/defaults.h \ +- $(srcdir)/logging.h $(srcdir)/parse.h $(srcdir)/pivot.h \ ++ $(srcdir)/logging.h $(srcdir)/parse.h \ + $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h $(srcdir)/sudoers_debug.h \ + $(top_builddir)/config.h $(top_builddir)/pathnames.h + $(CC) -E -o $@ $(CPPFLAGS) $< +@@ -2373,9 +2359,9 @@ match_addr.lo: $(srcdir)/match_addr.c $(devdir)/def_data.h \ + $(incdir)/sudo_gettext.h $(incdir)/sudo_plugin.h \ + $(incdir)/sudo_queue.h $(incdir)/sudo_util.h \ + $(srcdir)/defaults.h $(srcdir)/interfaces.h $(srcdir)/logging.h \ +- $(srcdir)/parse.h $(srcdir)/pivot.h $(srcdir)/sudo_nss.h \ +- $(srcdir)/sudoers.h $(srcdir)/sudoers_debug.h \ +- $(top_builddir)/config.h $(top_builddir)/pathnames.h ++ $(srcdir)/parse.h $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h \ ++ $(srcdir)/sudoers_debug.h $(top_builddir)/config.h \ ++ $(top_builddir)/pathnames.h + $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/match_addr.c + match_addr.i: $(srcdir)/match_addr.c $(devdir)/def_data.h \ + $(incdir)/compat/stdbool.h $(incdir)/sudo_compat.h \ +@@ -2384,7 +2370,7 @@ match_addr.i: $(srcdir)/match_addr.c $(devdir)/def_data.h \ + $(incdir)/sudo_gettext.h $(incdir)/sudo_plugin.h \ + $(incdir)/sudo_queue.h $(incdir)/sudo_util.h \ + $(srcdir)/defaults.h $(srcdir)/interfaces.h $(srcdir)/logging.h \ +- $(srcdir)/parse.h $(srcdir)/pivot.h $(srcdir)/sudo_nss.h \ ++ $(srcdir)/parse.h $(srcdir)/sudo_nss.h \ + $(srcdir)/sudoers.h $(srcdir)/sudoers_debug.h \ + $(top_builddir)/config.h $(top_builddir)/pathnames.h + $(CC) -E -o $@ $(CPPFLAGS) $< +@@ -2398,10 +2384,9 @@ match_command.lo: $(srcdir)/match_command.c $(devdir)/def_data.h \ + $(incdir)/sudo_fatal.h $(incdir)/sudo_gettext.h \ + $(incdir)/sudo_plugin.h $(incdir)/sudo_queue.h \ + $(incdir)/sudo_util.h $(srcdir)/defaults.h \ +- $(srcdir)/logging.h $(srcdir)/parse.h $(srcdir)/pivot.h \ +- $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h \ +- $(srcdir)/sudoers_debug.h $(top_builddir)/config.h \ +- $(top_builddir)/pathnames.h ++ $(srcdir)/logging.h $(srcdir)/parse.h $(srcdir)/sudo_nss.h \ ++ $(srcdir)/sudoers.h $(srcdir)/sudoers_debug.h \ ++ $(top_builddir)/config.h $(top_builddir)/pathnames.h + $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/match_command.c + match_command.i: $(srcdir)/match_command.c $(devdir)/def_data.h \ + $(devdir)/gram.h $(incdir)/compat/fnmatch.h \ +@@ -2411,7 +2396,7 @@ match_command.i: $(srcdir)/match_command.c $(devdir)/def_data.h \ + $(incdir)/sudo_fatal.h $(incdir)/sudo_gettext.h \ + $(incdir)/sudo_plugin.h $(incdir)/sudo_queue.h \ + $(incdir)/sudo_util.h $(srcdir)/defaults.h \ +- $(srcdir)/logging.h $(srcdir)/parse.h $(srcdir)/pivot.h \ ++ $(srcdir)/logging.h $(srcdir)/parse.h \ + $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h \ + $(srcdir)/sudoers_debug.h $(top_builddir)/config.h \ + $(top_builddir)/pathnames.h +@@ -2426,7 +2411,7 @@ match_digest.lo: $(srcdir)/match_digest.c $(devdir)/def_data.h \ + $(incdir)/sudo_gettext.h $(incdir)/sudo_plugin.h \ + $(incdir)/sudo_queue.h $(incdir)/sudo_util.h \ + $(srcdir)/defaults.h $(srcdir)/logging.h $(srcdir)/parse.h \ +- $(srcdir)/pivot.h $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h \ ++ $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h \ + $(srcdir)/sudoers_debug.h $(top_builddir)/config.h \ + $(top_builddir)/pathnames.h + $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/match_digest.c +@@ -2438,7 +2423,7 @@ match_digest.i: $(srcdir)/match_digest.c $(devdir)/def_data.h \ + $(incdir)/sudo_gettext.h $(incdir)/sudo_plugin.h \ + $(incdir)/sudo_queue.h $(incdir)/sudo_util.h \ + $(srcdir)/defaults.h $(srcdir)/logging.h $(srcdir)/parse.h \ +- $(srcdir)/pivot.h $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h \ ++ $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h \ + $(srcdir)/sudoers_debug.h $(top_builddir)/config.h \ + $(top_builddir)/pathnames.h + $(CC) -E -o $@ $(CPPFLAGS) $< +@@ -2468,9 +2453,8 @@ pam.lo: $(authdir)/pam.c $(authdir)/sudo_auth.h $(devdir)/def_data.h \ + $(incdir)/sudo_fatal.h $(incdir)/sudo_gettext.h \ + $(incdir)/sudo_plugin.h $(incdir)/sudo_queue.h $(incdir)/sudo_util.h \ + $(srcdir)/defaults.h $(srcdir)/logging.h $(srcdir)/parse.h \ +- $(srcdir)/pivot.h $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h \ +- $(srcdir)/sudoers_debug.h $(top_builddir)/config.h \ +- $(top_builddir)/pathnames.h ++ $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h $(srcdir)/sudoers_debug.h \ ++ $(top_builddir)/config.h $(top_builddir)/pathnames.h + $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(authdir)/pam.c + pam.i: $(authdir)/pam.c $(authdir)/sudo_auth.h $(devdir)/def_data.h \ + $(incdir)/compat/stdbool.h $(incdir)/sudo_compat.h \ +@@ -2478,7 +2462,7 @@ pam.i: $(authdir)/pam.c $(authdir)/sudo_auth.h $(devdir)/def_data.h \ + $(incdir)/sudo_fatal.h $(incdir)/sudo_gettext.h \ + $(incdir)/sudo_plugin.h $(incdir)/sudo_queue.h $(incdir)/sudo_util.h \ + $(srcdir)/defaults.h $(srcdir)/logging.h $(srcdir)/parse.h \ +- $(srcdir)/pivot.h $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h \ ++ $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h \ + $(srcdir)/sudoers_debug.h $(top_builddir)/config.h \ + $(top_builddir)/pathnames.h + $(CC) -E -o $@ $(CPPFLAGS) $< +@@ -2491,8 +2475,8 @@ parse_ldif.o: $(srcdir)/parse_ldif.c $(devdir)/def_data.h $(devdir)/gram.h \ + $(incdir)/sudo_gettext.h $(incdir)/sudo_plugin.h \ + $(incdir)/sudo_queue.h $(incdir)/sudo_util.h \ + $(srcdir)/defaults.h $(srcdir)/logging.h $(srcdir)/parse.h \ +- $(srcdir)/pivot.h $(srcdir)/redblack.h $(srcdir)/strlist.h \ +- $(srcdir)/sudo_ldap.h $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h \ ++ $(srcdir)/redblack.h $(srcdir)/strlist.h $(srcdir)/sudo_ldap.h \ ++ $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h \ + $(srcdir)/sudoers_debug.h $(top_builddir)/config.h \ + $(top_builddir)/pathnames.h + $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/parse_ldif.c +@@ -2503,7 +2487,7 @@ parse_ldif.i: $(srcdir)/parse_ldif.c $(devdir)/def_data.h $(devdir)/gram.h \ + $(incdir)/sudo_gettext.h $(incdir)/sudo_plugin.h \ + $(incdir)/sudo_queue.h $(incdir)/sudo_util.h \ + $(srcdir)/defaults.h $(srcdir)/logging.h $(srcdir)/parse.h \ +- $(srcdir)/pivot.h $(srcdir)/redblack.h $(srcdir)/strlist.h \ ++ $(srcdir)/redblack.h $(srcdir)/strlist.h \ + $(srcdir)/sudo_ldap.h $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h \ + $(srcdir)/sudoers_debug.h $(top_builddir)/config.h \ + $(top_builddir)/pathnames.h +@@ -2517,7 +2501,7 @@ parser_warnx.lo: $(srcdir)/parser_warnx.c $(devdir)/def_data.h \ + $(incdir)/sudo_gettext.h $(incdir)/sudo_plugin.h \ + $(incdir)/sudo_queue.h $(incdir)/sudo_util.h \ + $(srcdir)/defaults.h $(srcdir)/logging.h $(srcdir)/parse.h \ +- $(srcdir)/pivot.h $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h \ ++ $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h \ + $(srcdir)/sudoers_debug.h $(top_builddir)/config.h \ + $(top_builddir)/pathnames.h + $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/parser_warnx.c +@@ -2528,7 +2512,7 @@ parser_warnx.i: $(srcdir)/parser_warnx.c $(devdir)/def_data.h \ + $(incdir)/sudo_gettext.h $(incdir)/sudo_plugin.h \ + $(incdir)/sudo_queue.h $(incdir)/sudo_util.h \ + $(srcdir)/defaults.h $(srcdir)/logging.h $(srcdir)/parse.h \ +- $(srcdir)/pivot.h $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h \ ++ $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h \ + $(srcdir)/sudoers_debug.h $(top_builddir)/config.h \ + $(top_builddir)/pathnames.h + $(CC) -E -o $@ $(CPPFLAGS) $< +@@ -2540,8 +2524,8 @@ passwd.lo: $(authdir)/passwd.c $(authdir)/sudo_auth.h $(devdir)/def_data.h \ + $(incdir)/sudo_eventlog.h $(incdir)/sudo_fatal.h \ + $(incdir)/sudo_gettext.h $(incdir)/sudo_plugin.h \ + $(incdir)/sudo_queue.h $(incdir)/sudo_util.h $(srcdir)/defaults.h \ +- $(srcdir)/logging.h $(srcdir)/parse.h $(srcdir)/pivot.h \ +- $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h $(srcdir)/sudoers_debug.h \ ++ $(srcdir)/logging.h $(srcdir)/parse.h $(srcdir)/sudo_nss.h \ ++ $(srcdir)/sudoers.h $(srcdir)/sudoers_debug.h \ + $(top_builddir)/config.h $(top_builddir)/pathnames.h + $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(authdir)/passwd.c + passwd.i: $(authdir)/passwd.c $(authdir)/sudo_auth.h $(devdir)/def_data.h \ +@@ -2550,32 +2534,12 @@ passwd.i: $(authdir)/passwd.c $(authdir)/sudo_auth.h $(devdir)/def_data.h \ + $(incdir)/sudo_eventlog.h $(incdir)/sudo_fatal.h \ + $(incdir)/sudo_gettext.h $(incdir)/sudo_plugin.h \ + $(incdir)/sudo_queue.h $(incdir)/sudo_util.h $(srcdir)/defaults.h \ +- $(srcdir)/logging.h $(srcdir)/parse.h $(srcdir)/pivot.h \ ++ $(srcdir)/logging.h $(srcdir)/parse.h \ + $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h $(srcdir)/sudoers_debug.h \ + $(top_builddir)/config.h $(top_builddir)/pathnames.h + $(CC) -E -o $@ $(CPPFLAGS) $< + passwd.plog: passwd.i + rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(authdir)/passwd.c --i-file $< --output-file $@ +-pivot.lo: $(srcdir)/pivot.c $(devdir)/def_data.h $(incdir)/compat/stdbool.h \ +- $(incdir)/sudo_compat.h $(incdir)/sudo_conf.h $(incdir)/sudo_debug.h \ +- $(incdir)/sudo_eventlog.h $(incdir)/sudo_fatal.h \ +- $(incdir)/sudo_gettext.h $(incdir)/sudo_plugin.h \ +- $(incdir)/sudo_queue.h $(incdir)/sudo_util.h $(srcdir)/defaults.h \ +- $(srcdir)/logging.h $(srcdir)/parse.h $(srcdir)/pivot.h \ +- $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h $(srcdir)/sudoers_debug.h \ +- $(top_builddir)/config.h $(top_builddir)/pathnames.h +- $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/pivot.c +-pivot.i: $(srcdir)/pivot.c $(devdir)/def_data.h $(incdir)/compat/stdbool.h \ +- $(incdir)/sudo_compat.h $(incdir)/sudo_conf.h $(incdir)/sudo_debug.h \ +- $(incdir)/sudo_eventlog.h $(incdir)/sudo_fatal.h \ +- $(incdir)/sudo_gettext.h $(incdir)/sudo_plugin.h \ +- $(incdir)/sudo_queue.h $(incdir)/sudo_util.h $(srcdir)/defaults.h \ +- $(srcdir)/logging.h $(srcdir)/parse.h $(srcdir)/pivot.h \ +- $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h $(srcdir)/sudoers_debug.h \ +- $(top_builddir)/config.h $(top_builddir)/pathnames.h +- $(CC) -E -o $@ $(CPPFLAGS) $< +-pivot.plog: pivot.i +- rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/pivot.c --i-file $< --output-file $@ + policy.lo: $(srcdir)/policy.c $(devdir)/def_data.h $(incdir)/compat/stdbool.h \ + $(incdir)/sudo_compat.h $(incdir)/sudo_conf.h \ + $(incdir)/sudo_debug.h $(incdir)/sudo_eventlog.h \ +@@ -2583,10 +2547,10 @@ policy.lo: $(srcdir)/policy.c $(devdir)/def_data.h $(incdir)/compat/stdbool.h \ + $(incdir)/sudo_plugin.h $(incdir)/sudo_queue.h \ + $(incdir)/sudo_util.h $(srcdir)/auth/sudo_auth.h \ + $(srcdir)/defaults.h $(srcdir)/interfaces.h $(srcdir)/logging.h \ +- $(srcdir)/parse.h $(srcdir)/pivot.h $(srcdir)/sudo_nss.h \ +- $(srcdir)/sudoers.h $(srcdir)/sudoers_debug.h \ +- $(srcdir)/sudoers_version.h $(srcdir)/timestamp.h \ +- $(top_builddir)/config.h $(top_builddir)/pathnames.h ++ $(srcdir)/parse.h $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h \ ++ $(srcdir)/sudoers_debug.h $(srcdir)/sudoers_version.h \ ++ $(srcdir)/timestamp.h $(top_builddir)/config.h \ ++ $(top_builddir)/pathnames.h + $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/policy.c + policy.i: $(srcdir)/policy.c $(devdir)/def_data.h $(incdir)/compat/stdbool.h \ + $(incdir)/sudo_compat.h $(incdir)/sudo_conf.h \ +@@ -2595,7 +2559,7 @@ policy.i: $(srcdir)/policy.c $(devdir)/def_data.h $(incdir)/compat/stdbool.h \ + $(incdir)/sudo_plugin.h $(incdir)/sudo_queue.h \ + $(incdir)/sudo_util.h $(srcdir)/auth/sudo_auth.h \ + $(srcdir)/defaults.h $(srcdir)/interfaces.h $(srcdir)/logging.h \ +- $(srcdir)/parse.h $(srcdir)/pivot.h $(srcdir)/sudo_nss.h \ ++ $(srcdir)/parse.h $(srcdir)/sudo_nss.h \ + $(srcdir)/sudoers.h $(srcdir)/sudoers_debug.h \ + $(srcdir)/sudoers_version.h $(srcdir)/timestamp.h \ + $(top_builddir)/config.h $(top_builddir)/pathnames.h +@@ -2608,9 +2572,9 @@ prompt.lo: $(srcdir)/prompt.c $(devdir)/def_data.h $(incdir)/compat/stdbool.h \ + $(incdir)/sudo_fatal.h $(incdir)/sudo_gettext.h \ + $(incdir)/sudo_plugin.h $(incdir)/sudo_queue.h \ + $(incdir)/sudo_util.h $(srcdir)/defaults.h $(srcdir)/logging.h \ +- $(srcdir)/parse.h $(srcdir)/pivot.h $(srcdir)/sudo_nss.h \ +- $(srcdir)/sudoers.h $(srcdir)/sudoers_debug.h \ +- $(top_builddir)/config.h $(top_builddir)/pathnames.h ++ $(srcdir)/parse.h $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h \ ++ $(srcdir)/sudoers_debug.h $(top_builddir)/config.h \ ++ $(top_builddir)/pathnames.h + $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/prompt.c + prompt.i: $(srcdir)/prompt.c $(devdir)/def_data.h $(incdir)/compat/stdbool.h \ + $(incdir)/sudo_compat.h $(incdir)/sudo_conf.h \ +@@ -2618,7 +2582,7 @@ prompt.i: $(srcdir)/prompt.c $(devdir)/def_data.h $(incdir)/compat/stdbool.h \ + $(incdir)/sudo_fatal.h $(incdir)/sudo_gettext.h \ + $(incdir)/sudo_plugin.h $(incdir)/sudo_queue.h \ + $(incdir)/sudo_util.h $(srcdir)/defaults.h $(srcdir)/logging.h \ +- $(srcdir)/parse.h $(srcdir)/pivot.h $(srcdir)/sudo_nss.h \ ++ $(srcdir)/parse.h $(srcdir)/sudo_nss.h \ + $(srcdir)/sudoers.h $(srcdir)/sudoers_debug.h \ + $(top_builddir)/config.h $(top_builddir)/pathnames.h + $(CC) -E -o $@ $(CPPFLAGS) $< +@@ -2630,10 +2594,9 @@ pwutil.lo: $(srcdir)/pwutil.c $(devdir)/def_data.h $(incdir)/compat/stdbool.h \ + $(incdir)/sudo_fatal.h $(incdir)/sudo_gettext.h \ + $(incdir)/sudo_plugin.h $(incdir)/sudo_queue.h \ + $(incdir)/sudo_util.h $(srcdir)/defaults.h $(srcdir)/logging.h \ +- $(srcdir)/parse.h $(srcdir)/pivot.h $(srcdir)/pwutil.h \ +- $(srcdir)/redblack.h $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h \ +- $(srcdir)/sudoers_debug.h $(top_builddir)/config.h \ +- $(top_builddir)/pathnames.h ++ $(srcdir)/parse.h $(srcdir)/pwutil.h $(srcdir)/redblack.h \ ++ $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h $(srcdir)/sudoers_debug.h \ ++ $(top_builddir)/config.h $(top_builddir)/pathnames.h + $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/pwutil.c + pwutil.i: $(srcdir)/pwutil.c $(devdir)/def_data.h $(incdir)/compat/stdbool.h \ + $(incdir)/sudo_compat.h $(incdir)/sudo_conf.h \ +@@ -2641,7 +2604,7 @@ pwutil.i: $(srcdir)/pwutil.c $(devdir)/def_data.h $(incdir)/compat/stdbool.h \ + $(incdir)/sudo_fatal.h $(incdir)/sudo_gettext.h \ + $(incdir)/sudo_plugin.h $(incdir)/sudo_queue.h \ + $(incdir)/sudo_util.h $(srcdir)/defaults.h $(srcdir)/logging.h \ +- $(srcdir)/parse.h $(srcdir)/pivot.h $(srcdir)/pwutil.h \ ++ $(srcdir)/parse.h $(srcdir)/pwutil.h \ + $(srcdir)/redblack.h $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h \ + $(srcdir)/sudoers_debug.h $(top_builddir)/config.h \ + $(top_builddir)/pathnames.h +@@ -2655,9 +2618,9 @@ pwutil_impl.lo: $(srcdir)/pwutil_impl.c $(devdir)/def_data.h \ + $(incdir)/sudo_gettext.h $(incdir)/sudo_plugin.h \ + $(incdir)/sudo_queue.h $(incdir)/sudo_util.h \ + $(srcdir)/defaults.h $(srcdir)/logging.h $(srcdir)/parse.h \ +- $(srcdir)/pivot.h $(srcdir)/pwutil.h $(srcdir)/sudo_nss.h \ +- $(srcdir)/sudoers.h $(srcdir)/sudoers_debug.h \ +- $(top_builddir)/config.h $(top_builddir)/pathnames.h ++ $(srcdir)/pwutil.h $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h \ ++ $(srcdir)/sudoers_debug.h $(top_builddir)/config.h \ ++ $(top_builddir)/pathnames.h + $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/pwutil_impl.c + pwutil_impl.i: $(srcdir)/pwutil_impl.c $(devdir)/def_data.h \ + $(incdir)/compat/stdbool.h $(incdir)/sudo_compat.h \ +@@ -2666,7 +2629,7 @@ pwutil_impl.i: $(srcdir)/pwutil_impl.c $(devdir)/def_data.h \ + $(incdir)/sudo_gettext.h $(incdir)/sudo_plugin.h \ + $(incdir)/sudo_queue.h $(incdir)/sudo_util.h \ + $(srcdir)/defaults.h $(srcdir)/logging.h $(srcdir)/parse.h \ +- $(srcdir)/pivot.h $(srcdir)/pwutil.h $(srcdir)/sudo_nss.h \ ++ $(srcdir)/pwutil.h $(srcdir)/sudo_nss.h \ + $(srcdir)/sudoers.h $(srcdir)/sudoers_debug.h \ + $(top_builddir)/config.h $(top_builddir)/pathnames.h + $(CC) -E -o $@ $(CPPFLAGS) $< +@@ -2678,8 +2641,8 @@ redblack.lo: $(srcdir)/redblack.c $(devdir)/def_data.h \ + $(incdir)/sudo_eventlog.h $(incdir)/sudo_fatal.h \ + $(incdir)/sudo_gettext.h $(incdir)/sudo_plugin.h \ + $(incdir)/sudo_queue.h $(incdir)/sudo_util.h $(srcdir)/defaults.h \ +- $(srcdir)/logging.h $(srcdir)/parse.h $(srcdir)/pivot.h \ +- $(srcdir)/redblack.h $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h \ ++ $(srcdir)/logging.h $(srcdir)/parse.h $(srcdir)/redblack.h \ ++ $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h \ + $(srcdir)/sudoers_debug.h $(top_builddir)/config.h \ + $(top_builddir)/pathnames.h + $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/redblack.c +@@ -2689,7 +2652,7 @@ redblack.i: $(srcdir)/redblack.c $(devdir)/def_data.h \ + $(incdir)/sudo_eventlog.h $(incdir)/sudo_fatal.h \ + $(incdir)/sudo_gettext.h $(incdir)/sudo_plugin.h \ + $(incdir)/sudo_queue.h $(incdir)/sudo_util.h $(srcdir)/defaults.h \ +- $(srcdir)/logging.h $(srcdir)/parse.h $(srcdir)/pivot.h \ ++ $(srcdir)/logging.h $(srcdir)/parse.h \ + $(srcdir)/redblack.h $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h \ + $(srcdir)/sudoers_debug.h $(top_builddir)/config.h \ + $(top_builddir)/pathnames.h +@@ -2703,7 +2666,7 @@ resolve_cmnd.lo: $(srcdir)/resolve_cmnd.c $(devdir)/def_data.h \ + $(incdir)/sudo_gettext.h $(incdir)/sudo_plugin.h \ + $(incdir)/sudo_queue.h $(incdir)/sudo_util.h \ + $(srcdir)/defaults.h $(srcdir)/logging.h $(srcdir)/parse.h \ +- $(srcdir)/pivot.h $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h \ ++ $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h \ + $(srcdir)/sudoers_debug.h $(top_builddir)/config.h \ + $(top_builddir)/pathnames.h + $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/resolve_cmnd.c +@@ -2714,7 +2677,7 @@ resolve_cmnd.i: $(srcdir)/resolve_cmnd.c $(devdir)/def_data.h \ + $(incdir)/sudo_gettext.h $(incdir)/sudo_plugin.h \ + $(incdir)/sudo_queue.h $(incdir)/sudo_util.h \ + $(srcdir)/defaults.h $(srcdir)/logging.h $(srcdir)/parse.h \ +- $(srcdir)/pivot.h $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h \ ++ $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h \ + $(srcdir)/sudoers_debug.h $(top_builddir)/config.h \ + $(top_builddir)/pathnames.h + $(CC) -E -o $@ $(CPPFLAGS) $< +@@ -2726,8 +2689,8 @@ rfc1938.lo: $(authdir)/rfc1938.c $(authdir)/sudo_auth.h $(devdir)/def_data.h \ + $(incdir)/sudo_eventlog.h $(incdir)/sudo_fatal.h \ + $(incdir)/sudo_gettext.h $(incdir)/sudo_plugin.h \ + $(incdir)/sudo_queue.h $(incdir)/sudo_util.h $(srcdir)/defaults.h \ +- $(srcdir)/logging.h $(srcdir)/parse.h $(srcdir)/pivot.h \ +- $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h $(srcdir)/sudoers_debug.h \ ++ $(srcdir)/logging.h $(srcdir)/parse.h $(srcdir)/sudo_nss.h \ ++ $(srcdir)/sudoers.h $(srcdir)/sudoers_debug.h \ + $(top_builddir)/config.h $(top_builddir)/pathnames.h + $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(authdir)/rfc1938.c + rfc1938.i: $(authdir)/rfc1938.c $(authdir)/sudo_auth.h $(devdir)/def_data.h \ +@@ -2736,7 +2699,7 @@ rfc1938.i: $(authdir)/rfc1938.c $(authdir)/sudo_auth.h $(devdir)/def_data.h \ + $(incdir)/sudo_eventlog.h $(incdir)/sudo_fatal.h \ + $(incdir)/sudo_gettext.h $(incdir)/sudo_plugin.h \ + $(incdir)/sudo_queue.h $(incdir)/sudo_util.h $(srcdir)/defaults.h \ +- $(srcdir)/logging.h $(srcdir)/parse.h $(srcdir)/pivot.h \ ++ $(srcdir)/logging.h $(srcdir)/parse.h \ + $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h $(srcdir)/sudoers_debug.h \ + $(top_builddir)/config.h $(top_builddir)/pathnames.h + $(CC) -E -o $@ $(CPPFLAGS) $< +@@ -2749,9 +2712,9 @@ secureware.lo: $(authdir)/secureware.c $(authdir)/sudo_auth.h \ + $(incdir)/sudo_fatal.h $(incdir)/sudo_gettext.h \ + $(incdir)/sudo_plugin.h $(incdir)/sudo_queue.h \ + $(incdir)/sudo_util.h $(srcdir)/defaults.h $(srcdir)/logging.h \ +- $(srcdir)/parse.h $(srcdir)/pivot.h $(srcdir)/sudo_nss.h \ +- $(srcdir)/sudoers.h $(srcdir)/sudoers_debug.h \ +- $(top_builddir)/config.h $(top_builddir)/pathnames.h ++ $(srcdir)/parse.h $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h \ ++ $(srcdir)/sudoers_debug.h $(top_builddir)/config.h \ ++ $(top_builddir)/pathnames.h + $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(authdir)/secureware.c + secureware.i: $(authdir)/secureware.c $(authdir)/sudo_auth.h \ + $(devdir)/def_data.h $(incdir)/compat/stdbool.h \ +@@ -2760,7 +2723,7 @@ secureware.i: $(authdir)/secureware.c $(authdir)/sudo_auth.h \ + $(incdir)/sudo_fatal.h $(incdir)/sudo_gettext.h \ + $(incdir)/sudo_plugin.h $(incdir)/sudo_queue.h \ + $(incdir)/sudo_util.h $(srcdir)/defaults.h $(srcdir)/logging.h \ +- $(srcdir)/parse.h $(srcdir)/pivot.h $(srcdir)/sudo_nss.h \ ++ $(srcdir)/parse.h $(srcdir)/sudo_nss.h \ + $(srcdir)/sudoers.h $(srcdir)/sudoers_debug.h \ + $(top_builddir)/config.h $(top_builddir)/pathnames.h + $(CC) -E -o $@ $(CPPFLAGS) $< +@@ -2772,10 +2735,9 @@ securid5.lo: $(authdir)/securid5.c $(authdir)/sudo_auth.h $(devdir)/def_data.h \ + $(incdir)/sudo_eventlog.h $(incdir)/sudo_fatal.h \ + $(incdir)/sudo_gettext.h $(incdir)/sudo_plugin.h \ + $(incdir)/sudo_queue.h $(incdir)/sudo_util.h $(srcdir)/defaults.h \ +- $(srcdir)/logging.h $(srcdir)/parse.h $(srcdir)/pivot.h \ +- $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h \ +- $(srcdir)/sudoers_debug.h $(top_builddir)/config.h \ +- $(top_builddir)/pathnames.h ++ $(srcdir)/logging.h $(srcdir)/parse.h $(srcdir)/sudo_nss.h \ ++ $(srcdir)/sudoers.h $(srcdir)/sudoers_debug.h \ ++ $(top_builddir)/config.h $(top_builddir)/pathnames.h + $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(authdir)/securid5.c + securid5.i: $(authdir)/securid5.c $(authdir)/sudo_auth.h $(devdir)/def_data.h \ + $(incdir)/compat/stdbool.h $(incdir)/sudo_compat.h \ +@@ -2783,7 +2745,7 @@ securid5.i: $(authdir)/securid5.c $(authdir)/sudo_auth.h $(devdir)/def_data.h \ + $(incdir)/sudo_eventlog.h $(incdir)/sudo_fatal.h \ + $(incdir)/sudo_gettext.h $(incdir)/sudo_plugin.h \ + $(incdir)/sudo_queue.h $(incdir)/sudo_util.h $(srcdir)/defaults.h \ +- $(srcdir)/logging.h $(srcdir)/parse.h $(srcdir)/pivot.h \ ++ $(srcdir)/logging.h $(srcdir)/parse.h \ + $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h \ + $(srcdir)/sudoers_debug.h $(top_builddir)/config.h \ + $(top_builddir)/pathnames.h +@@ -2797,7 +2759,7 @@ serialize_list.lo: $(srcdir)/serialize_list.c $(devdir)/def_data.h \ + $(incdir)/sudo_gettext.h $(incdir)/sudo_plugin.h \ + $(incdir)/sudo_queue.h $(incdir)/sudo_util.h \ + $(srcdir)/defaults.h $(srcdir)/logging.h $(srcdir)/parse.h \ +- $(srcdir)/pivot.h $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h \ ++ $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h \ + $(srcdir)/sudoers_debug.h $(top_builddir)/config.h \ + $(top_builddir)/pathnames.h + $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/serialize_list.c +@@ -2808,7 +2770,7 @@ serialize_list.i: $(srcdir)/serialize_list.c $(devdir)/def_data.h \ + $(incdir)/sudo_gettext.h $(incdir)/sudo_plugin.h \ + $(incdir)/sudo_queue.h $(incdir)/sudo_util.h \ + $(srcdir)/defaults.h $(srcdir)/logging.h $(srcdir)/parse.h \ +- $(srcdir)/pivot.h $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h \ ++ $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h \ + $(srcdir)/sudoers_debug.h $(top_builddir)/config.h \ + $(top_builddir)/pathnames.h + $(CC) -E -o $@ $(CPPFLAGS) $< +@@ -2821,7 +2783,7 @@ set_perms.lo: $(srcdir)/set_perms.c $(devdir)/def_data.h \ + $(incdir)/sudo_gettext.h $(incdir)/sudo_plugin.h \ + $(incdir)/sudo_queue.h $(incdir)/sudo_util.h \ + $(srcdir)/defaults.h $(srcdir)/logging.h $(srcdir)/parse.h \ +- $(srcdir)/pivot.h $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h \ ++ $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h \ + $(srcdir)/sudoers_debug.h $(srcdir)/timestamp.h \ + $(top_builddir)/config.h $(top_builddir)/pathnames.h + $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/set_perms.c +@@ -2832,7 +2794,7 @@ set_perms.i: $(srcdir)/set_perms.c $(devdir)/def_data.h \ + $(incdir)/sudo_gettext.h $(incdir)/sudo_plugin.h \ + $(incdir)/sudo_queue.h $(incdir)/sudo_util.h \ + $(srcdir)/defaults.h $(srcdir)/logging.h $(srcdir)/parse.h \ +- $(srcdir)/pivot.h $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h \ ++ $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h \ + $(srcdir)/sudoers_debug.h $(srcdir)/timestamp.h \ + $(top_builddir)/config.h $(top_builddir)/pathnames.h + $(CC) -E -o $@ $(CPPFLAGS) $< +@@ -2844,8 +2806,8 @@ sethost.lo: $(srcdir)/sethost.c $(devdir)/def_data.h \ + $(incdir)/sudo_eventlog.h $(incdir)/sudo_fatal.h \ + $(incdir)/sudo_gettext.h $(incdir)/sudo_plugin.h \ + $(incdir)/sudo_queue.h $(incdir)/sudo_util.h $(srcdir)/defaults.h \ +- $(srcdir)/logging.h $(srcdir)/parse.h $(srcdir)/pivot.h \ +- $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h $(srcdir)/sudoers_debug.h \ ++ $(srcdir)/logging.h $(srcdir)/parse.h $(srcdir)/sudo_nss.h \ ++ $(srcdir)/sudoers.h $(srcdir)/sudoers_debug.h \ + $(top_builddir)/config.h $(top_builddir)/pathnames.h + $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/sethost.c + sethost.i: $(srcdir)/sethost.c $(devdir)/def_data.h \ +@@ -2854,7 +2816,7 @@ sethost.i: $(srcdir)/sethost.c $(devdir)/def_data.h \ + $(incdir)/sudo_eventlog.h $(incdir)/sudo_fatal.h \ + $(incdir)/sudo_gettext.h $(incdir)/sudo_plugin.h \ + $(incdir)/sudo_queue.h $(incdir)/sudo_util.h $(srcdir)/defaults.h \ +- $(srcdir)/logging.h $(srcdir)/parse.h $(srcdir)/pivot.h \ ++ $(srcdir)/logging.h $(srcdir)/parse.h \ + $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h $(srcdir)/sudoers_debug.h \ + $(top_builddir)/config.h $(top_builddir)/pathnames.h + $(CC) -E -o $@ $(CPPFLAGS) $< +@@ -2866,9 +2828,8 @@ sia.lo: $(authdir)/sia.c $(authdir)/sudo_auth.h $(devdir)/def_data.h \ + $(incdir)/sudo_fatal.h $(incdir)/sudo_gettext.h \ + $(incdir)/sudo_plugin.h $(incdir)/sudo_queue.h $(incdir)/sudo_util.h \ + $(srcdir)/defaults.h $(srcdir)/logging.h $(srcdir)/parse.h \ +- $(srcdir)/pivot.h $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h \ +- $(srcdir)/sudoers_debug.h $(top_builddir)/config.h \ +- $(top_builddir)/pathnames.h ++ $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h $(srcdir)/sudoers_debug.h \ ++ $(top_builddir)/config.h $(top_builddir)/pathnames.h + $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(authdir)/sia.c + sia.i: $(authdir)/sia.c $(authdir)/sudo_auth.h $(devdir)/def_data.h \ + $(incdir)/compat/stdbool.h $(incdir)/sudo_compat.h \ +@@ -2876,7 +2837,7 @@ sia.i: $(authdir)/sia.c $(authdir)/sudo_auth.h $(devdir)/def_data.h \ + $(incdir)/sudo_fatal.h $(incdir)/sudo_gettext.h \ + $(incdir)/sudo_plugin.h $(incdir)/sudo_queue.h $(incdir)/sudo_util.h \ + $(srcdir)/defaults.h $(srcdir)/logging.h $(srcdir)/parse.h \ +- $(srcdir)/pivot.h $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h \ ++ $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h \ + $(srcdir)/sudoers_debug.h $(top_builddir)/config.h \ + $(top_builddir)/pathnames.h + $(CC) -E -o $@ $(CPPFLAGS) $< +@@ -2889,10 +2850,9 @@ solaris_audit.lo: $(srcdir)/solaris_audit.c $(devdir)/def_data.h \ + $(incdir)/sudo_gettext.h $(incdir)/sudo_plugin.h \ + $(incdir)/sudo_queue.h $(incdir)/sudo_util.h \ + $(srcdir)/defaults.h $(srcdir)/logging.h $(srcdir)/parse.h \ +- $(srcdir)/pivot.h $(srcdir)/solaris_audit.h \ +- $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h \ +- $(srcdir)/sudoers_debug.h $(top_builddir)/config.h \ +- $(top_builddir)/pathnames.h ++ $(srcdir)/solaris_audit.h $(srcdir)/sudo_nss.h \ ++ $(srcdir)/sudoers.h $(srcdir)/sudoers_debug.h \ ++ $(top_builddir)/config.h $(top_builddir)/pathnames.h + $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/solaris_audit.c + solaris_audit.i: $(srcdir)/solaris_audit.c $(devdir)/def_data.h \ + $(incdir)/compat/stdbool.h $(incdir)/sudo_compat.h \ +@@ -2901,7 +2861,7 @@ solaris_audit.i: $(srcdir)/solaris_audit.c $(devdir)/def_data.h \ + $(incdir)/sudo_gettext.h $(incdir)/sudo_plugin.h \ + $(incdir)/sudo_queue.h $(incdir)/sudo_util.h \ + $(srcdir)/defaults.h $(srcdir)/logging.h $(srcdir)/parse.h \ +- $(srcdir)/pivot.h $(srcdir)/solaris_audit.h \ ++ $(srcdir)/solaris_audit.h \ + $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h \ + $(srcdir)/sudoers_debug.h $(top_builddir)/config.h \ + $(top_builddir)/pathnames.h +@@ -2914,9 +2874,9 @@ sssd.lo: $(srcdir)/sssd.c $(devdir)/def_data.h $(incdir)/compat/stdbool.h \ + $(incdir)/sudo_gettext.h $(incdir)/sudo_lbuf.h \ + $(incdir)/sudo_plugin.h $(incdir)/sudo_queue.h $(incdir)/sudo_util.h \ + $(srcdir)/defaults.h $(srcdir)/logging.h $(srcdir)/parse.h \ +- $(srcdir)/pivot.h $(srcdir)/sudo_ldap.h $(srcdir)/sudo_nss.h \ +- $(srcdir)/sudoers.h $(srcdir)/sudoers_debug.h \ +- $(top_builddir)/config.h $(top_builddir)/pathnames.h ++ $(srcdir)/sudo_ldap.h $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h \ ++ $(srcdir)/sudoers_debug.h $(top_builddir)/config.h \ ++ $(top_builddir)/pathnames.h + $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/sssd.c + sssd.i: $(srcdir)/sssd.c $(devdir)/def_data.h $(incdir)/compat/stdbool.h \ + $(incdir)/sudo_compat.h $(incdir)/sudo_conf.h $(incdir)/sudo_debug.h \ +@@ -2924,7 +2884,7 @@ sssd.i: $(srcdir)/sssd.c $(devdir)/def_data.h $(incdir)/compat/stdbool.h \ + $(incdir)/sudo_gettext.h $(incdir)/sudo_lbuf.h \ + $(incdir)/sudo_plugin.h $(incdir)/sudo_queue.h $(incdir)/sudo_util.h \ + $(srcdir)/defaults.h $(srcdir)/logging.h $(srcdir)/parse.h \ +- $(srcdir)/pivot.h $(srcdir)/sudo_ldap.h $(srcdir)/sudo_nss.h \ ++ $(srcdir)/sudo_ldap.h $(srcdir)/sudo_nss.h \ + $(srcdir)/sudoers.h $(srcdir)/sudoers_debug.h \ + $(top_builddir)/config.h $(top_builddir)/pathnames.h + $(CC) -E -o $@ $(CPPFLAGS) $< +@@ -2937,7 +2897,7 @@ starttime.lo: $(srcdir)/starttime.c $(devdir)/def_data.h \ + $(incdir)/sudo_gettext.h $(incdir)/sudo_plugin.h \ + $(incdir)/sudo_queue.h $(incdir)/sudo_util.h \ + $(srcdir)/defaults.h $(srcdir)/logging.h $(srcdir)/parse.h \ +- $(srcdir)/pivot.h $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h \ ++ $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h \ + $(srcdir)/sudoers_debug.h $(srcdir)/timestamp.h \ + $(top_builddir)/config.h $(top_builddir)/pathnames.h + $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/starttime.c +@@ -2948,7 +2908,7 @@ starttime.i: $(srcdir)/starttime.c $(devdir)/def_data.h \ + $(incdir)/sudo_gettext.h $(incdir)/sudo_plugin.h \ + $(incdir)/sudo_queue.h $(incdir)/sudo_util.h \ + $(srcdir)/defaults.h $(srcdir)/logging.h $(srcdir)/parse.h \ +- $(srcdir)/pivot.h $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h \ ++ $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h \ + $(srcdir)/sudoers_debug.h $(srcdir)/timestamp.h \ + $(top_builddir)/config.h $(top_builddir)/pathnames.h + $(CC) -E -o $@ $(CPPFLAGS) $< +@@ -2961,7 +2921,7 @@ strlcpy_unesc.lo: $(srcdir)/strlcpy_unesc.c $(devdir)/def_data.h \ + $(incdir)/sudo_gettext.h $(incdir)/sudo_plugin.h \ + $(incdir)/sudo_queue.h $(incdir)/sudo_util.h \ + $(srcdir)/defaults.h $(srcdir)/logging.h $(srcdir)/parse.h \ +- $(srcdir)/pivot.h $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h \ ++ $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h \ + $(srcdir)/sudoers_debug.h $(top_builddir)/config.h \ + $(top_builddir)/pathnames.h + $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/strlcpy_unesc.c +@@ -2972,7 +2932,7 @@ strlcpy_unesc.i: $(srcdir)/strlcpy_unesc.c $(devdir)/def_data.h \ + $(incdir)/sudo_gettext.h $(incdir)/sudo_plugin.h \ + $(incdir)/sudo_queue.h $(incdir)/sudo_util.h \ + $(srcdir)/defaults.h $(srcdir)/logging.h $(srcdir)/parse.h \ +- $(srcdir)/pivot.h $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h \ ++ $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h \ + $(srcdir)/sudoers_debug.h $(top_builddir)/config.h \ + $(top_builddir)/pathnames.h + $(CC) -E -o $@ $(CPPFLAGS) $< +@@ -2997,7 +2957,7 @@ strvec_join.lo: $(srcdir)/strvec_join.c $(devdir)/def_data.h \ + $(incdir)/sudo_gettext.h $(incdir)/sudo_plugin.h \ + $(incdir)/sudo_queue.h $(incdir)/sudo_util.h \ + $(srcdir)/defaults.h $(srcdir)/logging.h $(srcdir)/parse.h \ +- $(srcdir)/pivot.h $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h \ ++ $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h \ + $(srcdir)/sudoers_debug.h $(top_builddir)/config.h \ + $(top_builddir)/pathnames.h + $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/strvec_join.c +@@ -3008,7 +2968,7 @@ strvec_join.i: $(srcdir)/strvec_join.c $(devdir)/def_data.h \ + $(incdir)/sudo_gettext.h $(incdir)/sudo_plugin.h \ + $(incdir)/sudo_queue.h $(incdir)/sudo_util.h \ + $(srcdir)/defaults.h $(srcdir)/logging.h $(srcdir)/parse.h \ +- $(srcdir)/pivot.h $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h \ ++ $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h \ + $(srcdir)/sudoers_debug.h $(top_builddir)/config.h \ + $(top_builddir)/pathnames.h + $(CC) -E -o $@ $(CPPFLAGS) $< +@@ -3020,9 +2980,8 @@ stubs.o: $(srcdir)/stubs.c $(devdir)/def_data.h $(incdir)/compat/stdbool.h \ + $(incdir)/sudo_gettext.h $(incdir)/sudo_plugin.h \ + $(incdir)/sudo_queue.h $(incdir)/sudo_util.h $(srcdir)/defaults.h \ + $(srcdir)/interfaces.h $(srcdir)/logging.h $(srcdir)/parse.h \ +- $(srcdir)/pivot.h $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h \ +- $(srcdir)/sudoers_debug.h $(top_builddir)/config.h \ +- $(top_builddir)/pathnames.h ++ $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h $(srcdir)/sudoers_debug.h \ ++ $(top_builddir)/config.h $(top_builddir)/pathnames.h + $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/stubs.c + stubs.i: $(srcdir)/stubs.c $(devdir)/def_data.h $(incdir)/compat/stdbool.h \ + $(incdir)/sudo_compat.h $(incdir)/sudo_conf.h $(incdir)/sudo_debug.h \ +@@ -3030,7 +2989,7 @@ stubs.i: $(srcdir)/stubs.c $(devdir)/def_data.h $(incdir)/compat/stdbool.h \ + $(incdir)/sudo_gettext.h $(incdir)/sudo_plugin.h \ + $(incdir)/sudo_queue.h $(incdir)/sudo_util.h $(srcdir)/defaults.h \ + $(srcdir)/interfaces.h $(srcdir)/logging.h $(srcdir)/parse.h \ +- $(srcdir)/pivot.h $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h \ ++ $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h \ + $(srcdir)/sudoers_debug.h $(top_builddir)/config.h \ + $(top_builddir)/pathnames.h + $(CC) -E -o $@ $(CPPFLAGS) $< +@@ -3046,10 +3005,9 @@ sudo_auth.lo: $(authdir)/sudo_auth.c $(authdir)/sudo_auth.h \ + $(srcdir)/ins_2001.h $(srcdir)/ins_classic.h \ + $(srcdir)/ins_csops.h $(srcdir)/ins_goons.h \ + $(srcdir)/ins_python.h $(srcdir)/insults.h $(srcdir)/logging.h \ +- $(srcdir)/parse.h $(srcdir)/pivot.h $(srcdir)/sudo_nss.h \ +- $(srcdir)/sudoers.h $(srcdir)/sudoers_debug.h \ +- $(srcdir)/timestamp.h $(top_builddir)/config.h \ +- $(top_builddir)/pathnames.h ++ $(srcdir)/parse.h $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h \ ++ $(srcdir)/sudoers_debug.h $(srcdir)/timestamp.h \ ++ $(top_builddir)/config.h $(top_builddir)/pathnames.h + $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(authdir)/sudo_auth.c + sudo_auth.i: $(authdir)/sudo_auth.c $(authdir)/sudo_auth.h \ + $(devdir)/def_data.h $(incdir)/compat/stdbool.h \ +@@ -3061,7 +3019,7 @@ sudo_auth.i: $(authdir)/sudo_auth.c $(authdir)/sudo_auth.h \ + $(srcdir)/ins_2001.h $(srcdir)/ins_classic.h \ + $(srcdir)/ins_csops.h $(srcdir)/ins_goons.h \ + $(srcdir)/ins_python.h $(srcdir)/insults.h $(srcdir)/logging.h \ +- $(srcdir)/parse.h $(srcdir)/pivot.h $(srcdir)/sudo_nss.h \ ++ $(srcdir)/parse.h $(srcdir)/sudo_nss.h \ + $(srcdir)/sudoers.h $(srcdir)/sudoers_debug.h \ + $(srcdir)/timestamp.h $(top_builddir)/config.h \ + $(top_builddir)/pathnames.h +@@ -3074,10 +3032,9 @@ sudo_nss.lo: $(srcdir)/sudo_nss.c $(devdir)/def_data.h \ + $(incdir)/sudo_eventlog.h $(incdir)/sudo_fatal.h \ + $(incdir)/sudo_gettext.h $(incdir)/sudo_plugin.h \ + $(incdir)/sudo_queue.h $(incdir)/sudo_util.h $(srcdir)/defaults.h \ +- $(srcdir)/logging.h $(srcdir)/parse.h $(srcdir)/pivot.h \ +- $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h \ +- $(srcdir)/sudoers_debug.h $(top_builddir)/config.h \ +- $(top_builddir)/pathnames.h ++ $(srcdir)/logging.h $(srcdir)/parse.h $(srcdir)/sudo_nss.h \ ++ $(srcdir)/sudoers.h $(srcdir)/sudoers_debug.h \ ++ $(top_builddir)/config.h $(top_builddir)/pathnames.h + $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/sudo_nss.c + sudo_nss.i: $(srcdir)/sudo_nss.c $(devdir)/def_data.h \ + $(incdir)/compat/stdbool.h $(incdir)/sudo_compat.h \ +@@ -3085,7 +3042,7 @@ sudo_nss.i: $(srcdir)/sudo_nss.c $(devdir)/def_data.h \ + $(incdir)/sudo_eventlog.h $(incdir)/sudo_fatal.h \ + $(incdir)/sudo_gettext.h $(incdir)/sudo_plugin.h \ + $(incdir)/sudo_queue.h $(incdir)/sudo_util.h $(srcdir)/defaults.h \ +- $(srcdir)/logging.h $(srcdir)/parse.h $(srcdir)/pivot.h \ ++ $(srcdir)/logging.h $(srcdir)/parse.h \ + $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h \ + $(srcdir)/sudoers_debug.h $(top_builddir)/config.h \ + $(top_builddir)/pathnames.h +@@ -3111,8 +3068,8 @@ sudoers.lo: $(srcdir)/sudoers.c $(devdir)/def_data.h \ + $(incdir)/sudo_fatal.h $(incdir)/sudo_gettext.h \ + $(incdir)/sudo_iolog.h $(incdir)/sudo_plugin.h \ + $(incdir)/sudo_queue.h $(incdir)/sudo_util.h $(srcdir)/defaults.h \ +- $(srcdir)/logging.h $(srcdir)/parse.h $(srcdir)/pivot.h \ +- $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h $(srcdir)/sudoers_debug.h \ ++ $(srcdir)/logging.h $(srcdir)/parse.h $(srcdir)/sudo_nss.h \ ++ $(srcdir)/sudoers.h $(srcdir)/sudoers_debug.h \ + $(srcdir)/timestamp.h $(top_builddir)/config.h \ + $(top_builddir)/pathnames.h + $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/sudoers.c +@@ -3123,7 +3080,7 @@ sudoers.i: $(srcdir)/sudoers.c $(devdir)/def_data.h \ + $(incdir)/sudo_fatal.h $(incdir)/sudo_gettext.h \ + $(incdir)/sudo_iolog.h $(incdir)/sudo_plugin.h \ + $(incdir)/sudo_queue.h $(incdir)/sudo_util.h $(srcdir)/defaults.h \ +- $(srcdir)/logging.h $(srcdir)/parse.h $(srcdir)/pivot.h \ ++ $(srcdir)/logging.h $(srcdir)/parse.h \ + $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h $(srcdir)/sudoers_debug.h \ + $(srcdir)/timestamp.h $(top_builddir)/config.h \ + $(top_builddir)/pathnames.h +@@ -3138,7 +3095,7 @@ sudoers_cb.lo: $(srcdir)/sudoers_cb.c $(devdir)/def_data.h \ + $(incdir)/sudo_iolog.h $(incdir)/sudo_plugin.h \ + $(incdir)/sudo_queue.h $(incdir)/sudo_util.h \ + $(srcdir)/defaults.h $(srcdir)/logging.h $(srcdir)/parse.h \ +- $(srcdir)/pivot.h $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h \ ++ $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h \ + $(srcdir)/sudoers_debug.h $(srcdir)/timestamp.h \ + $(top_builddir)/config.h $(top_builddir)/pathnames.h + $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/sudoers_cb.c +@@ -3150,7 +3107,7 @@ sudoers_cb.i: $(srcdir)/sudoers_cb.c $(devdir)/def_data.h \ + $(incdir)/sudo_iolog.h $(incdir)/sudo_plugin.h \ + $(incdir)/sudo_queue.h $(incdir)/sudo_util.h \ + $(srcdir)/defaults.h $(srcdir)/logging.h $(srcdir)/parse.h \ +- $(srcdir)/pivot.h $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h \ ++ $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h \ + $(srcdir)/sudoers_debug.h $(srcdir)/timestamp.h \ + $(top_builddir)/config.h $(top_builddir)/pathnames.h + $(CC) -E -o $@ $(CPPFLAGS) $< +@@ -3163,7 +3120,7 @@ sudoers_ctx_free.lo: $(srcdir)/sudoers_ctx_free.c $(devdir)/def_data.h \ + $(incdir)/sudo_gettext.h $(incdir)/sudo_plugin.h \ + $(incdir)/sudo_queue.h $(incdir)/sudo_util.h \ + $(srcdir)/defaults.h $(srcdir)/logging.h \ +- $(srcdir)/parse.h $(srcdir)/pivot.h $(srcdir)/sudo_nss.h \ ++ $(srcdir)/parse.h $(srcdir)/sudo_nss.h \ + $(srcdir)/sudoers.h $(srcdir)/sudoers_debug.h \ + $(top_builddir)/config.h $(top_builddir)/pathnames.h + $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/sudoers_ctx_free.c +@@ -3174,7 +3131,7 @@ sudoers_ctx_free.i: $(srcdir)/sudoers_ctx_free.c $(devdir)/def_data.h \ + $(incdir)/sudo_gettext.h $(incdir)/sudo_plugin.h \ + $(incdir)/sudo_queue.h $(incdir)/sudo_util.h \ + $(srcdir)/defaults.h $(srcdir)/logging.h \ +- $(srcdir)/parse.h $(srcdir)/pivot.h $(srcdir)/sudo_nss.h \ ++ $(srcdir)/parse.h $(srcdir)/sudo_nss.h \ + $(srcdir)/sudoers.h $(srcdir)/sudoers_debug.h \ + $(top_builddir)/config.h $(top_builddir)/pathnames.h + $(CC) -E -o $@ $(CPPFLAGS) $< +@@ -3187,7 +3144,7 @@ sudoers_debug.lo: $(srcdir)/sudoers_debug.c $(devdir)/def_data.h \ + $(incdir)/sudo_gettext.h $(incdir)/sudo_plugin.h \ + $(incdir)/sudo_queue.h $(incdir)/sudo_util.h \ + $(srcdir)/defaults.h $(srcdir)/logging.h $(srcdir)/parse.h \ +- $(srcdir)/pivot.h $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h \ ++ $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h \ + $(srcdir)/sudoers_debug.h $(top_builddir)/config.h \ + $(top_builddir)/pathnames.h + $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/sudoers_debug.c +@@ -3198,7 +3155,7 @@ sudoers_debug.i: $(srcdir)/sudoers_debug.c $(devdir)/def_data.h \ + $(incdir)/sudo_gettext.h $(incdir)/sudo_plugin.h \ + $(incdir)/sudo_queue.h $(incdir)/sudo_util.h \ + $(srcdir)/defaults.h $(srcdir)/logging.h $(srcdir)/parse.h \ +- $(srcdir)/pivot.h $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h \ ++ $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h \ + $(srcdir)/sudoers_debug.h $(top_builddir)/config.h \ + $(top_builddir)/pathnames.h + $(CC) -E -o $@ $(CPPFLAGS) $< +@@ -3211,7 +3168,7 @@ sudoers_hooks.lo: $(srcdir)/sudoers_hooks.c $(devdir)/def_data.h \ + $(incdir)/sudo_gettext.h $(incdir)/sudo_plugin.h \ + $(incdir)/sudo_queue.h $(incdir)/sudo_util.h \ + $(srcdir)/defaults.h $(srcdir)/logging.h $(srcdir)/parse.h \ +- $(srcdir)/pivot.h $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h \ ++ $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h \ + $(srcdir)/sudoers_debug.h $(top_builddir)/config.h \ + $(top_builddir)/pathnames.h + $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/sudoers_hooks.c +@@ -3222,7 +3179,7 @@ sudoers_hooks.i: $(srcdir)/sudoers_hooks.c $(devdir)/def_data.h \ + $(incdir)/sudo_gettext.h $(incdir)/sudo_plugin.h \ + $(incdir)/sudo_queue.h $(incdir)/sudo_util.h \ + $(srcdir)/defaults.h $(srcdir)/logging.h $(srcdir)/parse.h \ +- $(srcdir)/pivot.h $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h \ ++ $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h \ + $(srcdir)/sudoers_debug.h $(top_builddir)/config.h \ + $(top_builddir)/pathnames.h + $(CC) -E -o $@ $(CPPFLAGS) $< +@@ -3258,7 +3215,7 @@ testsudoers.o: $(srcdir)/testsudoers.c $(devdir)/def_data.h $(devdir)/gram.h \ + $(incdir)/sudo_plugin.h $(incdir)/sudo_queue.h \ + $(incdir)/sudo_util.h $(srcdir)/defaults.h \ + $(srcdir)/interfaces.h $(srcdir)/logging.h $(srcdir)/parse.h \ +- $(srcdir)/pivot.h $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h \ ++ $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h \ + $(srcdir)/sudoers_debug.h $(srcdir)/testsudoers_pwutil.h \ + $(srcdir)/toke.h $(srcdir)/tsgetgrpw.h $(top_builddir)/config.h \ + $(top_builddir)/pathnames.h +@@ -3271,7 +3228,7 @@ testsudoers.i: $(srcdir)/testsudoers.c $(devdir)/def_data.h $(devdir)/gram.h \ + $(incdir)/sudo_plugin.h $(incdir)/sudo_queue.h \ + $(incdir)/sudo_util.h $(srcdir)/defaults.h \ + $(srcdir)/interfaces.h $(srcdir)/logging.h $(srcdir)/parse.h \ +- $(srcdir)/pivot.h $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h \ ++ $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h \ + $(srcdir)/sudoers_debug.h $(srcdir)/testsudoers_pwutil.h \ + $(srcdir)/toke.h $(srcdir)/tsgetgrpw.h $(top_builddir)/config.h \ + $(top_builddir)/pathnames.h +@@ -3285,7 +3242,7 @@ testsudoers_pwutil.o: $(srcdir)/testsudoers_pwutil.c $(devdir)/def_data.h \ + $(incdir)/sudo_gettext.h $(incdir)/sudo_plugin.h \ + $(incdir)/sudo_queue.h $(incdir)/sudo_util.h \ + $(srcdir)/defaults.h $(srcdir)/logging.h \ +- $(srcdir)/parse.h $(srcdir)/pivot.h $(srcdir)/pwutil.h \ ++ $(srcdir)/parse.h $(srcdir)/pwutil.h \ + $(srcdir)/pwutil_impl.c $(srcdir)/sudo_nss.h \ + $(srcdir)/sudoers.h $(srcdir)/sudoers_debug.h \ + $(srcdir)/testsudoers_pwutil.h $(srcdir)/tsgetgrpw.h \ +@@ -3298,7 +3255,7 @@ testsudoers_pwutil.i: $(srcdir)/testsudoers_pwutil.c $(devdir)/def_data.h \ + $(incdir)/sudo_gettext.h $(incdir)/sudo_plugin.h \ + $(incdir)/sudo_queue.h $(incdir)/sudo_util.h \ + $(srcdir)/defaults.h $(srcdir)/logging.h \ +- $(srcdir)/parse.h $(srcdir)/pivot.h $(srcdir)/pwutil.h \ ++ $(srcdir)/parse.h $(srcdir)/pwutil.h \ + $(srcdir)/pwutil_impl.c $(srcdir)/sudo_nss.h \ + $(srcdir)/sudoers.h $(srcdir)/sudoers_debug.h \ + $(srcdir)/testsudoers_pwutil.h $(srcdir)/tsgetgrpw.h \ +@@ -3325,7 +3282,7 @@ timestamp.lo: $(srcdir)/timestamp.c $(devdir)/def_data.h \ + $(incdir)/sudo_gettext.h $(incdir)/sudo_plugin.h \ + $(incdir)/sudo_queue.h $(incdir)/sudo_util.h \ + $(srcdir)/defaults.h $(srcdir)/logging.h $(srcdir)/parse.h \ +- $(srcdir)/pivot.h $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h \ ++ $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h \ + $(srcdir)/sudoers_debug.h $(srcdir)/timestamp.h \ + $(top_builddir)/config.h $(top_builddir)/pathnames.h + $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/timestamp.c +@@ -3336,7 +3293,7 @@ timestamp.i: $(srcdir)/timestamp.c $(devdir)/def_data.h \ + $(incdir)/sudo_gettext.h $(incdir)/sudo_plugin.h \ + $(incdir)/sudo_queue.h $(incdir)/sudo_util.h \ + $(srcdir)/defaults.h $(srcdir)/logging.h $(srcdir)/parse.h \ +- $(srcdir)/pivot.h $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h \ ++ $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h \ + $(srcdir)/sudoers_debug.h $(srcdir)/timestamp.h \ + $(top_builddir)/config.h $(top_builddir)/pathnames.h + $(CC) -E -o $@ $(CPPFLAGS) $< +@@ -3348,8 +3305,8 @@ timestr.lo: $(srcdir)/timestr.c $(devdir)/def_data.h \ + $(incdir)/sudo_eventlog.h $(incdir)/sudo_fatal.h \ + $(incdir)/sudo_gettext.h $(incdir)/sudo_plugin.h \ + $(incdir)/sudo_queue.h $(incdir)/sudo_util.h $(srcdir)/defaults.h \ +- $(srcdir)/logging.h $(srcdir)/parse.h $(srcdir)/pivot.h \ +- $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h $(srcdir)/sudoers_debug.h \ ++ $(srcdir)/logging.h $(srcdir)/parse.h $(srcdir)/sudo_nss.h \ ++ $(srcdir)/sudoers.h $(srcdir)/sudoers_debug.h \ + $(top_builddir)/config.h $(top_builddir)/pathnames.h + $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/timestr.c + timestr.i: $(srcdir)/timestr.c $(devdir)/def_data.h \ +@@ -3358,7 +3315,7 @@ timestr.i: $(srcdir)/timestr.c $(devdir)/def_data.h \ + $(incdir)/sudo_eventlog.h $(incdir)/sudo_fatal.h \ + $(incdir)/sudo_gettext.h $(incdir)/sudo_plugin.h \ + $(incdir)/sudo_queue.h $(incdir)/sudo_util.h $(srcdir)/defaults.h \ +- $(srcdir)/logging.h $(srcdir)/parse.h $(srcdir)/pivot.h \ ++ $(srcdir)/logging.h $(srcdir)/parse.h \ + $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h $(srcdir)/sudoers_debug.h \ + $(top_builddir)/config.h $(top_builddir)/pathnames.h + $(CC) -E -o $@ $(CPPFLAGS) $< +@@ -3371,9 +3328,8 @@ toke.lo: $(devdir)/toke.c $(devdir)/def_data.h $(devdir)/gram.h \ + $(incdir)/sudo_gettext.h $(incdir)/sudo_lbuf.h \ + $(incdir)/sudo_plugin.h $(incdir)/sudo_queue.h $(incdir)/sudo_util.h \ + $(srcdir)/defaults.h $(srcdir)/logging.h $(srcdir)/parse.h \ +- $(srcdir)/pivot.h $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h \ +- $(srcdir)/sudoers_debug.h $(srcdir)/toke.h $(top_builddir)/config.h \ +- $(top_builddir)/pathnames.h ++ $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h $(srcdir)/sudoers_debug.h \ ++ $(srcdir)/toke.h $(top_builddir)/config.h $(top_builddir)/pathnames.h + $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(devdir)/toke.c + toke.i: $(devdir)/toke.c $(devdir)/def_data.h $(devdir)/gram.h \ + $(incdir)/compat/stdbool.h $(incdir)/sudo_compat.h \ +@@ -3382,7 +3338,7 @@ toke.i: $(devdir)/toke.c $(devdir)/def_data.h $(devdir)/gram.h \ + $(incdir)/sudo_gettext.h $(incdir)/sudo_lbuf.h \ + $(incdir)/sudo_plugin.h $(incdir)/sudo_queue.h $(incdir)/sudo_util.h \ + $(srcdir)/defaults.h $(srcdir)/logging.h $(srcdir)/parse.h \ +- $(srcdir)/pivot.h $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h \ ++ $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h \ + $(srcdir)/sudoers_debug.h $(srcdir)/toke.h $(top_builddir)/config.h \ + $(top_builddir)/pathnames.h + $(CC) -E -o $@ $(CPPFLAGS) $< +@@ -3395,7 +3351,7 @@ toke_util.lo: $(srcdir)/toke_util.c $(devdir)/def_data.h $(devdir)/gram.h \ + $(incdir)/sudo_gettext.h $(incdir)/sudo_plugin.h \ + $(incdir)/sudo_queue.h $(incdir)/sudo_util.h \ + $(srcdir)/defaults.h $(srcdir)/logging.h $(srcdir)/parse.h \ +- $(srcdir)/pivot.h $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h \ ++ $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h \ + $(srcdir)/sudoers_debug.h $(srcdir)/toke.h \ + $(top_builddir)/config.h $(top_builddir)/pathnames.h + $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/toke_util.c +@@ -3406,7 +3362,7 @@ toke_util.i: $(srcdir)/toke_util.c $(devdir)/def_data.h $(devdir)/gram.h \ + $(incdir)/sudo_gettext.h $(incdir)/sudo_plugin.h \ + $(incdir)/sudo_queue.h $(incdir)/sudo_util.h \ + $(srcdir)/defaults.h $(srcdir)/logging.h $(srcdir)/parse.h \ +- $(srcdir)/pivot.h $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h \ ++ $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h \ + $(srcdir)/sudoers_debug.h $(srcdir)/toke.h \ + $(top_builddir)/config.h $(top_builddir)/pathnames.h + $(CC) -E -o $@ $(CPPFLAGS) $< +@@ -3417,7 +3373,7 @@ tsdump.o: $(srcdir)/tsdump.c $(devdir)/def_data.h $(incdir)/compat/stdbool.h \ + $(incdir)/sudo_eventlog.h $(incdir)/sudo_fatal.h \ + $(incdir)/sudo_gettext.h $(incdir)/sudo_plugin.h \ + $(incdir)/sudo_queue.h $(incdir)/sudo_util.h $(srcdir)/defaults.h \ +- $(srcdir)/logging.h $(srcdir)/parse.h $(srcdir)/pivot.h \ ++ $(srcdir)/logging.h $(srcdir)/parse.h \ + $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h $(srcdir)/sudoers_debug.h \ + $(srcdir)/timestamp.h $(top_builddir)/config.h \ + $(top_builddir)/pathnames.h +@@ -3427,7 +3383,7 @@ tsdump.i: $(srcdir)/tsdump.c $(devdir)/def_data.h $(incdir)/compat/stdbool.h \ + $(incdir)/sudo_eventlog.h $(incdir)/sudo_fatal.h \ + $(incdir)/sudo_gettext.h $(incdir)/sudo_plugin.h \ + $(incdir)/sudo_queue.h $(incdir)/sudo_util.h $(srcdir)/defaults.h \ +- $(srcdir)/logging.h $(srcdir)/parse.h $(srcdir)/pivot.h \ ++ $(srcdir)/logging.h $(srcdir)/parse.h \ + $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h $(srcdir)/sudoers_debug.h \ + $(srcdir)/timestamp.h $(top_builddir)/config.h \ + $(top_builddir)/pathnames.h +@@ -3440,10 +3396,10 @@ tsgetgrpw.o: $(srcdir)/tsgetgrpw.c $(devdir)/def_data.h \ + $(incdir)/sudo_eventlog.h $(incdir)/sudo_fatal.h \ + $(incdir)/sudo_gettext.h $(incdir)/sudo_plugin.h \ + $(incdir)/sudo_queue.h $(incdir)/sudo_util.h $(srcdir)/defaults.h \ +- $(srcdir)/logging.h $(srcdir)/parse.h $(srcdir)/pivot.h \ +- $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h \ +- $(srcdir)/sudoers_debug.h $(srcdir)/tsgetgrpw.h \ +- $(top_builddir)/config.h $(top_builddir)/pathnames.h ++ $(srcdir)/logging.h $(srcdir)/parse.h $(srcdir)/sudo_nss.h \ ++ $(srcdir)/sudoers.h $(srcdir)/sudoers_debug.h \ ++ $(srcdir)/tsgetgrpw.h $(top_builddir)/config.h \ ++ $(top_builddir)/pathnames.h + $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/tsgetgrpw.c + tsgetgrpw.i: $(srcdir)/tsgetgrpw.c $(devdir)/def_data.h \ + $(incdir)/compat/stdbool.h $(incdir)/sudo_compat.h \ +@@ -3451,7 +3407,7 @@ tsgetgrpw.i: $(srcdir)/tsgetgrpw.c $(devdir)/def_data.h \ + $(incdir)/sudo_eventlog.h $(incdir)/sudo_fatal.h \ + $(incdir)/sudo_gettext.h $(incdir)/sudo_plugin.h \ + $(incdir)/sudo_queue.h $(incdir)/sudo_util.h $(srcdir)/defaults.h \ +- $(srcdir)/logging.h $(srcdir)/parse.h $(srcdir)/pivot.h \ ++ $(srcdir)/logging.h $(srcdir)/parse.h \ + $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h \ + $(srcdir)/sudoers_debug.h $(srcdir)/tsgetgrpw.h \ + $(top_builddir)/config.h $(top_builddir)/pathnames.h +@@ -3477,7 +3433,7 @@ unesc_str.lo: $(srcdir)/unesc_str.c $(devdir)/def_data.h \ + $(incdir)/sudo_gettext.h $(incdir)/sudo_plugin.h \ + $(incdir)/sudo_queue.h $(incdir)/sudo_util.h \ + $(srcdir)/defaults.h $(srcdir)/logging.h $(srcdir)/parse.h \ +- $(srcdir)/pivot.h $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h \ ++ $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h \ + $(srcdir)/sudoers_debug.h $(top_builddir)/config.h \ + $(top_builddir)/pathnames.h + $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/unesc_str.c +@@ -3488,7 +3444,7 @@ unesc_str.i: $(srcdir)/unesc_str.c $(devdir)/def_data.h \ + $(incdir)/sudo_gettext.h $(incdir)/sudo_plugin.h \ + $(incdir)/sudo_queue.h $(incdir)/sudo_util.h \ + $(srcdir)/defaults.h $(srcdir)/logging.h $(srcdir)/parse.h \ +- $(srcdir)/pivot.h $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h \ ++ $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h \ + $(srcdir)/sudoers_debug.h $(top_builddir)/config.h \ + $(top_builddir)/pathnames.h + $(CC) -E -o $@ $(CPPFLAGS) $< +@@ -3501,10 +3457,9 @@ visudo.o: $(srcdir)/visudo.c $(devdir)/def_data.h $(devdir)/gram.h \ + $(incdir)/sudo_gettext.h $(incdir)/sudo_plugin.h \ + $(incdir)/sudo_queue.h $(incdir)/sudo_util.h $(srcdir)/defaults.h \ + $(srcdir)/interfaces.h $(srcdir)/logging.h $(srcdir)/parse.h \ +- $(srcdir)/pivot.h $(srcdir)/redblack.h $(srcdir)/sudo_nss.h \ +- $(srcdir)/sudoers.h $(srcdir)/sudoers_debug.h \ +- $(srcdir)/sudoers_version.h $(top_builddir)/config.h \ +- $(top_builddir)/pathnames.h ++ $(srcdir)/redblack.h $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h \ ++ $(srcdir)/sudoers_debug.h $(srcdir)/sudoers_version.h \ ++ $(top_builddir)/config.h $(top_builddir)/pathnames.h + $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/visudo.c + visudo.i: $(srcdir)/visudo.c $(devdir)/def_data.h $(devdir)/gram.h \ + $(incdir)/compat/getopt.h $(incdir)/compat/stdbool.h \ +@@ -3513,7 +3468,7 @@ visudo.i: $(srcdir)/visudo.c $(devdir)/def_data.h $(devdir)/gram.h \ + $(incdir)/sudo_gettext.h $(incdir)/sudo_plugin.h \ + $(incdir)/sudo_queue.h $(incdir)/sudo_util.h $(srcdir)/defaults.h \ + $(srcdir)/interfaces.h $(srcdir)/logging.h $(srcdir)/parse.h \ +- $(srcdir)/pivot.h $(srcdir)/redblack.h $(srcdir)/sudo_nss.h \ ++ $(srcdir)/redblack.h $(srcdir)/sudo_nss.h \ + $(srcdir)/sudoers.h $(srcdir)/sudoers_debug.h \ + $(srcdir)/sudoers_version.h $(top_builddir)/config.h \ + $(top_builddir)/pathnames.h +@@ -3526,10 +3481,9 @@ visudo_cb.o: $(srcdir)/visudo_cb.c $(devdir)/def_data.h \ + $(incdir)/sudo_eventlog.h $(incdir)/sudo_fatal.h \ + $(incdir)/sudo_gettext.h $(incdir)/sudo_plugin.h \ + $(incdir)/sudo_queue.h $(incdir)/sudo_util.h $(srcdir)/defaults.h \ +- $(srcdir)/logging.h $(srcdir)/parse.h $(srcdir)/pivot.h \ +- $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h \ +- $(srcdir)/sudoers_debug.h $(top_builddir)/config.h \ +- $(top_builddir)/pathnames.h ++ $(srcdir)/logging.h $(srcdir)/parse.h $(srcdir)/sudo_nss.h \ ++ $(srcdir)/sudoers.h $(srcdir)/sudoers_debug.h \ ++ $(top_builddir)/config.h $(top_builddir)/pathnames.h + $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/visudo_cb.c + visudo_cb.i: $(srcdir)/visudo_cb.c $(devdir)/def_data.h \ + $(incdir)/compat/stdbool.h $(incdir)/sudo_compat.h \ +@@ -3537,7 +3491,7 @@ visudo_cb.i: $(srcdir)/visudo_cb.c $(devdir)/def_data.h \ + $(incdir)/sudo_eventlog.h $(incdir)/sudo_fatal.h \ + $(incdir)/sudo_gettext.h $(incdir)/sudo_plugin.h \ + $(incdir)/sudo_queue.h $(incdir)/sudo_util.h $(srcdir)/defaults.h \ +- $(srcdir)/logging.h $(srcdir)/parse.h $(srcdir)/pivot.h \ ++ $(srcdir)/logging.h $(srcdir)/parse.h \ + $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h \ + $(srcdir)/sudoers_debug.h $(top_builddir)/config.h \ + $(top_builddir)/pathnames.h +diff --git a/plugins/sudoers/editor.c b/plugins/sudoers/editor.c +index db1e3e0..0c4221b 100644 +--- a/plugins/sudoers/editor.c ++++ b/plugins/sudoers/editor.c +@@ -147,7 +147,7 @@ resolve_editor(const char *ed, size_t edlen, int nfiles, char * const *files, + goto oom; + + /* If we can't find the editor in the user's PATH, give up. */ +- if (find_path(editor, &editor_path, &user_editor_sb, getenv("PATH"), ++ if (find_path(editor, &editor_path, &user_editor_sb, getenv("PATH"), NULL, + false, allowlist) != FOUND) { + errno = ENOENT; + goto bad; +diff --git a/plugins/sudoers/find_path.c b/plugins/sudoers/find_path.c +index 9b96615..0cc931f 100644 +--- a/plugins/sudoers/find_path.c ++++ b/plugins/sudoers/find_path.c +@@ -43,14 +43,14 @@ + * On failure, returns false. + */ + static bool +-cmnd_allowed(char *cmnd, size_t cmnd_size, struct stat *cmnd_sbp, +- char * const *allowlist) ++cmnd_allowed(char *cmnd, size_t cmnd_size, const char *runchroot, ++ struct stat *cmnd_sbp, char * const *allowlist) + { + const char *cmnd_base; + char * const *al; + debug_decl(cmnd_allowed, SUDOERS_DEBUG_UTIL); + +- if (!sudo_goodpath(cmnd, cmnd_sbp)) ++ if (!sudo_goodpath(cmnd, runchroot, cmnd_sbp)) + debug_return_bool(false); + + if (allowlist == NULL) +@@ -67,7 +67,7 @@ cmnd_allowed(char *cmnd, size_t cmnd_size, struct stat *cmnd_sbp, + if (strcmp(cmnd_base, base) != 0) + continue; + +- if (sudo_goodpath(path, &sb) && ++ if (sudo_goodpath(path, runchroot, &sb) && + sb.st_dev == cmnd_sbp->st_dev && sb.st_ino == cmnd_sbp->st_ino) { + /* Overwrite cmnd with safe version from allowlist. */ + if (strlcpy(cmnd, path, cmnd_size) < cmnd_size) +@@ -87,7 +87,8 @@ cmnd_allowed(char *cmnd, size_t cmnd_size, struct stat *cmnd_sbp, + */ + int + find_path(const char *infile, char **outfile, struct stat *sbp, +- const char *path, bool ignore_dot, char * const *allowlist) ++ const char *path, const char *runchroot, bool ignore_dot, ++ char * const *allowlist) + { + char command[PATH_MAX]; + const char *cp, *ep, *pathend; +@@ -108,7 +109,8 @@ find_path(const char *infile, char **outfile, struct stat *sbp, + errno = ENAMETOOLONG; + debug_return_int(NOT_FOUND_ERROR); + } +- found = cmnd_allowed(command, sizeof(command), sbp, allowlist); ++ found = cmnd_allowed(command, sizeof(command), runchroot, sbp, ++ allowlist); + goto done; + } + +@@ -137,7 +139,8 @@ find_path(const char *infile, char **outfile, struct stat *sbp, + errno = ENAMETOOLONG; + debug_return_int(NOT_FOUND_ERROR); + } +- found = cmnd_allowed(command, sizeof(command), sbp, allowlist); ++ found = cmnd_allowed(command, sizeof(command), runchroot, ++ sbp, allowlist); + if (found) + break; + } +@@ -151,7 +154,8 @@ find_path(const char *infile, char **outfile, struct stat *sbp, + errno = ENAMETOOLONG; + debug_return_int(NOT_FOUND_ERROR); + } +- found = cmnd_allowed(command, sizeof(command), sbp, allowlist); ++ found = cmnd_allowed(command, sizeof(command), runchroot, ++ sbp, allowlist); + if (found && ignore_dot) + debug_return_int(NOT_FOUND_DOT); + } +diff --git a/plugins/sudoers/goodpath.c b/plugins/sudoers/goodpath.c +index b2d412d..1515e1c 100644 +--- a/plugins/sudoers/goodpath.c ++++ b/plugins/sudoers/goodpath.c +@@ -39,13 +39,25 @@ + * Verify that path is a normal file and executable by root. + */ + bool +-sudo_goodpath(const char *path, struct stat *sbp) ++sudo_goodpath(const char *path, const char *runchroot, struct stat *sbp) + { + bool ret = false; +- struct stat sb; + debug_decl(sudo_goodpath, SUDOERS_DEBUG_UTIL); + + if (path != NULL) { ++ char pathbuf[PATH_MAX]; ++ struct stat sb; ++ ++ if (runchroot != NULL) { ++ /* XXX - handle symlinks and '..' in path outside chroot */ ++ const int len = ++ snprintf(pathbuf, sizeof(pathbuf), "%s%s", runchroot, path); ++ if (len >= ssizeof(pathbuf)) { ++ errno = ENAMETOOLONG; ++ goto done; ++ } ++ path = pathbuf; // -V507 ++ } + if (sbp == NULL) + sbp = &sb; + +@@ -57,5 +69,6 @@ sudo_goodpath(const char *path, struct stat *sbp) + errno = EACCES; + } + } ++done: + debug_return_bool(ret); + } +diff --git a/plugins/sudoers/match_command.c b/plugins/sudoers/match_command.c +index 4ac56ee..5137742 100644 +--- a/plugins/sudoers/match_command.c ++++ b/plugins/sudoers/match_command.c +@@ -122,14 +122,26 @@ command_args_match(struct sudoers_context *ctx, const char *sudoers_cmnd, + * Returns true on success, else false. + */ + static bool +-do_stat(int fd, const char *path, struct stat *sb) ++do_stat(int fd, const char *path, const char *runchroot, struct stat *sb) + { ++ char pathbuf[PATH_MAX]; + bool ret; + debug_decl(do_stat, SUDOERS_DEBUG_MATCH); + + if (fd != -1) { + ret = fstat(fd, sb) == 0; + } else { ++ /* Make path relative to the new root, if any. */ ++ if (runchroot != NULL) { ++ /* XXX - handle symlinks and '..' in path outside chroot */ ++ const int len = ++ snprintf(pathbuf, sizeof(pathbuf), "%s%s", runchroot, path); ++ if (len >= ssizeof(pathbuf)) { ++ errno = ENAMETOOLONG; ++ debug_return_bool(false); ++ } ++ path = pathbuf; ++ } + ret = stat(path, sb) == 0; + } + debug_return_bool(ret); +@@ -158,15 +170,29 @@ is_script(int fd) + * Returns false on error, else true. + */ + static bool +-open_cmnd(const char *path, const struct command_digest_list *digests, int *fdp) ++open_cmnd(const char *path, const char *runchroot, ++ const struct command_digest_list *digests, int *fdp) + { + int fd; ++ char pathbuf[PATH_MAX]; + debug_decl(open_cmnd, SUDOERS_DEBUG_MATCH); + + /* Only open the file for fdexec or for digest matching. */ + if (def_fdexec != always && TAILQ_EMPTY(digests)) + debug_return_bool(true); + ++ /* Make path relative to the new root, if any. */ ++ if (runchroot != NULL) { ++ /* XXX - handle symlinks and '..' in path outside chroot */ ++ const int len = ++ snprintf(pathbuf, sizeof(pathbuf), "%s%s", runchroot, path); ++ if (len >= ssizeof(pathbuf)) { ++ errno = ENAMETOOLONG; ++ debug_return_bool(false); ++ } ++ path = pathbuf; ++ } ++ + fd = open(path, O_RDONLY|O_NONBLOCK); + # ifdef O_EXEC + if (fd == -1 && errno == EACCES && TAILQ_EMPTY(digests)) { +@@ -185,7 +211,7 @@ open_cmnd(const char *path, const struct command_digest_list *digests, int *fdp) + } + + static void +-set_cmnd_fd(struct sudoers_context *ctx, int fd, int real_root) ++set_cmnd_fd(struct sudoers_context *ctx, int fd) + { + debug_decl(set_cmnd_fd, SUDOERS_DEBUG_MATCH); + +@@ -200,19 +226,11 @@ set_cmnd_fd(struct sudoers_context *ctx, int fd, int real_root) + } else if (is_script(fd)) { + char fdpath[PATH_MAX]; + struct stat sb; +- int error, flags; ++ int flags; + + /* We can only use fexecve() on a script if /dev/fd/N exists. */ +- if (real_root != -1) { +- /* Path relative to old root directory. */ +- (void)snprintf(fdpath, sizeof(fdpath), "dev/fd/%d", fd); +- error = fstatat(real_root, fdpath, &sb, 0); +- } else { +- /* Absolute path. */ +- (void)snprintf(fdpath, sizeof(fdpath), "/dev/fd/%d", fd); +- error = stat(fdpath, &sb); +- } +- if (error != 0) { ++ (void)snprintf(fdpath, sizeof(fdpath), "/dev/fd/%d", fd); ++ if (stat(fdpath, &sb) != 0) { + /* Missing /dev/fd file, can't use fexecve(). */ + close(fd); + fd = -1; +@@ -238,14 +256,28 @@ set_cmnd_fd(struct sudoers_context *ctx, int fd, int real_root) + */ + static int + command_matches_dir(struct sudoers_context *ctx, const char *sudoers_dir, +- size_t dlen, int real_root, const struct command_digest_list *digests) ++ size_t dlen, const char *runchroot, ++ const struct command_digest_list *digests) + { + struct stat sudoers_stat; +- char path[PATH_MAX]; ++ char path[PATH_MAX], sdbuf[PATH_MAX]; ++ size_t chrootlen = 0; + int len, fd = -1; + int ret = DENY; + debug_decl(command_matches_dir, SUDOERS_DEBUG_MATCH); + ++ /* Make sudoers_dir relative to the new root, if any. */ ++ if (runchroot != NULL) { ++ /* XXX - handle symlinks and '..' in path outside chroot */ ++ len = snprintf(sdbuf, sizeof(sdbuf), "%s%s", runchroot, sudoers_dir); ++ if (len >= ssizeof(sdbuf)) { ++ errno = ENAMETOOLONG; ++ debug_return_bool(false); ++ } ++ sudoers_dir = sdbuf; ++ chrootlen = strlen(runchroot); ++ } ++ + /* Compare the canonicalized directories, if possible. */ + if (ctx->user.cmnd_dir != NULL) { + char *resolved = canon_path(sudoers_dir); +@@ -264,18 +296,19 @@ command_matches_dir(struct sudoers_context *ctx, const char *sudoers_dir, + goto done; + + /* Open the file for fdexec or for digest matching. */ +- if (!open_cmnd(path, digests, &fd)) ++ if (!open_cmnd(path, NULL, digests, &fd)) + goto done; +- if (!do_stat(fd, path, &sudoers_stat)) ++ if (!do_stat(fd, path, NULL, &sudoers_stat)) + goto done; + + if (ctx->user.cmnd_stat == NULL || + (ctx->user.cmnd_stat->st_dev == sudoers_stat.st_dev && + ctx->user.cmnd_stat->st_ino == sudoers_stat.st_ino)) { +- if (digest_matches(fd, path, digests) != ALLOW) ++ /* path is already relative to runchroot */ ++ if (digest_matches(fd, path, NULL, digests) != ALLOW) + goto done; + free(ctx->runas.cmnd); +- if ((ctx->runas.cmnd = strdup(path)) == NULL) { ++ if ((ctx->runas.cmnd = strdup(path + chrootlen)) == NULL) { + sudo_warnx(U_("%s: %s"), __func__, + U_("unable to allocate memory")); + } +@@ -295,7 +328,8 @@ done: + */ + static int + command_matches_dir(struct sudoers_context *ctx, const char *sudoers_dir, +- size_t dlen, int real_root, const struct command_digest_list *digests) ++ size_t dlen, const char *runchroot, ++ const struct command_digest_list *digests) + { + int fd = -1; + debug_decl(command_matches_dir, SUDOERS_DEBUG_MATCH); +@@ -309,11 +343,11 @@ command_matches_dir(struct sudoers_context *ctx, const char *sudoers_dir, + goto bad; + + /* Open the file for fdexec or for digest matching. */ +- if (!open_cmnd(ctx->user.cmnd, digests, &fd)) ++ if (!open_cmnd(ctx->user.cmnd, runchroot, digests, &fd)) + goto bad; +- if (digest_matches(fd, ctx->user.cmnd, digests) != ALLOW) ++ if (digest_matches(fd, ctx->user.cmnd, runchroot, digests) != ALLOW) + goto bad; +- set_cmnd_fd(ctx, fd, real_root); ++ set_cmnd_fd(ctx, fd); + + debug_return_int(ALLOW); + bad: +@@ -324,7 +358,7 @@ bad: + #endif /* SUDOERS_NAME_MATCH */ + + static int +-command_matches_all(struct sudoers_context *ctx, int real_root, ++command_matches_all(struct sudoers_context *ctx, const char *runchroot, + const struct command_digest_list *digests) + { + #ifndef SUDOERS_NAME_MATCH +@@ -336,10 +370,10 @@ command_matches_all(struct sudoers_context *ctx, int real_root, + if (strchr(ctx->user.cmnd, '/') != NULL) { + #ifndef SUDOERS_NAME_MATCH + /* Open the file for fdexec or for digest matching. */ +- bool open_error = !open_cmnd(ctx->user.cmnd, digests, &fd); ++ bool open_error = !open_cmnd(ctx->user.cmnd, runchroot, digests, &fd); + + /* A non-existent file is not an error for "sudo ALL". */ +- if (do_stat(fd, ctx->user.cmnd, &sb)) { ++ if (do_stat(fd, ctx->user.cmnd, runchroot, &sb)) { + if (open_error) { + /* File exists but we couldn't open it above? */ + goto bad; +@@ -347,14 +381,14 @@ command_matches_all(struct sudoers_context *ctx, int real_root, + } + #else + /* Open the file for fdexec or for digest matching. */ +- (void)open_cmnd(ctx->user.cmnd, digests, &fd); ++ (void)open_cmnd(ctx->user.cmnd, runchroot, digests, &fd); + #endif + } + + /* Check digest of ctx->user.cmnd since we have no sudoers_cmnd for ALL. */ +- if (digest_matches(fd, ctx->user.cmnd, digests) != ALLOW) ++ if (digest_matches(fd, ctx->user.cmnd, runchroot, digests) != ALLOW) + goto bad; +- set_cmnd_fd(ctx, fd, real_root); ++ set_cmnd_fd(ctx, fd); + + /* No need to set ctx->runas.cmnd for ALL. */ + debug_return_int(ALLOW); +@@ -366,7 +400,7 @@ bad: + + static int + command_matches_fnmatch(struct sudoers_context *ctx, const char *sudoers_cmnd, +- const char *sudoers_args, int real_root, ++ const char *sudoers_args, const char *runchroot, + const struct command_digest_list *digests) + { + const char *cmnd = ctx->user.cmnd; +@@ -400,16 +434,16 @@ command_matches_fnmatch(struct sudoers_context *ctx, const char *sudoers_cmnd, + + if (command_args_match(ctx, sudoers_cmnd, sudoers_args) == ALLOW) { + /* Open the file for fdexec or for digest matching. */ +- if (!open_cmnd(cmnd, digests, &fd)) ++ if (!open_cmnd(cmnd, runchroot, digests, &fd)) + goto bad; + #ifndef SUDOERS_NAME_MATCH +- if (!do_stat(fd, cmnd, &sb)) ++ if (!do_stat(fd, cmnd, runchroot, &sb)) + goto bad; + #endif + /* Check digest of cmnd since sudoers_cmnd is a pattern. */ +- if (digest_matches(fd, cmnd, digests) != ALLOW) ++ if (digest_matches(fd, cmnd, runchroot, digests) != ALLOW) + goto bad; +- set_cmnd_fd(ctx, fd, real_root); ++ set_cmnd_fd(ctx, fd); + + /* No need to set ctx->runas.cmnd since cmnd matches sudoers_cmnd */ + debug_return_int(ALLOW); +@@ -422,7 +456,7 @@ bad: + + static int + command_matches_regex(struct sudoers_context *ctx, const char *sudoers_cmnd, +- const char *sudoers_args, int real_root, ++ const char *sudoers_args, const char *runchroot, + const struct command_digest_list *digests) + { + const char *cmnd = ctx->user.cmnd; +@@ -456,16 +490,16 @@ command_matches_regex(struct sudoers_context *ctx, const char *sudoers_cmnd, + + if (command_args_match(ctx, sudoers_cmnd, sudoers_args) == ALLOW) { + /* Open the file for fdexec or for digest matching. */ +- if (!open_cmnd(cmnd, digests, &fd)) ++ if (!open_cmnd(cmnd, runchroot, digests, &fd)) + goto bad; + #ifndef SUDOERS_NAME_MATCH +- if (!do_stat(fd, cmnd, &sb)) ++ if (!do_stat(fd, cmnd, runchroot, &sb)) + goto bad; + #endif + /* Check digest of cmnd since sudoers_cmnd is a pattern. */ +- if (digest_matches(fd, cmnd, digests) != ALLOW) ++ if (digest_matches(fd, cmnd, runchroot, digests) != ALLOW) + goto bad; +- set_cmnd_fd(ctx, fd, real_root); ++ set_cmnd_fd(ctx, fd); + + /* No need to set ctx->runas.cmnd since cmnd matches sudoers_cmnd */ + debug_return_int(ALLOW); +@@ -479,17 +513,31 @@ bad: + #ifndef SUDOERS_NAME_MATCH + static int + command_matches_glob(struct sudoers_context *ctx, const char *sudoers_cmnd, +- const char *sudoers_args, int real_root, ++ const char *sudoers_args, const char *runchroot, + const struct command_digest_list *digests) + { + struct stat sudoers_stat; + bool bad_digest = false; + char **ap, *base, *cp; ++ char pathbuf[PATH_MAX]; + int fd = -1; +- size_t dlen; ++ size_t dlen, chrootlen = 0; + glob_t gl; + debug_decl(command_matches_glob, SUDOERS_DEBUG_MATCH); + ++ /* Make sudoers_cmnd relative to the new root, if any. */ ++ if (runchroot != NULL) { ++ /* XXX - handle symlinks and '..' in path outside chroot */ ++ const int len = ++ snprintf(pathbuf, sizeof(pathbuf), "%s%s", runchroot, sudoers_cmnd); ++ if (len >= ssizeof(pathbuf)) { ++ errno = ENAMETOOLONG; ++ debug_return_bool(false); ++ } ++ sudoers_cmnd = pathbuf; ++ chrootlen = strlen(runchroot); ++ } ++ + /* + * First check to see if we can avoid the call to glob(3). + * Short circuit if there are no meta chars in the command itself +@@ -521,19 +569,21 @@ command_matches_glob(struct sudoers_context *ctx, const char *sudoers_cmnd, + close(fd); + fd = -1; + } ++ /* Remove the runchroot, if any. */ ++ cp += chrootlen; + + if (strcmp(cp, ctx->user.cmnd) != 0) + continue; + /* Open the file for fdexec or for digest matching. */ +- if (!open_cmnd(cp, digests, &fd)) ++ if (!open_cmnd(cp, runchroot, digests, &fd)) + continue; +- if (!do_stat(fd, cp, &sudoers_stat)) ++ if (!do_stat(fd, cp, runchroot, &sudoers_stat)) + continue; + if (ctx->user.cmnd_stat == NULL || + (ctx->user.cmnd_stat->st_dev == sudoers_stat.st_dev && + ctx->user.cmnd_stat->st_ino == sudoers_stat.st_ino)) { + /* There could be multiple matches, check digest early. */ +- if (digest_matches(fd, cp, digests) != ALLOW) { ++ if (digest_matches(fd, cp, runchroot, digests) != ALLOW) { + bad_digest = true; + continue; + } +@@ -557,11 +607,13 @@ command_matches_glob(struct sudoers_context *ctx, const char *sudoers_cmnd, + close(fd); + fd = -1; + } ++ /* Remove the runchroot, if any. */ ++ cp += chrootlen; + + /* If it ends in '/' it is a directory spec. */ + dlen = strlen(cp); + if (cp[dlen - 1] == '/') { +- if (command_matches_dir(ctx, cp, dlen, real_root, digests) == ALLOW) { ++ if (command_matches_dir(ctx, cp, dlen, runchroot, digests) == ALLOW) { + globfree(&gl); + debug_return_int(ALLOW); + } +@@ -592,14 +644,14 @@ command_matches_glob(struct sudoers_context *ctx, const char *sudoers_cmnd, + } + + /* Open the file for fdexec or for digest matching. */ +- if (!open_cmnd(cp, digests, &fd)) ++ if (!open_cmnd(cp, runchroot, digests, &fd)) + continue; +- if (!do_stat(fd, cp, &sudoers_stat)) ++ if (!do_stat(fd, cp, runchroot, &sudoers_stat)) + continue; + if (ctx->user.cmnd_stat == NULL || + (ctx->user.cmnd_stat->st_dev == sudoers_stat.st_dev && + ctx->user.cmnd_stat->st_ino == sudoers_stat.st_ino)) { +- if (digest_matches(fd, cp, digests) != ALLOW) ++ if (digest_matches(fd, cp, runchroot, digests) != ALLOW) + continue; + free(ctx->runas.cmnd); + if ((ctx->runas.cmnd = strdup(cp)) == NULL) { +@@ -616,7 +668,7 @@ done: + if (cp != NULL) { + if (command_args_match(ctx, sudoers_cmnd, sudoers_args) == ALLOW) { + /* ctx->runas.cmnd was set above. */ +- set_cmnd_fd(ctx, fd, real_root); ++ set_cmnd_fd(ctx, fd); + debug_return_int(ALLOW); + } + } +@@ -627,7 +679,7 @@ done: + + static int + command_matches_normal(struct sudoers_context *ctx, const char *sudoers_cmnd, +- const char *sudoers_args, int real_root, ++ const char *sudoers_args, const char *runchroot, + const struct command_digest_list *digests) + { + struct stat sudoers_stat; +@@ -640,7 +692,7 @@ command_matches_normal(struct sudoers_context *ctx, const char *sudoers_cmnd, + dlen = strlen(sudoers_cmnd); + if (sudoers_cmnd[dlen - 1] == '/') { + debug_return_int(command_matches_dir(ctx, sudoers_cmnd, dlen, +- real_root, digests)); ++ runchroot, digests)); + } + + /* Only proceed if ctx->user.cmnd_base and basename(sudoers_cmnd) match */ +@@ -671,7 +723,7 @@ command_matches_normal(struct sudoers_context *ctx, const char *sudoers_cmnd, + } + + /* Open the file for fdexec or for digest matching. */ +- if (!open_cmnd(sudoers_cmnd, digests, &fd)) ++ if (!open_cmnd(sudoers_cmnd, runchroot, digests, &fd)) + goto bad; + + /* +@@ -681,7 +733,7 @@ command_matches_normal(struct sudoers_context *ctx, const char *sudoers_cmnd, + * c) there are args in sudoers and on command line and they match + * d) there is a digest and it matches + */ +- if (ctx->user.cmnd_stat != NULL && do_stat(fd, sudoers_cmnd, &sudoers_stat)) { ++ if (ctx->user.cmnd_stat != NULL && do_stat(fd, sudoers_cmnd, runchroot, &sudoers_stat)) { + if (ctx->user.cmnd_stat->st_dev != sudoers_stat.st_dev || + ctx->user.cmnd_stat->st_ino != sudoers_stat.st_ino) + goto bad; +@@ -692,7 +744,7 @@ command_matches_normal(struct sudoers_context *ctx, const char *sudoers_cmnd, + } + if (command_args_match(ctx, sudoers_cmnd, sudoers_args) != ALLOW) + goto bad; +- if (digest_matches(fd, sudoers_cmnd, digests) != ALLOW) { ++ if (digest_matches(fd, sudoers_cmnd, runchroot, digests) != ALLOW) { + /* XXX - log functions not available but we should log very loudly */ + goto bad; + } +@@ -701,7 +753,7 @@ command_matches_normal(struct sudoers_context *ctx, const char *sudoers_cmnd, + sudo_warnx(U_("%s: %s"), __func__, U_("unable to allocate memory")); + goto bad; + } +- set_cmnd_fd(ctx, fd, real_root); ++ set_cmnd_fd(ctx, fd); + debug_return_int(ALLOW); + bad: + if (fd != -1) +@@ -711,16 +763,16 @@ bad: + #else /* SUDOERS_NAME_MATCH */ + static int + command_matches_glob(struct sudoers_context *ctx, const char *sudoers_cmnd, +- const char *sudoers_args, int real_root, ++ const char *sudoers_args, const char *runchroot, + const struct command_digest_list *digests) + { +- return command_matches_fnmatch(ctx, sudoers_cmnd, sudoers_args, real_root, ++ return command_matches_fnmatch(ctx, sudoers_cmnd, sudoers_args, runchroot, + digests); + } + + static int + command_matches_normal(struct sudoers_context *ctx, const char *sudoers_cmnd, +- const char *sudoers_args, int real_root, ++ const char *sudoers_args, const char *runchroot, + const struct command_digest_list *digests) + { + size_t dlen; +@@ -730,16 +782,16 @@ command_matches_normal(struct sudoers_context *ctx, const char *sudoers_cmnd, + /* If it ends in '/' it is a directory spec. */ + dlen = strlen(sudoers_cmnd); + if (sudoers_cmnd[dlen - 1] == '/') { +- debug_return_int(command_matches_dir(ctx, sudoers_cmnd, dlen, real_root, ++ debug_return_int(command_matches_dir(ctx, sudoers_cmnd, dlen, runchroot, + digests)); + } + + if (strcmp(ctx->user.cmnd, sudoers_cmnd) == 0) { + if (command_args_match(ctx, sudoers_cmnd, sudoers_args) == ALLOW) { + /* Open the file for fdexec or for digest matching. */ +- if (!open_cmnd(ctx->user.cmnd, digests, &fd)) ++ if (!open_cmnd(ctx->user.cmnd, runchroot, digests, &fd)) + goto bad; +- if (digest_matches(fd, ctx->user.cmnd, digests) != ALLOW) ++ if (digest_matches(fd, ctx->user.cmnd, runchroot, digests) != ALLOW) + goto bad; + + /* Successful match. */ +@@ -749,7 +801,7 @@ command_matches_normal(struct sudoers_context *ctx, const char *sudoers_cmnd, + U_("unable to allocate memory")); + goto bad; + } +- set_cmnd_fd(ctx, fd, real_root); ++ set_cmnd_fd(ctx, fd); + debug_return_int(ALLOW); + } + } +@@ -770,11 +822,8 @@ command_matches(struct sudoers_context *ctx, const char *sudoers_cmnd, + const char *sudoers_args, const char *runchroot, struct cmnd_info *info, + const struct command_digest_list *digests) + { +- struct sudoers_pivot pivot_state = SUDOERS_PIVOT_INITIALIZER; + char *saved_user_cmnd = NULL; + struct stat saved_user_stat; +- bool reset_cmnd = false; +- int real_root = -1; + int ret = DENY; + debug_decl(command_matches, SUDOERS_DEBUG_MATCH); + +@@ -792,18 +841,6 @@ command_matches(struct sudoers_context *ctx, const char *sudoers_cmnd, + runchroot = def_runchroot; + } else { + /* Rule-specific runchroot, must reset cmnd and cmnd_stat. */ +- reset_cmnd = true; +- } +- +- /* Pivot root. */ +- if (runchroot != NULL) { +- if (!pivot_root(runchroot, &pivot_state)) +- goto done; +- real_root = pivot_state.saved_root; +- } +- +- if (reset_cmnd) { +- /* Rule-specific runchroot, set cmnd and cmnd_stat after pivot. */ + int status; + + /* Save old ctx->user.cmnd first, set_cmnd_path() will free it. */ +@@ -811,7 +848,7 @@ command_matches(struct sudoers_context *ctx, const char *sudoers_cmnd, + ctx->user.cmnd = NULL; + if (ctx->user.cmnd_stat != NULL) + saved_user_stat = *ctx->user.cmnd_stat; +- status = set_cmnd_path(ctx, NULL); ++ status = set_cmnd_path(ctx, runchroot); + if (status != FOUND) { + ctx->user.cmnd = saved_user_cmnd; + saved_user_cmnd = NULL; +@@ -822,13 +859,13 @@ command_matches(struct sudoers_context *ctx, const char *sudoers_cmnd, + + if (sudoers_cmnd == NULL) { + sudoers_cmnd = "ALL"; +- ret = command_matches_all(ctx, real_root, digests); ++ ret = command_matches_all(ctx, runchroot, digests); + goto done; + } + + /* Check for regular expressions first. */ + if (sudoers_cmnd[0] == '^') { +- ret = command_matches_regex(ctx, sudoers_cmnd, sudoers_args, real_root, ++ ret = command_matches_regex(ctx, sudoers_cmnd, sudoers_args, runchroot, + digests); + goto done; + } +@@ -859,20 +896,16 @@ command_matches(struct sudoers_context *ctx, const char *sudoers_cmnd, + */ + if (def_fast_glob) { + ret = command_matches_fnmatch(ctx, sudoers_cmnd, sudoers_args, +- real_root, digests); ++ runchroot, digests); + } else { + ret = command_matches_glob(ctx, sudoers_cmnd, sudoers_args, +- real_root, digests); ++ runchroot, digests); + } + } else { + ret = command_matches_normal(ctx, sudoers_cmnd, sudoers_args, +- real_root, digests); ++ runchroot, digests); + } + done: +- /* Restore root. */ +- if (runchroot != NULL) +- (void)unpivot_root(&pivot_state); +- + /* Restore ctx->user.cmnd and ctx->user.cmnd_stat. */ + if (saved_user_cmnd != NULL) { + if (info != NULL) { +diff --git a/plugins/sudoers/match_digest.c b/plugins/sudoers/match_digest.c +index 09ea435..2f6f82c 100644 +--- a/plugins/sudoers/match_digest.c ++++ b/plugins/sudoers/match_digest.c +@@ -40,13 +40,14 @@ + #include + + int +-digest_matches(int fd, const char *path, ++digest_matches(int fd, const char *path, const char *runchroot, + const struct command_digest_list *digests) + { + unsigned int digest_type = SUDO_DIGEST_INVALID; + unsigned char *file_digest = NULL; + unsigned char *sudoers_digest = NULL; + struct command_digest *digest; ++ char pathbuf[PATH_MAX]; + size_t digest_len = (size_t)-1; + int matched = DENY; + int fd2 = -1; +@@ -66,6 +67,17 @@ digest_matches(int fd, const char *path, + fd = fd2; + } + ++ if (runchroot != NULL) { ++ /* XXX - handle symlinks and '..' in path outside chroot */ ++ const int len = ++ snprintf(pathbuf, sizeof(pathbuf), "%s%s", runchroot, path); ++ if (len >= ssizeof(pathbuf)) { ++ errno = ENAMETOOLONG; ++ debug_return_bool(false); ++ } ++ path = pathbuf; ++ } ++ + TAILQ_FOREACH(digest, digests, entries) { + /* Compute file digest if needed. */ + if (digest->digest_type != digest_type) { +diff --git a/plugins/sudoers/parse.h b/plugins/sudoers/parse.h +index 0764c54..f079054 100644 +--- a/plugins/sudoers/parse.h ++++ b/plugins/sudoers/parse.h +@@ -430,7 +430,7 @@ int addr_matches(char *n); + int command_matches(struct sudoers_context *ctx, const char *sudoers_cmnd, const char *sudoers_args, const char *runchroot, struct cmnd_info *info, const struct command_digest_list *digests); + + /* match_digest.c */ +-int digest_matches(int fd, const char *path, const struct command_digest_list *digests); ++int digest_matches(int fd, const char *path, const char *runchroot, const struct command_digest_list *digests); + + /* match.c */ + struct group; +diff --git a/plugins/sudoers/pivot.c b/plugins/sudoers/pivot.c +deleted file mode 100644 +index 59423f9..0000000 +--- a/plugins/sudoers/pivot.c ++++ /dev/null +@@ -1,87 +0,0 @@ +-/* +- * SPDX-License-Identifier: ISC +- * +- * Copyright (c) 2023 Todd C. Miller +- * +- * Permission to use, copy, modify, and distribute this software for any +- * purpose with or without fee is hereby granted, provided that the above +- * copyright notice and this permission notice appear in all copies. +- * +- * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +- * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +- * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +- * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +- * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +- * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF +- * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. +- */ +- +-/* +- * This is an open source non-commercial project. Dear PVS-Studio, please check it. +- * PVS-Studio Static Code Analyzer for C, C++ and C#: http://www.viva64.com +- */ +- +-#include +- +-#include +-#include +-#include +- +-#include +- +-/* +- * Pivot to a new root directory, storing the old root and old cwd +- * in state. Changes current working directory to the new root. +- * Returns true on success, else false. +- */ +-bool +-pivot_root(const char *new_root, struct sudoers_pivot *state) +-{ +- debug_decl(pivot_root, SUDOERS_DEBUG_UTIL); +- +- state->saved_root = open("/", O_RDONLY); +- state->saved_cwd = open(".", O_RDONLY); +- if (state->saved_root == -1 || state->saved_cwd == -1 || chroot(new_root) == -1) { +- if (state->saved_root != -1) { +- close(state->saved_root); +- state->saved_root = -1; +- } +- if (state->saved_cwd != -1) { +- close(state->saved_cwd); +- state->saved_cwd = -1; +- } +- debug_return_bool(false); +- } +- debug_return_bool(chdir("/") == 0); +-} +- +-/* +- * Pivot back to the stored root directory and restore the old cwd. +- * Returns true on success, else false. +- */ +-bool +-unpivot_root(struct sudoers_pivot *state) +-{ +- bool ret = true; +- debug_decl(unpivot_root, SUDOERS_DEBUG_UTIL); +- +- /* Order is important: restore old root, *then* change cwd. */ +- if (state->saved_root != -1) { +- if (fchdir(state->saved_root) == -1 || chroot(".") == -1) { +- sudo_warn("%s", U_("unable to restore root directory")); +- ret = false; +- } +- close(state->saved_root); +- state->saved_root = -1; +- } +- if (state->saved_cwd != -1) { +- if (fchdir(state->saved_cwd) == -1) { +- sudo_warn("%s", U_("unable to restore current working directory")); +- ret = false; +- } +- close(state->saved_cwd); +- state->saved_cwd = -1; +- } +- +- debug_return_bool(ret); +-} +diff --git a/plugins/sudoers/pivot.h b/plugins/sudoers/pivot.h +deleted file mode 100644 +index b03993e..0000000 +--- a/plugins/sudoers/pivot.h ++++ /dev/null +@@ -1,32 +0,0 @@ +-/* +- * SPDX-License-Identifier: ISC +- * +- * Copyright (c) 2023 Todd C. Miller +- * +- * Permission to use, copy, modify, and distribute this software for any +- * purpose with or without fee is hereby granted, provided that the above +- * copyright notice and this permission notice appear in all copies. +- * +- * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +- * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +- * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +- * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +- * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +- * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF +- * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. +- */ +- +-#ifndef SUDOERS_PIVOT_H +-#define SUDOERS_PIVOT_H +- +-#define SUDOERS_PIVOT_INITIALIZER { -1, -1 } +- +-struct sudoers_pivot { +- int saved_root; +- int saved_cwd; +-}; +- +-bool pivot_root(const char *new_root, struct sudoers_pivot *state); +-bool unpivot_root(struct sudoers_pivot *state); +- +-#endif /* SUDOERS_PIVOT_H */ +diff --git a/plugins/sudoers/regress/editor/check_editor.c b/plugins/sudoers/regress/editor/check_editor.c +index 65e00c0..d28bb11 100644 +--- a/plugins/sudoers/regress/editor/check_editor.c ++++ b/plugins/sudoers/regress/editor/check_editor.c +@@ -80,7 +80,8 @@ sudo_dso_public int main(int argc, char *argv[]); + /* STUB */ + int + find_path(const char *infile, char **outfile, struct stat *sbp, +- const char *path, bool ignore_dot, char * const *allowlist) ++ const char *path, const char *runchroot, bool ignore_dot, ++ char * const *allowlist) + { + if (infile[0] == '/') { + *outfile = strdup(infile); +diff --git a/plugins/sudoers/regress/fuzz/fuzz_policy.c b/plugins/sudoers/regress/fuzz/fuzz_policy.c +index 0b01e4e..1321c42 100644 +--- a/plugins/sudoers/regress/fuzz/fuzz_policy.c ++++ b/plugins/sudoers/regress/fuzz/fuzz_policy.c +@@ -832,7 +832,8 @@ display_privs(struct sudoers_context *ctx, const struct sudo_nss_list *snl, + /* STUB */ + int + find_path(const char *infile, char **outfile, struct stat *sbp, +- const char *path, bool ignore_dot, char * const *allowlist) ++ const char *path, const char *runchroot, bool ignore_dot, ++ char * const *allowlist) + { + switch (pass) { + case PASS_CHECK_NOT_FOUND: +@@ -855,9 +856,9 @@ find_path(const char *infile, char **outfile, struct stat *sbp, + /* STUB */ + int + resolve_cmnd(struct sudoers_context *ctx, const char *infile, char **outfile, +- const char *path) ++ const char *path, const char *runchroot) + { +- return find_path(infile, outfile, NULL, path, false, NULL); ++ return find_path(infile, outfile, NULL, path, NULL, false, NULL); + } + + /* STUB */ +diff --git a/plugins/sudoers/regress/fuzz/fuzz_stubs.c b/plugins/sudoers/regress/fuzz/fuzz_stubs.c +index ce47bf5..c86ca33 100644 +--- a/plugins/sudoers/regress/fuzz/fuzz_stubs.c ++++ b/plugins/sudoers/regress/fuzz/fuzz_stubs.c +@@ -57,18 +57,6 @@ init_eventlog_config(void) + return; + } + +-bool +-pivot_root(const char *new_root, struct sudoers_pivot *state) +-{ +- return true; +-} +- +-bool +-unpivot_root(struct sudoers_pivot *state) +-{ +- return true; +-} +- + int + group_plugin_query(const char *user, const char *group, const struct passwd *pw) + { +diff --git a/plugins/sudoers/resolve_cmnd.c b/plugins/sudoers/resolve_cmnd.c +index 24e34de..3a84ff8 100644 +--- a/plugins/sudoers/resolve_cmnd.c ++++ b/plugins/sudoers/resolve_cmnd.c +@@ -34,7 +34,7 @@ + */ + int + resolve_cmnd(struct sudoers_context *ctx, const char *infile, +- char **outfile, const char *path) ++ char **outfile, const char *path, const char *runchroot) + { + int ret = NOT_FOUND_ERROR; + debug_decl(resolve_cmnd, SUDOERS_DEBUG_UTIL); +@@ -42,7 +42,7 @@ resolve_cmnd(struct sudoers_context *ctx, const char *infile, + if (!set_perms(ctx, PERM_RUNAS)) + goto done; + ret = find_path(infile, outfile, ctx->user.cmnd_stat, path, +- def_ignore_dot, NULL); ++ runchroot, def_ignore_dot, NULL); + if (!restore_perms()) + goto done; + if (ret == NOT_FOUND) { +@@ -50,7 +50,7 @@ resolve_cmnd(struct sudoers_context *ctx, const char *infile, + if (!set_perms(ctx, PERM_USER)) + goto done; + ret = find_path(infile, outfile, ctx->user.cmnd_stat, path, +- def_ignore_dot, NULL); ++ runchroot, def_ignore_dot, NULL); + if (!restore_perms()) + goto done; + } +diff --git a/plugins/sudoers/stubs.c b/plugins/sudoers/stubs.c +index b8bc104..e7a1c29 100644 +--- a/plugins/sudoers/stubs.c ++++ b/plugins/sudoers/stubs.c +@@ -94,17 +94,3 @@ init_eventlog_config(void) + { + return; + } +- +-/* STUB */ +-bool +-pivot_root(const char *new_root, struct sudoers_pivot *state) +-{ +- return true; +-} +- +-/* STUB */ +-bool +-unpivot_root(struct sudoers_pivot *state) +-{ +- return true; +-} +diff --git a/plugins/sudoers/sudoers.c b/plugins/sudoers/sudoers.c +index 3d74943..6fcba1f 100644 +--- a/plugins/sudoers/sudoers.c ++++ b/plugins/sudoers/sudoers.c +@@ -1092,7 +1092,6 @@ init_vars(struct sudoers_context *ctx, char * const envp[]) + int + set_cmnd_path(struct sudoers_context *ctx, const char *runchroot) + { +- struct sudoers_pivot pivot_state = SUDOERS_PIVOT_INITIALIZER; + const char *cmnd_in; + char *cmnd_out = NULL; + char *path = ctx->user.path; +@@ -1111,13 +1110,7 @@ set_cmnd_path(struct sudoers_context *ctx, const char *runchroot) + if (def_secure_path && !user_is_exempt(ctx)) + path = def_secure_path; + +- /* Pivot root. */ +- if (runchroot != NULL) { +- if (!pivot_root(runchroot, &pivot_state)) +- goto error; +- } +- +- ret = resolve_cmnd(ctx, cmnd_in, &cmnd_out, path); ++ ret = resolve_cmnd(ctx, cmnd_in, &cmnd_out, path, runchroot); + if (ret == FOUND) { + char *slash = strrchr(cmnd_out, '/'); + if (slash != NULL) { +@@ -1134,14 +1127,8 @@ set_cmnd_path(struct sudoers_context *ctx, const char *runchroot) + else + ctx->user.cmnd = cmnd_out; + +- /* Restore root. */ +- if (runchroot != NULL) +- (void)unpivot_root(&pivot_state); +- + debug_return_int(ret); + error: +- if (runchroot != NULL) +- (void)unpivot_root(&pivot_state); + free(cmnd_out); + debug_return_int(NOT_FOUND_ERROR); + } +diff --git a/plugins/sudoers/sudoers.h b/plugins/sudoers/sudoers.h +index c7f386b..15a8042 100644 +--- a/plugins/sudoers/sudoers.h ++++ b/plugins/sudoers/sudoers.h +@@ -49,7 +49,6 @@ + #include + #include + #include +-#include + + /* + * Info passed in from the sudo front-end. +@@ -320,15 +319,16 @@ struct timespec; + * Function prototypes + */ + /* goodpath.c */ +-bool sudo_goodpath(const char *path, struct stat *sbp); ++bool sudo_goodpath(const char *path, const char *runchroot, struct stat *sbp); + + /* findpath.c */ + int find_path(const char *infile, char **outfile, struct stat *sbp, +- const char *path, bool ignore_dot, char * const *allowlist); ++ const char *path, const char *runchroot, bool ignore_dot, ++ char * const *allowlist); + + /* resolve_cmnd.c */ + int resolve_cmnd(struct sudoers_context *ctx, const char *infile, +- char **outfile, const char *path); ++ char **outfile, const char *path, const char *runchroot); + + /* check.c */ + int check_user(struct sudoers_context *ctx, unsigned int validated, unsigned int mode); +diff --git a/plugins/sudoers/testsudoers.c b/plugins/sudoers/testsudoers.c +index 2ebd7b4..36d0234 100644 +--- a/plugins/sudoers/testsudoers.c ++++ b/plugins/sudoers/testsudoers.c +@@ -604,18 +604,6 @@ init_eventlog_config(void) + return; + } + +-bool +-pivot_root(const char *new_root, struct sudoers_pivot *state) +-{ +- return true; +-} +- +-bool +-unpivot_root(struct sudoers_pivot *state) +-{ +- return true; +-} +- + int + set_cmnd_path(struct sudoers_context *ctx, const char *runchroot) + { +-- +2.33.0 + diff --git a/sudo.spec b/sudo.spec index 2a81e18541cb4b67ab906b7c790ee2b1fb039456..ca8e15e33dedb946ffe0388d4e2af2ab0227d3b7 100644 --- a/sudo.spec +++ b/sudo.spec @@ -1,6 +1,6 @@ Name: sudo Version: 1.9.15p5 -Release: 3 +Release: 4 Summary: Allows restricted root access for specified users License: ISC URL: https://www.sudo.ws @@ -14,6 +14,7 @@ Patch0: Fix-compilation-error-on-sw64-arch.patch Patch1: backport-If-user-s-tty-goes-away-tell-monitor-to-revoke-the-t.patch Patch2: backport-Avoid-using-ioctl-TIOCNOTTY-in-the-monitor.patch Patch3: backport-CVE-2025-32462.patch +Patch4: backport-CVE-2025-32463.patch Buildroot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) Requires: pam @@ -158,6 +159,9 @@ chrpath -d $RPM_BUILD_ROOT/usr/libexec/sudo/* %exclude %{_pkgdocdir}/ChangeLog %changelog +* Tue Jul 1 2025 xuce - 1.9.15p5-4 +- Fix CVE-2025-32463 + * Tue Jul 1 2025 Deyuan Fan - 1.9.15p5-3 - Fix CVE-2025-32462