Imported Upstream version 1.8.7
[debian/sudo] / plugins / sudoers / Makefile.in
index 7ffc074b6f19e2662d2e7e39ad6914e4346a0f50..e77961815b244d327a1506c9cc7357a68233adc9 100644 (file)
@@ -1,5 +1,5 @@
 #
-# Copyright (c) 1996, 1998-2005, 2007-2012
+# Copyright (c) 1996, 1998-2005, 2007-2013
 #       Todd C. Miller <Todd.Miller@courtesan.com>
 #
 # Permission to use, copy, modify, and distribute this software for any
@@ -123,36 +123,42 @@ SHELL = @SHELL@
 
 PROGS = sudoers.la visudo sudoreplay testsudoers
 
-TEST_PROGS = check_iolog_path check_fill check_wrap check_addr check_symbols
+TEST_PROGS = check_iolog_path check_fill check_wrap check_addr check_symbols \
+            check_digest check_base64
 
 AUTH_OBJS = sudo_auth.lo @AUTH_OBJS@
 
-LIBPARSESUDOERS_OBJS = alias.lo audit.lo defaults.lo gram.lo match.lo \
-                      match_addr.lo pwutil.lo timestr.lo toke.lo \
-                      toke_util.lo redblack.lo
+LIBPARSESUDOERS_OBJS = alias.lo audit.lo base64.lo defaults.lo hexchar.lo \
+                      gram.lo match.lo match_addr.lo pwutil.lo pwutil_impl.lo \
+                      timestr.lo toke.lo toke_util.lo redblack.lo sha2.lo
 
-SUDOERS_OBJS = $(AUTH_OBJS) boottime.lo check.lo env.lo goodpath.lo \
-              group_plugin.lo find_path.lo interfaces.lo logging.lo \
-              logwrap.lo parse.lo set_perms.lo sudoers.lo sudo_nss.lo \
-              iolog.lo iolog_path.lo @SUDOERS_OBJS@
+SUDOERS_OBJS = $(AUTH_OBJS) boottime.lo check.lo env.lo find_path.lo \
+              goodpath.lo group_plugin.lo interfaces.lo iolog.lo \
+              iolog_path.lo locale.lo logging.lo logwrap.lo parse.lo \
+              policy.lo prompt.lo set_perms.lo sudo_nss.lo sudoers.lo \
+              timestamp.lo @SUDOERS_OBJS@
 
-VISUDO_OBJS = visudo.o goodpath.o find_path.o error.o
+VISUDO_OBJS = find_path.o goodpath.o locale.o visudo.o
 
-REPLAY_OBJS = getdate.o sudoreplay.o error.o
+REPLAY_OBJS = getdate.o locale.o sudoreplay.o
 
-TEST_OBJS = interfaces.o testsudoers.o tsgetgrpw.o error.o group_plugin.o \
-           net_ifs.o
+TEST_OBJS = group_plugin.o interfaces.o locale.o net_ifs.o \
+           testsudoers.o tsgetgrpw.o
 
-CHECK_ADDR_OBJS = check_addr.o match_addr.o interfaces.o error.o
+CHECK_ADDR_OBJS = check_addr.o interfaces.o locale.o match_addr.o
 
-CHECK_FILL_OBJS = check_fill.o toke_util.o error.o
+CHECK_BASE64_OBJS = check_base64.o base64.o locale.o
 
-CHECK_IOLOG_PATH_OBJS = check_iolog_path.o error.o iolog_path.o pwutil.o \
-                       redblack.o
+CHECK_DIGEST_OBJS = check_digest.o sha2.o
 
-CHECK_SYMBOLS_OBJS = check_symbols.o error.o
+CHECK_FILL_OBJS = check_fill.o hexchar.o locale.o toke_util.o
 
-CHECK_WRAP_OBJS = check_wrap.o logwrap.o error.o
+CHECK_IOLOG_PATH_OBJS = check_iolog_path.o iolog_path.o locale.o \
+                       pwutil.o pwutil_impl.o redblack.o
+
+CHECK_SYMBOLS_OBJS = check_symbols.o locale.o
+
+CHECK_WRAP_OBJS = check_wrap.o locale.o logwrap.o
 
 LIBOBJDIR = $(top_builddir)/@ac_config_libobj_dir@/
 
@@ -201,14 +207,22 @@ testsudoers: libparsesudoers.la $(TEST_OBJS) $(LT_LIBS)
 check_addr: $(CHECK_ADDR_OBJS) $(LT_LIBS)
        $(LIBTOOL) --mode=link $(CC) -o $@ $(CHECK_ADDR_OBJS) $(LDFLAGS) $(PIE_LDFLAGS) $(SSP_LDFLAGS) $(LIBS) $(NET_LIBS)
 
-check_iolog_path: $(CHECK_IOLOG_PATH_OBJS) $(LT_LIBS)
-       $(LIBTOOL) --mode=link $(CC) -o $@ $(CHECK_IOLOG_PATH_OBJS) $(LDFLAGS) $(PIE_LDFLAGS) $(SSP_LDFLAGS) $(LIBS)
+check_base64: $(CHECK_BASE64_OBJS) $(LT_LIBS)
+       $(LIBTOOL) --mode=link $(CC) -o $@ $(CHECK_BASE64_OBJS) $(LDFLAGS) $(PIE_LDFLAGS) $(SSP_LDFLAGS) $(LIBS)
+
+check_digest: $(CHECK_DIGEST_OBJS) $(LT_LIBS)
+       $(LIBTOOL) --mode=link $(CC) -o $@ $(CHECK_DIGEST_OBJS) $(LDFLAGS) $(PIE_LDFLAGS) $(SSP_LDFLAGS) $(LIBS)
 
 check_fill: $(CHECK_FILL_OBJS) $(LT_LIBS)
        $(LIBTOOL) --mode=link $(CC) -o $@ $(CHECK_FILL_OBJS) $(LDFLAGS) $(PIE_LDFLAGS) $(SSP_LDFLAGS) $(LIBS)
 
+check_iolog_path: $(CHECK_IOLOG_PATH_OBJS) $(LT_LIBS)
+       $(LIBTOOL) --mode=link $(CC) -o $@ $(CHECK_IOLOG_PATH_OBJS) $(LDFLAGS) $(PIE_LDFLAGS) $(SSP_LDFLAGS) $(LIBS)
+
 check_symbols: $(CHECK_SYMBOLS_OBJS) $(LT_LIBS)
-       $(LIBTOOL) --mode=link $(CC) -o $@ $(CHECK_SYMBOLS_OBJS) $(LDFLAGS) $(PIE_LDFLAGS) $(SSP_LDFLAGS) $(LIBS) @SUDO_LIBS@
+       if [ X"$(soext)" != X"" ]; then \
+           $(LIBTOOL) --mode=link $(CC) -o $@ $(CHECK_SYMBOLS_OBJS) $(LDFLAGS) $(PIE_LDFLAGS) $(SSP_LDFLAGS) $(LIBS) @SUDO_LIBS@; \
+       fi
 
 check_wrap: $(CHECK_WRAP_OBJS) $(LT_LIBS)
        $(LIBTOOL) --mode=link $(CC) -o $@ $(CHECK_WRAP_OBJS) $(LDFLAGS) $(PIE_LDFLAGS) $(SSP_LDFLAGS) $(LIBS)
@@ -222,7 +236,7 @@ $(devdir)/gram.c $(devdir)/gram.h: $(srcdir)/gram.y
            else \
                gram_y="$(srcdir)/gram.y"; \
            fi; \
-           cmd='$(YACC) -d '"$$gram_y"'; echo "#include <config.h>" > $(devdir)/gram.c; sed "s/^\\(#line .*\\) \"y\\.tab\\.c\"/\1 \"gram.c\"/" y.tab.c >> $(devdir)/gram.c; rm -f y.tab.c; mv -f y.tab.h $(devdir)/gram.h'; \
+           cmd='$(YACC) -d -p sudoers '"$$gram_y"'; echo "#include <config.h>" > $(devdir)/gram.c; sed "s/^\\(#line .*\\) \"y\\.tab\\.c\"/\1 \"gram.c\"/" y.tab.c >> $(devdir)/gram.c; rm -f y.tab.c; mv -f y.tab.h $(devdir)/gram.h'; \
            echo "$$cmd"; eval $$cmd; \
        fi
 
@@ -233,7 +247,7 @@ $(devdir)/toke.c: $(srcdir)/toke.l
            else \
                toke_l="$(srcdir)/toke.l"; \
            fi; \
-           cmd='$(FLEX) '"$$toke_l"'; echo "#include <config.h>" > $(devdir)/toke.c; cat lex.yy.c >> $(devdir)/toke.c; rm -f lex.yy.c'; \
+           cmd='$(FLEX) '"$$toke_l"'; echo "#include <config.h>" > $(devdir)/toke.c; cat lex.sudoers.c >> $(devdir)/toke.c; rm -f lex.sudoers.c'; \
            echo "$$cmd"; eval $$cmd; \
        fi
 
@@ -286,7 +300,7 @@ install-plugin: sudoers.la install-dirs
        if [ X"$(soext)" != X"" ]; then \
            test X"$$SUDO_PREINSTALL_CMD" != X"" && \
                $$SUDO_PREINSTALL_CMD .libs/sudoers$(soext); \
-           $(INSTALL) -b~ -O $(install_uid) -G $(install_gid) -m $(shlib_mode) .libs/sudoers$(soext) $(DESTDIR)$(plugindir); \
+           $(INSTALL) -b~ -O $(install_uid) -G $(install_gid) -m $(shlib_mode) .libs/sudoers$(soext) $(DESTDIR)$(plugindir)/sudoers.so; \
        fi
 
 install-sudoers: install-dirs
@@ -297,29 +311,29 @@ install-sudoers: install-dirs
                sudoers $(DESTDIR)$(sudoersdir)/sudoers
 
 uninstall:
-       -rm -f $(DESTDIR)$(plugindir)/sudoers$(soext)
+       -rm -f $(DESTDIR)$(plugindir)/sudoers.so
        -rm -f $(DESTDIR)$(replaydir)/sudoreplay
        -rm -f $(DESTDIR)$(visudodir)/visudo
        -cmp $(DESTDIR)$(sudoersdir)/sudoers $(srcdir)/sudoers >/dev/null && \
            rm -f $(DESTDIR)$(sudoersdir)/sudoers
 
 check: $(TEST_PROGS) visudo testsudoers
-       @-if test X"$(cross_compiling)" != X"yes"; then \
+       @if test X"$(cross_compiling)" != X"yes"; then \
            rval=0; \
-           PWD=`pwd`; \
-           ./check_addr $(srcdir)/regress/parser/check_addr.in; \
-           rval=`expr $$rval + $$?`; \
-           ./check_fill; \
-           rval=`expr $$rval + $$?`; \
-           ./check_iolog_path $(srcdir)/regress/iolog_path/data; \
-           rval=`expr $$rval + $$?`; \
+           CWD=`pwd`; \
+           mkdir -p regress/parser; \
+           ./check_addr $(srcdir)/regress/parser/check_addr.in || rval=`expr $$rval + $$?`; \
+           ./check_base64 || rval=`expr $$rval + $$?`; \
+           ./check_digest > regress/parser/check_digest.out; \
+           diff regress/parser/check_digest.out $(srcdir)/regress/parser/check_digest.out.ok || rval=`expr $$rval + $$?`; \
+           ./check_fill || rval=`expr $$rval + $$?`; \
+           ./check_iolog_path $(srcdir)/regress/iolog_path/data || rval=`expr $$rval + $$?`; \
            if [ X"$(soext)" != X"" ]; then \
-               ./check_symbols .libs/sudoers$(soext) $(shlib_exp); \
-               rval=`expr $$rval + $$?`; \
+               ./check_symbols .libs/sudoers$(soext) $(shlib_exp) || rval=`expr $$rval + $$?`; \
            fi; \
-           ./check_wrap $(srcdir)/regress/logging/check_wrap.in > check_wrap.out; \
-           diff check_wrap.out $(srcdir)/regress/logging/check_wrap.out.ok; \
-           rval=`expr $$rval + $$?`; \
+           mkdir -p regress/logging; \
+           ./check_wrap $(srcdir)/regress/logging/check_wrap.in > regress/logging/check_wrap.out; \
+           diff regress/logging/check_wrap.out $(srcdir)/regress/logging/check_wrap.out.ok || rval=`expr $$rval + $$?`; \
            passed=0; failed=0; total=0; \
            mkdir -p regress/sudoers; \
            dir=sudoers; \
@@ -327,14 +341,14 @@ check: $(TEST_PROGS) visudo testsudoers
                base=`basename $$t .in`; \
                out="regress/sudoers/$${base}.out"; \
                toke="regress/sudoers/$${base}.toke"; \
-               ./testsudoers -dt <$$t >$$out 2>$$toke; \
+               ./testsudoers -dt <$$t >$$out 2>$$toke || true; \
                if cmp $$out $(srcdir)/$$out.ok >/dev/null; then \
                    passed=`expr $$passed + 1`; \
                    echo "$$dir/$$base (parse): OK"; \
                else \
                    failed=`expr $$failed + 1`; \
                    echo "$$dir/$$base: FAIL"; \
-                   diff $$out $(srcdir)/$$out.ok; \
+                   diff $$out $(srcdir)/$$out.ok || true; \
                fi; \
                total=`expr $$total + 1`; \
                if cmp $$toke $(srcdir)/$$toke.ok >/dev/null; then \
@@ -343,12 +357,14 @@ check: $(TEST_PROGS) visudo testsudoers
                else \
                    failed=`expr $$failed + 1`; \
                    echo "$$dir/$$base (toke):  FAIL"; \
-                   diff $$out $(srcdir)/$$out.ok; \
+                   diff $$out $(srcdir)/$$out.ok || true; \
                fi; \
                total=`expr $$total + 1`; \
            done; \
            echo "$$dir: $$passed/$$total tests passed; $$failed/$$total tests failed"; \
-           rval=`expr $$rval + $$failed`; \
+           if test $$failed -ne 0; then \
+               rval=`expr $$rval + $$failed`; \
+           fi; \
            for dir in testsudoers visudo; do \
                mkdir -p regress/$$dir; \
                passed=0; failed=0; total=0; \
@@ -356,7 +372,7 @@ check: $(TEST_PROGS) visudo testsudoers
                    base=`basename $$t .sh`; \
                    out="regress/$$dir/$${base}.out"; \
                    err="regress/$$dir/$${base}.err"; \
-                   TESTDIR=$$PWD/$(srcdir)/regress/$$dir \
+                   TESTDIR=$$CWD/$(srcdir)/regress/$$dir \
                        $(SHELL) $$t >$$out 2>$$err; \
                    if cmp $$out $(srcdir)/$$out.ok >/dev/null; then \
                        passed=`expr $$passed + 1`; \
@@ -364,7 +380,7 @@ check: $(TEST_PROGS) visudo testsudoers
                    else \
                        failed=`expr $$failed + 1`; \
                        echo "$$dir/$$base: FAIL"; \
-                       diff $$out $(srcdir)/$$out.ok; \
+                       diff $$out $(srcdir)/$$out.ok || true; \
                    fi; \
                    total=`expr $$total + 1`; \
                    if test -s $(srcdir)/$$err.ok; then \
@@ -374,21 +390,27 @@ check: $(TEST_PROGS) visudo testsudoers
                        else \
                            failed=`expr $$failed + 1`; \
                            echo "$$dir/$$base (stderr): FAIL"; \
-                           diff $$out $(srcdir)/$$out.ok; \
+                           diff $$out $(srcdir)/$$out.ok || true; \
                        fi; \
                        total=`expr $$total + 1`; \
                    elif test -s $$err; then \
+                       failed=`expr $$failed + 1`; \
+                       echo "$$dir/$$base (stderr): FAIL"; \
                        cat $$err 1>&2; \
                    fi; \
                done; \
                echo "$$dir: $$passed/$$total tests passed; $$failed/$$total tests failed"; \
-               rval=`expr $$rval + $$failed`; \
+               if test $$failed -ne 0; then \
+                   rval=`expr $$rval + $$failed`; \
+               fi; \
            done; \
            exit $$rval; \
        fi
 
 clean:
-       -$(LIBTOOL) --mode=clean rm -f $(PROGS) $(TEST_PROGS) *.lo *.o *.la *.a stamp-* core *.core core.* *.out *.toke *.err *.inc
+       -$(LIBTOOL) --mode=clean rm -f $(PROGS) $(TEST_PROGS) *.lo *.o *.la \
+           *.a stamp-* core *.core core.* regress/*/*.out regress/*/*.toke \
+           regress/*/*.err
 
 mostlyclean: clean
 
@@ -430,10 +452,15 @@ alias.lo: $(srcdir)/alias.c $(top_builddir)/config.h $(srcdir)/sudoers.h \
           $(incdir)/sudo_plugin.h $(incdir)/sudo_debug.h $(incdir)/gettext.h \
           $(srcdir)/parse.h $(srcdir)/redblack.h $(devdir)/gram.h
        $(LIBTOOL) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(DEFS) $(srcdir)/alias.c
-audit.lo: $(srcdir)/audit.c $(top_builddir)/config.h $(incdir)/missing.h \
+audit.lo: $(srcdir)/audit.c $(top_builddir)/config.h \
+          $(top_srcdir)/compat/stdbool.h $(incdir)/missing.h \
           $(srcdir)/logging.h $(incdir)/sudo_debug.h $(srcdir)/bsm_audit.h \
           $(srcdir)/linux_audit.h
        $(LIBTOOL) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(DEFS) $(srcdir)/audit.c
+base64.lo: $(srcdir)/base64.c $(top_builddir)/config.h $(incdir)/missing.h \
+           $(incdir)/sudo_debug.h
+       $(LIBTOOL) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(DEFS) $(srcdir)/base64.c
+base64.o: base64.lo
 boottime.lo: $(srcdir)/boottime.c $(top_builddir)/config.h $(incdir)/missing.h \
              $(incdir)/sudo_debug.h
        $(LIBTOOL) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(DEFS) $(srcdir)/boottime.c
@@ -453,7 +480,8 @@ check.lo: $(srcdir)/check.c $(top_builddir)/config.h $(srcdir)/sudoers.h \
           $(incdir)/missing.h $(incdir)/error.h $(incdir)/alloc.h \
           $(incdir)/list.h $(incdir)/fileops.h $(srcdir)/defaults.h \
           $(devdir)/def_data.h $(srcdir)/logging.h $(srcdir)/sudo_nss.h \
-          $(incdir)/sudo_plugin.h $(incdir)/sudo_debug.h $(incdir)/gettext.h
+          $(incdir)/sudo_plugin.h $(incdir)/sudo_debug.h $(incdir)/gettext.h \
+          $(srcdir)/check.h
        $(LIBTOOL) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(DEFS) $(srcdir)/check.c
 check_addr.o: $(srcdir)/regress/parser/check_addr.c $(top_builddir)/config.h \
               $(srcdir)/sudoers.h $(top_srcdir)/compat/stdbool.h \
@@ -464,10 +492,16 @@ check_addr.o: $(srcdir)/regress/parser/check_addr.c $(top_builddir)/config.h \
               $(incdir)/sudo_debug.h $(incdir)/gettext.h $(srcdir)/parse.h \
               $(srcdir)/interfaces.h
        $(CC) -c $(CPPFLAGS) $(CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(DEFS) $(srcdir)/regress/parser/check_addr.c
+check_base64.o: $(srcdir)/regress/parser/check_base64.c \
+                $(top_builddir)/config.h $(incdir)/missing.h
+       $(CC) -c $(CPPFLAGS) $(CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(DEFS) $(srcdir)/regress/parser/check_base64.c
+check_digest.o: $(srcdir)/regress/parser/check_digest.c \
+                $(top_builddir)/config.h $(incdir)/missing.h $(srcdir)/sha2.h
+       $(CC) -c $(CPPFLAGS) $(CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(DEFS) $(srcdir)/regress/parser/check_digest.c
 check_fill.o: $(srcdir)/regress/parser/check_fill.c $(top_builddir)/config.h \
-              $(top_srcdir)/compat/stdbool.h $(incdir)/list.h \
-              $(srcdir)/parse.h $(srcdir)/toke.h $(incdir)/sudo_plugin.h \
-              $(devdir)/gram.h
+              $(top_srcdir)/compat/stdbool.h $(incdir)/missing.h \
+              $(incdir)/list.h $(srcdir)/parse.h $(srcdir)/toke.h \
+              $(incdir)/sudo_plugin.h $(devdir)/gram.h
        $(CC) -c $(CPPFLAGS) $(CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(DEFS) $(srcdir)/regress/parser/check_fill.c
 check_iolog_path.o: $(srcdir)/regress/iolog_path/check_iolog_path.c \
                     $(top_builddir)/config.h $(srcdir)/sudoers.h \
@@ -509,9 +543,6 @@ env.lo: $(srcdir)/env.c $(top_builddir)/config.h $(srcdir)/sudoers.h \
         $(devdir)/def_data.h $(srcdir)/logging.h $(srcdir)/sudo_nss.h \
         $(incdir)/sudo_plugin.h $(incdir)/sudo_debug.h $(incdir)/gettext.h
        $(LIBTOOL) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(DEFS) $(srcdir)/env.c
-error.o: $(top_srcdir)/src/error.c $(top_builddir)/config.h \
-         $(incdir)/missing.h $(incdir)/error.h $(incdir)/gettext.h
-       $(CC) -c $(CPPFLAGS) $(CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(DEFS) $(top_srcdir)/src/error.c
 find_path.lo: $(srcdir)/find_path.c $(top_builddir)/config.h \
               $(srcdir)/sudoers.h $(top_srcdir)/compat/stdbool.h \
               $(top_builddir)/pathnames.h $(incdir)/missing.h \
@@ -553,7 +584,7 @@ gram.lo: $(devdir)/gram.c $(top_builddir)/config.h $(top_builddir)/config.h \
          $(incdir)/alloc.h $(incdir)/list.h $(incdir)/fileops.h \
          $(srcdir)/defaults.h $(devdir)/def_data.h $(srcdir)/logging.h \
          $(srcdir)/sudo_nss.h $(incdir)/sudo_plugin.h $(incdir)/sudo_debug.h \
-         $(incdir)/gettext.h $(srcdir)/parse.h $(srcdir)/toke.h $(devdir)/gram.h
+         $(incdir)/gettext.h $(srcdir)/parse.h $(srcdir)/toke.h
        $(LIBTOOL) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(DEFS) $(devdir)/gram.c
 group_plugin.lo: $(srcdir)/group_plugin.c $(top_builddir)/config.h \
                  $(top_srcdir)/compat/dlfcn.h $(srcdir)/sudoers.h \
@@ -565,6 +596,10 @@ group_plugin.lo: $(srcdir)/group_plugin.c $(top_builddir)/config.h \
                  $(incdir)/gettext.h
        $(LIBTOOL) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(DEFS) $(srcdir)/group_plugin.c
 group_plugin.o: group_plugin.lo
+hexchar.lo: $(srcdir)/hexchar.c $(top_builddir)/config.h $(incdir)/missing.h \
+            $(incdir)/sudo_debug.h $(incdir)/error.h
+       $(LIBTOOL) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(DEFS) $(srcdir)/hexchar.c
+hexchar.o: hexchar.lo
 interfaces.lo: $(srcdir)/interfaces.c $(top_builddir)/config.h \
                $(srcdir)/sudoers.h $(top_srcdir)/compat/stdbool.h \
                $(top_builddir)/pathnames.h $(incdir)/missing.h \
@@ -612,6 +647,12 @@ linux_audit.lo: $(srcdir)/linux_audit.c $(top_builddir)/config.h \
                 $(incdir)/gettext.h $(incdir)/sudo_debug.h \
                 $(srcdir)/linux_audit.h
        $(LIBTOOL) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(DEFS) $(srcdir)/linux_audit.c
+locale.lo: $(srcdir)/locale.c $(top_builddir)/config.h \
+           $(top_srcdir)/compat/stdbool.h $(incdir)/missing.h \
+           $(incdir)/error.h $(incdir)/alloc.h $(srcdir)/logging.h \
+           $(incdir)/gettext.h
+       $(LIBTOOL) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(DEFS) $(srcdir)/locale.c
+locale.o: locale.lo
 logging.lo: $(srcdir)/logging.c $(top_builddir)/config.h $(srcdir)/sudoers.h \
             $(top_srcdir)/compat/stdbool.h $(top_builddir)/pathnames.h \
             $(incdir)/missing.h $(incdir)/error.h $(incdir)/alloc.h \
@@ -627,14 +668,15 @@ logwrap.lo: $(srcdir)/logwrap.c $(top_builddir)/config.h $(srcdir)/sudoers.h \
             $(incdir)/sudo_plugin.h $(incdir)/sudo_debug.h $(incdir)/gettext.h
        $(LIBTOOL) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(DEFS) $(srcdir)/logwrap.c
 logwrap.o: logwrap.lo
-match.lo: $(srcdir)/match.c $(top_builddir)/config.h $(srcdir)/sudoers.h \
-          $(top_srcdir)/compat/stdbool.h $(top_builddir)/pathnames.h \
-          $(incdir)/missing.h $(incdir)/error.h $(incdir)/alloc.h \
-          $(incdir)/list.h $(incdir)/fileops.h $(srcdir)/defaults.h \
-          $(devdir)/def_data.h $(srcdir)/logging.h $(srcdir)/sudo_nss.h \
-          $(incdir)/sudo_plugin.h $(incdir)/sudo_debug.h $(incdir)/gettext.h \
-          $(srcdir)/parse.h $(devdir)/gram.h $(top_srcdir)/compat/fnmatch.h \
-          $(top_srcdir)/compat/glob.h
+match.lo: $(srcdir)/match.c $(top_builddir)/config.h \
+          $(top_srcdir)/compat/fnmatch.h $(top_srcdir)/compat/glob.h \
+          $(srcdir)/sudoers.h $(top_srcdir)/compat/stdbool.h \
+          $(top_builddir)/pathnames.h $(incdir)/missing.h $(incdir)/error.h \
+          $(incdir)/alloc.h $(incdir)/list.h $(incdir)/fileops.h \
+          $(srcdir)/defaults.h $(devdir)/def_data.h $(srcdir)/logging.h \
+          $(srcdir)/sudo_nss.h $(incdir)/sudo_plugin.h $(incdir)/sudo_debug.h \
+          $(incdir)/gettext.h $(srcdir)/parse.h $(srcdir)/sha2.h \
+          $(devdir)/gram.h
        $(LIBTOOL) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(DEFS) $(srcdir)/match.c
 match_addr.lo: $(srcdir)/match_addr.c $(top_builddir)/config.h \
                $(srcdir)/sudoers.h $(top_srcdir)/compat/stdbool.h \
@@ -672,19 +714,40 @@ passwd.lo: $(authdir)/passwd.c $(top_builddir)/config.h $(srcdir)/sudoers.h \
            $(devdir)/def_data.h $(srcdir)/logging.h $(srcdir)/sudo_nss.h \
            $(incdir)/sudo_plugin.h $(incdir)/sudo_debug.h $(incdir)/gettext.h
        $(LIBTOOL) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(DEFS) $(authdir)/passwd.c
-plugin_error.lo: $(srcdir)/plugin_error.c $(top_builddir)/config.h \
-                 $(incdir)/missing.h $(incdir)/alloc.h $(incdir)/error.h \
-                 $(incdir)/sudo_plugin.h $(incdir)/gettext.h
-       $(LIBTOOL) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(DEFS) $(srcdir)/plugin_error.c
+policy.lo: $(srcdir)/policy.c $(top_builddir)/config.h $(srcdir)/sudoers.h \
+           $(top_srcdir)/compat/stdbool.h $(top_builddir)/pathnames.h \
+           $(incdir)/missing.h $(incdir)/error.h $(incdir)/alloc.h \
+           $(incdir)/list.h $(incdir)/fileops.h $(srcdir)/defaults.h \
+           $(devdir)/def_data.h $(srcdir)/logging.h $(srcdir)/sudo_nss.h \
+           $(incdir)/sudo_plugin.h $(incdir)/sudo_debug.h $(incdir)/gettext.h \
+           $(srcdir)/sudoers_version.h $(srcdir)/interfaces.h
+       $(LIBTOOL) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(DEFS) $(srcdir)/policy.c
+prompt.lo: $(srcdir)/prompt.c $(top_builddir)/config.h $(srcdir)/sudoers.h \
+           $(top_srcdir)/compat/stdbool.h $(top_builddir)/pathnames.h \
+           $(incdir)/missing.h $(incdir)/error.h $(incdir)/alloc.h \
+           $(incdir)/list.h $(incdir)/fileops.h $(srcdir)/defaults.h \
+           $(devdir)/def_data.h $(srcdir)/logging.h $(srcdir)/sudo_nss.h \
+           $(incdir)/sudo_plugin.h $(incdir)/sudo_debug.h $(incdir)/gettext.h
+       $(LIBTOOL) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(DEFS) $(srcdir)/prompt.c
 pwutil.lo: $(srcdir)/pwutil.c $(top_builddir)/config.h $(srcdir)/sudoers.h \
            $(top_srcdir)/compat/stdbool.h $(top_builddir)/pathnames.h \
            $(incdir)/missing.h $(incdir)/error.h $(incdir)/alloc.h \
            $(incdir)/list.h $(incdir)/fileops.h $(srcdir)/defaults.h \
            $(devdir)/def_data.h $(srcdir)/logging.h $(srcdir)/sudo_nss.h \
            $(incdir)/sudo_plugin.h $(incdir)/sudo_debug.h $(incdir)/gettext.h \
-           $(srcdir)/redblack.h
+           $(srcdir)/redblack.h $(srcdir)/pwutil.h
        $(LIBTOOL) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(DEFS) $(srcdir)/pwutil.c
 pwutil.o: pwutil.lo
+pwutil_impl.lo: $(srcdir)/pwutil_impl.c $(top_builddir)/config.h \
+                $(srcdir)/sudoers.h $(top_srcdir)/compat/stdbool.h \
+                $(top_builddir)/pathnames.h $(incdir)/missing.h \
+                $(incdir)/error.h $(incdir)/alloc.h $(incdir)/list.h \
+                $(incdir)/fileops.h $(srcdir)/defaults.h $(devdir)/def_data.h \
+                $(srcdir)/logging.h $(srcdir)/sudo_nss.h \
+                $(incdir)/sudo_plugin.h $(incdir)/sudo_debug.h \
+                $(incdir)/gettext.h $(srcdir)/pwutil.h
+       $(LIBTOOL) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(DEFS) $(srcdir)/pwutil_impl.c
+pwutil_impl.o: pwutil_impl.lo
 redblack.lo: $(srcdir)/redblack.c $(top_builddir)/config.h $(incdir)/missing.h \
              $(incdir)/alloc.h $(incdir)/sudo_debug.h $(srcdir)/redblack.h
        $(LIBTOOL) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(DEFS) $(srcdir)/redblack.c
@@ -721,6 +784,10 @@ set_perms.lo: $(srcdir)/set_perms.c $(top_builddir)/config.h \
               $(srcdir)/logging.h $(srcdir)/sudo_nss.h $(incdir)/sudo_plugin.h \
               $(incdir)/sudo_debug.h $(incdir)/gettext.h
        $(LIBTOOL) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(DEFS) $(srcdir)/set_perms.c
+sha2.lo: $(srcdir)/sha2.c $(top_builddir)/config.h \
+         $(top_srcdir)/compat/endian.h $(srcdir)/sha2.h
+       $(LIBTOOL) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(DEFS) $(srcdir)/sha2.c
+sha2.o: sha2.lo
 sia.lo: $(authdir)/sia.c $(top_builddir)/config.h $(srcdir)/sudoers.h \
         $(top_srcdir)/compat/stdbool.h $(top_builddir)/pathnames.h \
         $(incdir)/missing.h $(incdir)/error.h $(incdir)/alloc.h \
@@ -762,16 +829,15 @@ sudoers.lo: $(srcdir)/sudoers.c $(top_builddir)/config.h \
             $(incdir)/alloc.h $(incdir)/list.h $(incdir)/fileops.h \
             $(srcdir)/defaults.h $(devdir)/def_data.h $(srcdir)/logging.h \
             $(srcdir)/sudo_nss.h $(incdir)/sudo_plugin.h \
-            $(incdir)/sudo_debug.h $(incdir)/gettext.h $(srcdir)/interfaces.h \
-            $(srcdir)/sudoers_version.h $(srcdir)/auth/sudo_auth.h \
-            $(incdir)/secure_path.h
+            $(incdir)/sudo_debug.h $(incdir)/gettext.h \
+            $(srcdir)/auth/sudo_auth.h $(incdir)/secure_path.h
        $(LIBTOOL) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(DEFS) $(srcdir)/sudoers.c
 sudoreplay.o: $(srcdir)/sudoreplay.c $(top_builddir)/config.h \
               $(top_srcdir)/compat/timespec.h $(top_srcdir)/compat/stdbool.h \
               $(top_builddir)/pathnames.h $(incdir)/missing.h \
               $(incdir)/alloc.h $(incdir)/error.h $(incdir)/gettext.h \
-              $(incdir)/sudo_plugin.h $(incdir)/sudo_conf.h $(incdir)/list.h \
-              $(incdir)/sudo_debug.h
+              $(srcdir)/logging.h $(incdir)/sudo_plugin.h \
+              $(incdir)/sudo_conf.h $(incdir)/list.h $(incdir)/sudo_debug.h
        $(CC) -c $(CPPFLAGS) $(CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(DEFS) $(srcdir)/sudoreplay.c
 testsudoers.o: $(srcdir)/testsudoers.c $(top_builddir)/config.h \
                $(top_srcdir)/compat/fnmatch.h $(srcdir)/tsgetgrpw.h \
@@ -785,6 +851,14 @@ testsudoers.o: $(srcdir)/testsudoers.c $(top_builddir)/config.h \
                $(incdir)/sudo_conf.h $(incdir)/list.h $(incdir)/secure_path.h \
                $(devdir)/gram.h
        $(CC) -c $(CPPFLAGS) $(CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(DEFS) $(srcdir)/testsudoers.c
+timestamp.lo: $(srcdir)/timestamp.c $(top_builddir)/config.h \
+              $(srcdir)/sudoers.h $(top_srcdir)/compat/stdbool.h \
+              $(top_builddir)/pathnames.h $(incdir)/missing.h \
+              $(incdir)/error.h $(incdir)/alloc.h $(incdir)/list.h \
+              $(incdir)/fileops.h $(srcdir)/defaults.h $(devdir)/def_data.h \
+              $(srcdir)/logging.h $(srcdir)/sudo_nss.h $(incdir)/sudo_plugin.h \
+              $(incdir)/sudo_debug.h $(incdir)/gettext.h $(srcdir)/check.h
+       $(LIBTOOL) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(DEFS) $(srcdir)/timestamp.c
 timestr.lo: $(srcdir)/timestr.c $(top_builddir)/config.h $(incdir)/missing.h
        $(LIBTOOL) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(DEFS) $(srcdir)/timestr.c
 toke.lo: $(devdir)/toke.c $(top_builddir)/config.h $(top_builddir)/config.h \
@@ -794,7 +868,8 @@ toke.lo: $(devdir)/toke.c $(top_builddir)/config.h $(top_builddir)/config.h \
          $(srcdir)/defaults.h $(devdir)/def_data.h $(srcdir)/logging.h \
          $(srcdir)/sudo_nss.h $(incdir)/sudo_plugin.h $(incdir)/sudo_debug.h \
          $(incdir)/gettext.h $(srcdir)/parse.h $(srcdir)/toke.h \
-         $(devdir)/gram.h $(incdir)/lbuf.h $(incdir)/secure_path.h
+         $(devdir)/gram.h $(incdir)/lbuf.h $(srcdir)/sha2.h \
+         $(incdir)/secure_path.h
        $(LIBTOOL) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(DEFS) $(devdir)/toke.c
 toke_util.lo: $(srcdir)/toke_util.c $(top_builddir)/config.h \
               $(srcdir)/sudoers.h $(top_srcdir)/compat/stdbool.h \
@@ -821,7 +896,7 @@ visudo.o: $(srcdir)/visudo.c $(top_builddir)/config.h $(srcdir)/sudoers.h \
           $(incdir)/list.h $(incdir)/fileops.h $(srcdir)/defaults.h \
           $(devdir)/def_data.h $(srcdir)/logging.h $(srcdir)/sudo_nss.h \
           $(incdir)/sudo_plugin.h $(incdir)/sudo_debug.h $(incdir)/gettext.h \
-          $(srcdir)/interfaces.h $(srcdir)/parse.h $(srcdir)/redblack.h \
-          $(incdir)/gettext.h $(srcdir)/sudoers_version.h \
-          $(incdir)/sudo_conf.h $(incdir)/list.h $(devdir)/gram.h
+          $(srcdir)/parse.h $(srcdir)/redblack.h $(incdir)/gettext.h \
+          $(srcdir)/sudoers_version.h $(incdir)/sudo_conf.h $(incdir)/list.h \
+          $(devdir)/gram.h
        $(CC) -c $(CPPFLAGS) $(CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(DEFS) $(srcdir)/visudo.c