[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#1108528: unblock: sudo/1.9.16p2-3



Package: release.debian.org
Severity: critical
X-Debbugs-Cc: sudo@packages.debian.org
Control: affects -1 + src:sudo
User: release.debian.org@packages.debian.org
Usertags: unblock

Please unblock package sudo

This is a combined security/translations release.

It fixes CVE-2025-32462 and CVE-2025-32463.

CVE-2025-32462 also affects bookworm, DSA-5954-1 was issued for this
Older releases are not affected by CVE-2025-32463, the (huge!) patch
thus only needs to go in trixie.

In addition, the italian debconf translation was updated. As per release 
policy, translation updates are okay even during the hard freeze. If 
you'd prefer a security-only release, let me know and I'll take out the 
translation update.

[ Reason ]
Security.

[ Impact ]
We would be shipping a vulnerable sudo

[ Tests ]
sudo has an upstrem test suite that runs at build time, and 
autopkgtests.

[ Risks ]
Sadly, not small. The patch for CVE-2025-32463 is huge and needed a 
backport. I am not an expert C programmer.

[ Checklist ]
  [X] all changes are documented in the d/changelog
  [X] I reviewed all changes and I approve them
  [X] attach debdiff against the package in testing

[ Other info ]
This is a release coordinated with the security team, timed after
lifting the embargo. Sudo is an important package with a large base of 
installations that are now vulnerable after the security release. A sped 
up unblock/migration is appreciated. The upload to unstable was done 
quite shortly before this bug was filed; it is possible that the package 
is not yet built on all arches when this bug reaches you.

unblock sudo/1.9.16p2-3
diff -Nru sudo-1.9.16p2/debian/changelog sudo-1.9.16p2/debian/changelog
--- sudo-1.9.16p2/debian/changelog	2025-05-04 17:48:51.000000000 +0200
+++ sudo-1.9.16p2/debian/changelog	2025-06-30 07:55:33.000000000 +0200
@@ -1,3 +1,12 @@
+sudo (1.9.16p2-3) unstable; urgency=high
+
+  * backport upstream patch for CVE-2025-32463
+  * add upstream patch for CVE-2025-32462
+  * Add new italian debconf translation.
+    Thanks to Ceppo (Closes: #1108208)
+
+ -- Marc Haber <mh+debian-packages@zugschlus.de>  Mon, 30 Jun 2025 07:55:33 +0200
+
 sudo (1.9.16p2-2) unstable; urgency=medium
 
   * new European Portuguese translation of debconf messages.
diff -Nru sudo-1.9.16p2/debian/gbp.conf sudo-1.9.16p2/debian/gbp.conf
--- sudo-1.9.16p2/debian/gbp.conf	1970-01-01 01:00:00.000000000 +0100
+++ sudo-1.9.16p2/debian/gbp.conf	2025-06-30 07:55:33.000000000 +0200
@@ -0,0 +1,2 @@
+[DEFAULT]
+debian-branch=debian/trixie
diff -Nru sudo-1.9.16p2/debian/patches/0007-upstream-patch-for-CVE-2025-32463.patch sudo-1.9.16p2/debian/patches/0007-upstream-patch-for-CVE-2025-32463.patch
--- sudo-1.9.16p2/debian/patches/0007-upstream-patch-for-CVE-2025-32463.patch	1970-01-01 01:00:00.000000000 +0100
+++ sudo-1.9.16p2/debian/patches/0007-upstream-patch-for-CVE-2025-32463.patch	2025-06-30 07:55:33.000000000 +0200
@@ -0,0 +1,3614 @@
+From: Marc Haber <mh+mr-git@zugschlus.de>
+Date: Tue, 24 Jun 2025 11:02:17 +0200
+Subject: upstream patch for CVE-2025-32463
+
+---
+ MANIFEST                                      |   2 -
+ plugins/sudoers/Makefile.in                   | 998 ++++++++++++--------------
+ plugins/sudoers/editor.c                      |   2 +-
+ plugins/sudoers/find_path.c                   |  20 +-
+ plugins/sudoers/goodpath.c                    |  17 +-
+ plugins/sudoers/match_command.c               | 212 +++---
+ 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, 641 insertions(+), 822 deletions(-)
+ delete mode 100644 plugins/sudoers/pivot.c
+ delete mode 100644 plugins/sudoers/pivot.h
+
+diff --git a/MANIFEST b/MANIFEST
+index 19a2181..9ada4ef 100644
+--- a/MANIFEST
++++ b/MANIFEST
+@@ -686,8 +686,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 5c5f3d1..050bf45 100644
+--- a/plugins/sudoers/Makefile.in
++++ b/plugins/sudoers/Makefile.in
+@@ -189,11 +189,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)
+ 
+@@ -727,9 +727,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 \
+@@ -737,9 +737,9 @@ 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)/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
+ 	$(CPP) $(CPPFLAGS) $(authdir)/afs.c > $@
+ afs.plog: afs.i
+ 	rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(authdir)/afs.c --i-file afs.i --output-file $@
+@@ -749,10 +749,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 \
+@@ -760,10 +759,9 @@ 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)/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
+ 	$(CPP) $(CPPFLAGS) $(authdir)/aix_auth.c > $@
+ aix_auth.plog: aix_auth.i
+ 	rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(authdir)/aix_auth.c --i-file aix_auth.i --output-file $@
+@@ -773,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 \
+@@ -784,10 +781,9 @@ 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)/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
+ 	$(CPP) $(CPPFLAGS) $(srcdir)/alias.c > $@
+ alias.plog: alias.i
+ 	rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/alias.c --i-file alias.i --output-file $@
+@@ -799,8 +795,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 \
+@@ -811,8 +807,8 @@ 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)/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
+ 	$(CPP) $(CPPFLAGS) $(srcdir)/audit.c > $@
+ audit.plog: audit.i
+@@ -824,7 +820,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
+@@ -835,7 +831,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
+ 	$(CPP) $(CPPFLAGS) $(srcdir)/b64_decode.c > $@
+@@ -848,7 +844,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
+@@ -859,7 +855,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
+ 	$(CPP) $(CPPFLAGS) $(srcdir)/b64_encode.c > $@
+@@ -871,10 +867,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 \
+@@ -882,10 +877,9 @@ 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)/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
+ 	$(CPP) $(CPPFLAGS) $(srcdir)/boottime.c > $@
+ boottime.plog: boottime.i
+ 	rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/boottime.c --i-file boottime.i --output-file $@
+@@ -895,8 +889,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 \
+@@ -905,8 +899,8 @@ 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)/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
+ 	$(CPP) $(CPPFLAGS) $(authdir)/bsdauth.c > $@
+ bsdauth.plog: bsdauth.i
+@@ -918,9 +912,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 \
+@@ -929,9 +923,9 @@ 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)/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
+ 	$(CPP) $(CPPFLAGS) $(srcdir)/bsm_audit.c > $@
+ bsm_audit.plog: bsm_audit.i
+ 	rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/bsm_audit.c --i-file bsm_audit.i --output-file $@
+@@ -942,9 +936,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 \
+@@ -953,9 +947,9 @@ 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)/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
+ 	$(CPP) $(CPPFLAGS) $(srcdir)/canon_path.c > $@
+ canon_path.plog: canon_path.i
+ 	rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/canon_path.c --i-file canon_path.i --output-file $@
+@@ -964,20 +958,18 @@ 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)/sudo_nss.h $(srcdir)/sudoers.h $(srcdir)/sudoers_debug.h \
+-          $(srcdir)/timestamp.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)/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)/check.c
+ check.i: $(srcdir)/check.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 \
+-          $(srcdir)/timestamp.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)/timestamp.h \
++          $(top_builddir)/config.h $(top_builddir)/pathnames.h
+ 	$(CPP) $(CPPFLAGS) $(srcdir)/check.c > $@
+ check.plog: check.i
+ 	rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/check.c --i-file check.i --output-file $@
+@@ -988,9 +980,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 \
+@@ -999,9 +991,9 @@ 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)/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
+ 	$(CPP) $(CPPFLAGS) $(srcdir)/regress/parser/check_addr.c > $@
+ check_addr.plog: check_addr.i
+ 	rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/regress/parser/check_addr.c --i-file check_addr.i --output-file $@
+@@ -1012,10 +1004,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 \
+@@ -1024,10 +1015,9 @@ 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)/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
+ 	$(CPP) $(CPPFLAGS) $(srcdir)/check_aliases.c > $@
+ check_aliases.plog: check_aliases.i
+ 	rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/check_aliases.c --i-file check_aliases.i --output-file $@
+@@ -1062,9 +1052,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 \
+@@ -1073,9 +1063,9 @@ 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)/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
+ 	$(CPP) $(CPPFLAGS) $(srcdir)/regress/editor/check_editor.c > $@
+ check_editor.plog: check_editor.i
+ 	rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/regress/editor/check_editor.c --i-file check_editor.i --output-file $@
+@@ -1086,7 +1076,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
+@@ -1098,7 +1088,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
+@@ -1113,7 +1103,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
+@@ -1125,7 +1115,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
+ 	$(CPP) $(CPPFLAGS) $(srcdir)/regress/exptilde/check_exptilde.c > $@
+@@ -1167,7 +1157,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
+@@ -1180,7 +1170,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
+@@ -1196,9 +1186,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 \
+@@ -1209,9 +1199,9 @@ 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)/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
+ 	$(CPP) $(CPPFLAGS) $(srcdir)/regress/serialize_list/check_serialize_list.c > $@
+ check_serialize_list.plog: check_serialize_list.i
+ 	rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/regress/serialize_list/check_serialize_list.c --i-file check_serialize_list.i --output-file $@
+@@ -1250,7 +1240,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
+@@ -1261,7 +1251,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
+ 	$(CPP) $(CPPFLAGS) $(srcdir)/regress/unescape/check_unesc.c > $@
+@@ -1274,7 +1264,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
+@@ -1285,7 +1275,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
+ 	$(CPP) $(CPPFLAGS) $(srcdir)/check_util.c > $@
+@@ -1299,8 +1289,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
+@@ -1313,8 +1303,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
+@@ -1329,9 +1319,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 \
+@@ -1341,9 +1331,9 @@ 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)/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
+ 	$(CPP) $(CPPFLAGS) $(srcdir)/cvtsudoers_csv.c > $@
+ cvtsudoers_csv.plog: cvtsudoers_csv.i
+ 	rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/cvtsudoers_csv.c --i-file cvtsudoers_csv.i --output-file $@
+@@ -1355,7 +1345,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
+@@ -1368,7 +1358,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
+@@ -1383,11 +1373,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 \
+@@ -1397,11 +1387,11 @@ 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)/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
+ 	$(CPP) $(CPPFLAGS) $(srcdir)/cvtsudoers_ldif.c > $@
+ cvtsudoers_ldif.plog: cvtsudoers_ldif.i
+ 	rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/cvtsudoers_ldif.c --i-file cvtsudoers_ldif.i --output-file $@
+@@ -1413,7 +1403,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
+@@ -1426,7 +1416,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
+@@ -1440,11 +1430,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 \
+@@ -1453,11 +1442,10 @@ 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)/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
+ 	$(CPP) $(CPPFLAGS) $(srcdir)/cvtsudoers_pwutil.c > $@
+ cvtsudoers_pwutil.plog: cvtsudoers_pwutil.i
+ 	rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/cvtsudoers_pwutil.c --i-file cvtsudoers_pwutil.i --output-file $@
+@@ -1467,9 +1455,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 \
+@@ -1477,9 +1465,9 @@ 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)/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
+ 	$(CPP) $(CPPFLAGS) $(authdir)/dce.c > $@
+ dce.plog: dce.i
+ 	rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(authdir)/dce.c --i-file dce.i --output-file $@
+@@ -1490,10 +1478,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 \
+@@ -1502,10 +1489,9 @@ 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)/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
+ 	$(CPP) $(CPPFLAGS) $(srcdir)/defaults.c > $@
+ defaults.plog: defaults.i
+ 	rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/defaults.c --i-file defaults.i --output-file $@
+@@ -1530,9 +1516,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 \
+@@ -1541,9 +1527,9 @@ 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)/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
+ 	$(CPP) $(CPPFLAGS) $(srcdir)/display.c > $@
+ display.plog: display.i
+ 	rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/display.c --i-file display.i --output-file $@
+@@ -1553,9 +1539,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 \
+@@ -1563,9 +1549,9 @@ 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)/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
+ 	$(CPP) $(CPPFLAGS) $(srcdir)/editor.c > $@
+ editor.plog: editor.i
+ 	rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/editor.c --i-file editor.i --output-file $@
+@@ -1574,18 +1560,18 @@ 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)/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)/env.c
+ env.i: $(srcdir)/env.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
++        $(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
+ 	$(CPP) $(CPPFLAGS) $(srcdir)/env.c > $@
+ env.plog: env.i
+ 	rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/env.c --i-file env.i --output-file $@
+@@ -1596,7 +1582,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
+@@ -1607,7 +1593,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
+ 	$(CPP) $(CPPFLAGS) $(srcdir)/env_pattern.c > $@
+@@ -1619,8 +1605,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
+@@ -1630,8 +1616,8 @@ 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)/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
+ 	$(CPP) $(CPPFLAGS) $(srcdir)/exptilde.c > $@
+@@ -1644,9 +1630,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 \
+@@ -1655,9 +1640,8 @@ 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)/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
+ 	$(CPP) $(CPPFLAGS) $(srcdir)/file.c > $@
+ file.plog: file.i
+ 	rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/file.c --i-file file.i --output-file $@
+@@ -1668,9 +1652,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 \
+@@ -1679,9 +1663,9 @@ 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)/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
+ 	$(CPP) $(CPPFLAGS) $(srcdir)/filedigest.c > $@
+ filedigest.plog: filedigest.i
+ 	rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/filedigest.c --i-file filedigest.i --output-file $@
+@@ -1692,7 +1676,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
+@@ -1703,7 +1687,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
+ 	$(CPP) $(CPPFLAGS) $(srcdir)/find_path.c > $@
+@@ -1716,9 +1700,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 \
+@@ -1727,9 +1711,9 @@ 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)/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
+ 	$(CPP) $(CPPFLAGS) $(srcdir)/fmtsudoers.c > $@
+ fmtsudoers.plog: fmtsudoers.i
+ 	rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/fmtsudoers.c --i-file fmtsudoers.i --output-file $@
+@@ -1741,7 +1725,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
+@@ -1753,7 +1737,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
+ 	$(CPP) $(CPPFLAGS) $(srcdir)/fmtsudoers_cvt.c > $@
+@@ -1768,7 +1752,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
+@@ -1781,7 +1765,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
+ 	$(CPP) $(CPPFLAGS) $(srcdir)/regress/fuzz/fuzz_policy.c > $@
+@@ -1794,10 +1778,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 \
+@@ -1806,10 +1789,9 @@ 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)/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
+ 	$(CPP) $(CPPFLAGS) $(srcdir)/regress/fuzz/fuzz_stubs.c > $@
+ fuzz_stubs.plog: fuzz_stubs.i
+ 	rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/regress/fuzz/fuzz_stubs.c --i-file fuzz_stubs.i --output-file $@
+@@ -1820,10 +1802,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 \
+@@ -1832,10 +1813,9 @@ 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)/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
+ 	$(CPP) $(CPPFLAGS) $(srcdir)/regress/fuzz/fuzz_sudoers.c > $@
+ fuzz_sudoers.plog: fuzz_sudoers.i
+ 	rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/regress/fuzz/fuzz_sudoers.c --i-file fuzz_sudoers.i --output-file $@
+@@ -1846,7 +1826,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
+@@ -1858,7 +1838,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
+@@ -1871,8 +1851,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 \
+@@ -1881,8 +1861,8 @@ 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)/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
+ 	$(CPP) $(CPPFLAGS) $(authdir)/fwtk.c > $@
+ fwtk.plog: fwtk.i
+@@ -1892,8 +1872,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 \
+@@ -1901,8 +1881,8 @@ 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)/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
+ 	$(CPP) $(CPPFLAGS) $(srcdir)/gc.c > $@
+ gc.plog: gc.i
+@@ -1932,7 +1912,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
+@@ -1943,7 +1923,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
+ 	$(CPP) $(CPPFLAGS) $(srcdir)/getspwuid.c > $@
+@@ -1955,10 +1935,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 \
+@@ -1966,10 +1945,9 @@ 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)/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
+ 	$(CPP) $(CPPFLAGS) $(srcdir)/goodpath.c > $@
+ goodpath.plog: goodpath.i
+ 	rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/goodpath.c --i-file goodpath.i --output-file $@
+@@ -1979,9 +1957,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 \
+@@ -1989,9 +1966,8 @@ 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)/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
+ 	$(CPP) $(CPPFLAGS) $(devdir)/gram.c > $@
+ gram.plog: gram.i
+ 	rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(devdir)/gram.c --i-file gram.i --output-file $@
+@@ -2002,10 +1978,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 \
+@@ -2014,10 +1989,9 @@ 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)/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
+ 	$(CPP) $(CPPFLAGS) $(srcdir)/group_plugin.c > $@
+ group_plugin.plog: group_plugin.i
+ 	rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/group_plugin.c --i-file group_plugin.i --output-file $@
+@@ -2028,9 +2002,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 \
+@@ -2039,9 +2013,9 @@ 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)/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
+ 	$(CPP) $(CPPFLAGS) $(srcdir)/interfaces.c > $@
+ interfaces.plog: interfaces.i
+ 	rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/interfaces.c --i-file interfaces.i --output-file $@
+@@ -2053,8 +2027,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 \
+@@ -2065,8 +2039,8 @@ 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)/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
+ 	$(CPP) $(CPPFLAGS) $(srcdir)/iolog.c > $@
+ iolog.plog: iolog.i
+@@ -2078,7 +2052,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
+@@ -2090,7 +2064,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
+@@ -2103,8 +2077,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 \
+@@ -2113,8 +2087,8 @@ 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)/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
+ 	$(CPP) $(CPPFLAGS) $(authdir)/kerb5.c > $@
+ kerb5.plog: kerb5.i
+@@ -2125,8 +2099,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 \
+@@ -2135,8 +2109,8 @@ 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_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
+ 	$(CPP) $(CPPFLAGS) $(srcdir)/ldap.c > $@
+ ldap.plog: ldap.i
+@@ -2148,7 +2122,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
+@@ -2160,7 +2134,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
+@@ -2174,10 +2148,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 \
+@@ -2186,10 +2160,10 @@ 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_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
+ 	$(CPP) $(CPPFLAGS) $(srcdir)/ldap_innetgr.c > $@
+ ldap_innetgr.plog: ldap_innetgr.i
+ 	rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/ldap_innetgr.c --i-file ldap_innetgr.i --output-file $@
+@@ -2201,10 +2175,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 \
+@@ -2214,10 +2187,9 @@ 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)/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
+ 	$(CPP) $(CPPFLAGS) $(srcdir)/ldap_util.c > $@
+ ldap_util.plog: ldap_util.i
+ 	rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/ldap_util.c --i-file ldap_util.i --output-file $@
+@@ -2228,10 +2200,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 \
+@@ -2240,10 +2211,9 @@ 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)/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
+ 	$(CPP) $(CPPFLAGS) $(srcdir)/linux_audit.c > $@
+ linux_audit.plog: linux_audit.i
+ 	rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/linux_audit.c --i-file linux_audit.i --output-file $@
+@@ -2274,9 +2244,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 \
+@@ -2289,9 +2259,9 @@ 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)/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
+ 	$(CPP) $(CPPFLAGS) $(srcdir)/log_client.c > $@
+ log_client.plog: log_client.i
+ 	rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/log_client.c --i-file log_client.i --output-file $@
+@@ -2304,8 +2274,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 \
+@@ -2317,8 +2287,8 @@ 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)/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
+ 	$(CPP) $(CPPFLAGS) $(srcdir)/logging.c > $@
+ logging.plog: logging.i
+@@ -2329,8 +2299,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 \
+@@ -2339,8 +2309,8 @@ 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)/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
+ 	$(CPP) $(CPPFLAGS) $(srcdir)/lookup.c > $@
+ lookup.plog: lookup.i
+@@ -2351,8 +2321,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 \
+@@ -2361,8 +2331,8 @@ 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)/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
+ 	$(CPP) $(CPPFLAGS) $(srcdir)/match.c > $@
+ match.plog: match.i
+@@ -2374,9 +2344,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 \
+@@ -2385,9 +2355,9 @@ 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)/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
+ 	$(CPP) $(CPPFLAGS) $(srcdir)/match_addr.c > $@
+ match_addr.plog: match_addr.i
+ 	rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/match_addr.c --i-file match_addr.i --output-file $@
+@@ -2399,10 +2369,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 \
+@@ -2412,10 +2381,9 @@ 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)/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
+ 	$(CPP) $(CPPFLAGS) $(srcdir)/match_command.c > $@
+ match_command.plog: match_command.i
+ 	rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/match_command.c --i-file match_command.i --output-file $@
+@@ -2427,7 +2395,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
+@@ -2439,7 +2407,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
+ 	$(CPP) $(CPPFLAGS) $(srcdir)/match_digest.c > $@
+@@ -2469,9 +2437,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 \
+@@ -2479,9 +2446,8 @@ 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)/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
+ 	$(CPP) $(CPPFLAGS) $(authdir)/pam.c > $@
+ pam.plog: pam.i
+ 	rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(authdir)/pam.c --i-file pam.i --output-file $@
+@@ -2492,8 +2458,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
+@@ -2504,8 +2470,8 @@ 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)/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
+ 	$(CPP) $(CPPFLAGS) $(srcdir)/parse_ldif.c > $@
+@@ -2518,7 +2484,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
+@@ -2529,7 +2495,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
+ 	$(CPP) $(CPPFLAGS) $(srcdir)/parser_warnx.c > $@
+@@ -2541,8 +2507,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 \
+@@ -2551,32 +2517,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)/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
+ 	$(CPP) $(CPPFLAGS) $(authdir)/passwd.c > $@
+ 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 passwd.i --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
+-	$(CPP) $(CPPFLAGS) $(srcdir)/pivot.c > $@
+-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 pivot.i --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 \
+@@ -2584,10 +2530,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 \
+@@ -2596,10 +2542,10 @@ 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)/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
+ 	$(CPP) $(CPPFLAGS) $(srcdir)/policy.c > $@
+ policy.plog: policy.i
+ 	rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/policy.c --i-file policy.i --output-file $@
+@@ -2609,9 +2555,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 \
+@@ -2619,9 +2565,9 @@ 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)/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
+ 	$(CPP) $(CPPFLAGS) $(srcdir)/prompt.c > $@
+ prompt.plog: prompt.i
+ 	rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/prompt.c --i-file prompt.i --output-file $@
+@@ -2631,10 +2577,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 \
+@@ -2642,10 +2587,9 @@ 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)/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
+ 	$(CPP) $(CPPFLAGS) $(srcdir)/pwutil.c > $@
+ pwutil.plog: pwutil.i
+ 	rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/pwutil.c --i-file pwutil.i --output-file $@
+@@ -2656,9 +2600,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 \
+@@ -2667,9 +2611,9 @@ 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)/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
+ 	$(CPP) $(CPPFLAGS) $(srcdir)/pwutil_impl.c > $@
+ pwutil_impl.plog: pwutil_impl.i
+ 	rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/pwutil_impl.c --i-file pwutil_impl.i --output-file $@
+@@ -2679,8 +2623,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
+@@ -2690,8 +2634,8 @@ 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)/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
+ 	$(CPP) $(CPPFLAGS) $(srcdir)/redblack.c > $@
+@@ -2704,7 +2648,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
+@@ -2715,7 +2659,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
+ 	$(CPP) $(CPPFLAGS) $(srcdir)/resolve_cmnd.c > $@
+@@ -2727,8 +2671,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 \
+@@ -2737,8 +2681,8 @@ 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)/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
+ 	$(CPP) $(CPPFLAGS) $(authdir)/rfc1938.c > $@
+ rfc1938.plog: rfc1938.i
+@@ -2750,9 +2694,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 \
+@@ -2761,9 +2705,9 @@ 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)/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
+ 	$(CPP) $(CPPFLAGS) $(authdir)/secureware.c > $@
+ secureware.plog: secureware.i
+ 	rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(authdir)/secureware.c --i-file secureware.i --output-file $@
+@@ -2773,10 +2717,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 \
+@@ -2784,10 +2727,9 @@ 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)/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
+ 	$(CPP) $(CPPFLAGS) $(authdir)/securid5.c > $@
+ securid5.plog: securid5.i
+ 	rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(authdir)/securid5.c --i-file securid5.i --output-file $@
+@@ -2798,7 +2740,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
+@@ -2809,7 +2751,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
+ 	$(CPP) $(CPPFLAGS) $(srcdir)/serialize_list.c > $@
+@@ -2822,7 +2764,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
+@@ -2833,7 +2775,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
+ 	$(CPP) $(CPPFLAGS) $(srcdir)/set_perms.c > $@
+@@ -2845,8 +2787,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 \
+@@ -2855,8 +2797,8 @@ 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)/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
+ 	$(CPP) $(CPPFLAGS) $(srcdir)/sethost.c > $@
+ sethost.plog: sethost.i
+@@ -2867,9 +2809,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 \
+@@ -2877,9 +2818,8 @@ 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)/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
+ 	$(CPP) $(CPPFLAGS) $(authdir)/sia.c > $@
+ sia.plog: sia.i
+ 	rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(authdir)/sia.c --i-file sia.i --output-file $@
+@@ -2890,10 +2830,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 \
+@@ -2902,10 +2841,9 @@ 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)/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
+ 	$(CPP) $(CPPFLAGS) $(srcdir)/solaris_audit.c > $@
+ solaris_audit.plog: solaris_audit.i
+ 	rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/solaris_audit.c --i-file solaris_audit.i --output-file $@
+@@ -2915,9 +2853,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 \
+@@ -2925,9 +2863,9 @@ 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)/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
+ 	$(CPP) $(CPPFLAGS) $(srcdir)/sssd.c > $@
+ sssd.plog: sssd.i
+ 	rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/sssd.c --i-file sssd.i --output-file $@
+@@ -2938,7 +2876,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
+@@ -2949,7 +2887,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
+ 	$(CPP) $(CPPFLAGS) $(srcdir)/starttime.c > $@
+@@ -2962,7 +2900,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
+@@ -2973,7 +2911,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
+ 	$(CPP) $(CPPFLAGS) $(srcdir)/strlcpy_unesc.c > $@
+@@ -2998,7 +2936,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
+@@ -3009,7 +2947,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
+ 	$(CPP) $(CPPFLAGS) $(srcdir)/strvec_join.c > $@
+@@ -3021,9 +2959,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 \
+@@ -3031,9 +2968,8 @@ 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)/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
+ 	$(CPP) $(CPPFLAGS) $(srcdir)/stubs.c > $@
+ stubs.plog: stubs.i
+ 	rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/stubs.c --i-file stubs.i --output-file $@
+@@ -3047,10 +2983,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 \
+@@ -3062,10 +2997,9 @@ 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)/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
+ 	$(CPP) $(CPPFLAGS) $(authdir)/sudo_auth.c > $@
+ sudo_auth.plog: sudo_auth.i
+ 	rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(authdir)/sudo_auth.c --i-file sudo_auth.i --output-file $@
+@@ -3075,10 +3009,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 \
+@@ -3086,10 +3019,9 @@ 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)/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
+ 	$(CPP) $(CPPFLAGS) $(srcdir)/sudo_nss.c > $@
+ sudo_nss.plog: sudo_nss.i
+ 	rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/sudo_nss.c --i-file sudo_nss.i --output-file $@
+@@ -3114,8 +3046,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
+@@ -3126,8 +3058,8 @@ 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)/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
+ 	$(CPP) $(CPPFLAGS) $(srcdir)/sudoers.c > $@
+@@ -3141,7 +3073,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
+@@ -3153,7 +3085,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
+ 	$(CPP) $(CPPFLAGS) $(srcdir)/sudoers_cb.c > $@
+@@ -3166,7 +3098,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
+@@ -3177,7 +3109,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
+ 	$(CPP) $(CPPFLAGS) $(srcdir)/sudoers_ctx_free.c > $@
+@@ -3190,7 +3122,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
+@@ -3201,7 +3133,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
+ 	$(CPP) $(CPPFLAGS) $(srcdir)/sudoers_debug.c > $@
+@@ -3214,7 +3146,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
+@@ -3225,7 +3157,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
+ 	$(CPP) $(CPPFLAGS) $(srcdir)/sudoers_hooks.c > $@
+@@ -3261,7 +3193,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
+@@ -3274,7 +3206,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
+@@ -3288,7 +3220,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 \
+@@ -3301,7 +3233,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 \
+@@ -3328,7 +3260,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
+@@ -3339,7 +3271,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
+ 	$(CPP) $(CPPFLAGS) $(srcdir)/timestamp.c > $@
+@@ -3351,8 +3283,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 \
+@@ -3361,8 +3293,8 @@ 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)/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
+ 	$(CPP) $(CPPFLAGS) $(srcdir)/timestr.c > $@
+ timestr.plog: timestr.i
+@@ -3374,9 +3306,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 \
+@@ -3385,9 +3316,8 @@ 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)/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
+ 	$(CPP) $(CPPFLAGS) $(devdir)/toke.c > $@
+ toke.plog: toke.i
+ 	rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(devdir)/toke.c --i-file toke.i --output-file $@
+@@ -3398,7 +3328,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
+@@ -3409,7 +3339,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
+ 	$(CPP) $(CPPFLAGS) $(srcdir)/toke_util.c > $@
+@@ -3420,20 +3350,18 @@ 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)/sudo_nss.h $(srcdir)/sudoers.h $(srcdir)/sudoers_debug.h \
+-          $(srcdir)/timestamp.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)/timestamp.h \
++          $(top_builddir)/config.h $(top_builddir)/pathnames.h
+ 	$(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/tsdump.c
+ tsdump.i: $(srcdir)/tsdump.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 \
+-          $(srcdir)/timestamp.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)/timestamp.h \
++          $(top_builddir)/config.h $(top_builddir)/pathnames.h
+ 	$(CPP) $(CPPFLAGS) $(srcdir)/tsdump.c > $@
+ tsdump.plog: tsdump.i
+ 	rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/tsdump.c --i-file tsdump.i --output-file $@
+@@ -3443,10 +3371,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 \
+@@ -3454,10 +3382,10 @@ 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)/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
+ 	$(CPP) $(CPPFLAGS) $(srcdir)/tsgetgrpw.c > $@
+ tsgetgrpw.plog: tsgetgrpw.i
+ 	rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/tsgetgrpw.c --i-file tsgetgrpw.i --output-file $@
+@@ -3480,7 +3408,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
+@@ -3491,7 +3419,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
+ 	$(CPP) $(CPPFLAGS) $(srcdir)/unesc_str.c > $@
+@@ -3504,10 +3432,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 \
+@@ -3516,10 +3443,9 @@ 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)/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
+ 	$(CPP) $(CPPFLAGS) $(srcdir)/visudo.c > $@
+ visudo.plog: visudo.i
+ 	rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/visudo.c --i-file visudo.i --output-file $@
+@@ -3529,10 +3455,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 \
+@@ -3540,10 +3465,9 @@ 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)/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
+ 	$(CPP) $(CPPFLAGS) $(srcdir)/visudo_cb.c > $@
+ visudo_cb.plog: visudo_cb.i
+ 	rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/visudo_cb.c --i-file visudo_cb.i --output-file $@
+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 bd36603..a479cee 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;
+@@ -384,6 +418,7 @@ command_matches_fnmatch(struct sudoers_context *ctx, const char *sudoers_cmnd,
+      *  c) there are args in sudoers and on command line and they match
+      *     else return DENY.
+      *
++     * Neither sudoers_cmnd nor user_cmnd are relative to runchroot.
+      * We do not attempt to match a relative path unless there is a
+      * canonicalized version.
+      */
+@@ -402,16 +437,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);
+@@ -424,7 +459,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;
+@@ -441,6 +476,8 @@ command_matches_regex(struct sudoers_context *ctx, const char *sudoers_cmnd,
+      *  b) there are no args on command line and none required by sudoers OR
+      *  c) there are args in sudoers and on command line and they match
+      *     else return DENY.
++     *
++     * Neither sudoers_cmnd nor user_cmnd are relative to runchroot.
+      */
+     if (cmnd[0] != '/' || regex_matches(sudoers_cmnd, cmnd) != ALLOW) {
+ 	/* No match, retry using the canonicalized path (if possible). */
+@@ -457,16 +494,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);
+@@ -480,17 +517,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
+@@ -522,19 +573,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;
+ 		}
+@@ -558,11 +611,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);
+ 		}
+@@ -593,14 +648,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) {
+@@ -617,7 +672,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);
+ 	}
+     }
+@@ -628,7 +683,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;
+@@ -641,7 +696,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 */
+@@ -672,7 +727,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;
+ 
+     /*
+@@ -682,7 +737,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;
+@@ -693,7 +748,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;
+     }
+@@ -702,7 +757,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)
+@@ -712,16 +767,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;
+@@ -731,16 +786,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. */
+@@ -750,7 +805,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);
+ 	}
+     }
+@@ -771,11 +826,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);
+ 
+@@ -793,18 +845,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. */
+@@ -812,7 +852,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;
+@@ -823,13 +863,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;
+     }
+@@ -860,20 +900,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..e361e4b 100644
+--- a/plugins/sudoers/match_digest.c
++++ b/plugins/sudoers/match_digest.c
+@@ -40,13 +40,14 @@
+ #include <gram.h>
+ 
+ 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 0e89fa1..33654c0 100644
+--- a/plugins/sudoers/parse.h
++++ b/plugins/sudoers/parse.h
+@@ -418,7 +418,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 <Todd.Miller@sudo.ws>
+- *
+- * 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 <config.h>
+-
+-#include <stdio.h>
+-#include <fcntl.h>
+-#include <unistd.h>
+-
+-#include <sudoers.h>
+-
+-/*
+- * 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 <Todd.Miller@sudo.ws>
+- *
+- * 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 70a0c1a..47feb93 100644
+--- a/plugins/sudoers/sudoers.c
++++ b/plugins/sudoers/sudoers.c
+@@ -1080,7 +1080,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;
+@@ -1099,13 +1098,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) {
+@@ -1122,14 +1115,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 106a1e8..414293e 100644
+--- a/plugins/sudoers/sudoers.h
++++ b/plugins/sudoers/sudoers.h
+@@ -49,7 +49,6 @@
+ #include <defaults.h>
+ #include <logging.h>
+ #include <parse.h>
+-#include <pivot.h>
+ 
+ /*
+  * Info passed in from the sudo front-end.
+@@ -314,15 +313,16 @@ struct stat;
+  * 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 f79a0bf..006ab36 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)
+ {
diff -Nru sudo-1.9.16p2/debian/patches/0008-upstream-patch-for-CVE-2025-32462.patch sudo-1.9.16p2/debian/patches/0008-upstream-patch-for-CVE-2025-32462.patch
--- sudo-1.9.16p2/debian/patches/0008-upstream-patch-for-CVE-2025-32462.patch	1970-01-01 01:00:00.000000000 +0100
+++ sudo-1.9.16p2/debian/patches/0008-upstream-patch-for-CVE-2025-32462.patch	2025-06-30 07:55:33.000000000 +0200
@@ -0,0 +1,31 @@
+From: Marc Haber <mh+debian-packages@zugschlus.de>
+Date: Mon, 30 Jun 2025 07:52:43 +0200
+Subject: upstream patch for CVE-2025-32462
+
+---
+ plugins/sudoers/sudoers.c | 12 ++++++++++++
+ 1 file changed, 12 insertions(+)
+
+diff --git a/plugins/sudoers/sudoers.c b/plugins/sudoers/sudoers.c
+index 47feb93..0f75c96 100644
+--- a/plugins/sudoers/sudoers.c
++++ b/plugins/sudoers/sudoers.c
+@@ -350,6 +350,18 @@ sudoers_check_common(struct sudoers_context *ctx, int pwflag)
+     time_t now;
+     debug_decl(sudoers_check_common, SUDOERS_DEBUG_PLUGIN);
+ 
++    /* The user may only specify a host for "sudo -l". */
++    if (!ISSET(ctx->mode, MODE_LIST|MODE_CHECK)) {
++       if (strcmp(ctx->runas.host, ctx->user.host) != 0) {
++           log_warningx(ctx, SLOG_NO_STDERR|SLOG_AUDIT,
++               N_("user not allowed to set remote host for command"));
++           sudo_warnx("%s",
++               U_("a remote host may only be specified when listing privileges."));
++           ret = false;
++           goto done;
++       }
++    }
++
+     /* If given the -P option, set the "preserve_groups" flag. */
+     if (ISSET(ctx->mode, MODE_PRESERVE_GROUPS))
+ 	def_preserve_groups = true;
diff -Nru sudo-1.9.16p2/debian/patches/series sudo-1.9.16p2/debian/patches/series
--- sudo-1.9.16p2/debian/patches/series	2025-05-04 17:48:51.000000000 +0200
+++ sudo-1.9.16p2/debian/patches/series	2025-06-30 07:55:33.000000000 +0200
@@ -3,3 +3,5 @@
 Whitelist-DPKG_COLORS-environment-variable.diff
 sudo-ldap-docs.patch
 X11R6.patch
+0007-upstream-patch-for-CVE-2025-32463.patch
+0008-upstream-patch-for-CVE-2025-32462.patch
diff -Nru sudo-1.9.16p2/debian/po/it.po sudo-1.9.16p2/debian/po/it.po
--- sudo-1.9.16p2/debian/po/it.po	1970-01-01 01:00:00.000000000 +0100
+++ sudo-1.9.16p2/debian/po/it.po	2025-06-30 07:55:33.000000000 +0200
@@ -0,0 +1,51 @@
+# Translation of sudo debconf templates to $LANGUAGE
+# This file is distributed under the same license as the sudo package.
+# Ceppo <ceppo@oziosi.org>, 2025.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: sudo\n"
+"Report-Msgid-Bugs-To: sudo@packages.debian.org\n"
+"POT-Creation-Date: 2023-11-20 12:50+0100\n"
+"PO-Revision-Date: 2025-06-23 00:00+0000\n"
+"Last-Translator: Ceppo <ceppo@oziosi.org>\n"
+"Language-Team: Italian <debian-l10n-italian@lists.debian.org>\n"
+"Language: it\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Type: note
+#. Description
+#: ../sudo-ldap.templates:1001
+msgid "sudo-ldap is going away after trixie"
+msgstr "sudo-ldap sarà rimosso dopo trixie"
+
+#. Type: note
+#. Description
+#: ../sudo-ldap.templates:1001
+msgid ""
+"Debian 13, \"trixie\", will be the last version of Debian that supports sudo-"
+"ldap."
+msgstr ""
+"Debian 13, \"trixie\", sarà l'ultima versione di Debian a supportare sudo-ldap."
+
+#. Type: note
+#. Description
+#: ../sudo-ldap.templates:1001
+msgid ""
+"The Debian sudo team recommends the use of libsss-sudo for new installations and "
+"the migration of existing installations from sudo-ldap to libsss-sudo and sssd"
+msgstr ""
+"Il team sudo di Debian raccomanda di usare libsss-sudo per le nuove "
+"installazioni e di migrare quelle esistenti da sudo-ldap a libsss-sudo e sssd"
+
+#. Type: note
+#. Description
+#: ../sudo-ldap.templates:1001
+msgid ""
+"See /usr/share/doc/sudo-ldap/NEWS.Debian.gz for more explanation. This is also "
+"being discussed in #1033728 in the Debian BTS."
+msgstr ""
+"Vedere /usr/share/doc/sudo-ldap/NEWS.Debian.gz per ulteriori spiegazioni. Questo "
+"tema è discusso anche nel BTS di Debian nel bug #1033728."

Reply to: