|
1 | 1 | # |
2 | 2 | # SPDX-License-Identifier: ISC |
3 | 3 | # |
4 | | -# Copyright (c) 1996, 1998-2005, 2007-2024 |
| 4 | +# Copyright (c) 1996, 1998-2005, 2007-2026 |
5 | 5 | # Todd C. Miller <[email protected]> |
6 | 6 | # |
7 | 7 | # Permission to use, copy, modify, and distribute this software for any |
@@ -157,9 +157,9 @@ PROGS = sudoers.la visudo sudoreplay cvtsudoers testsudoers tsdump |
157 | 157 |
|
158 | 158 | # Regression tests |
159 | 159 | TEST_PROGS = check_addr check_digest check_editor check_env_pattern \ |
160 | | - check_exptilde check_fill check_gentime \ |
161 | | - check_iolog_plugin check_serialize_list \ |
162 | | - check_starttime check_unesc @SUDOERS_TEST_PROGS@ |
| 160 | + check_exptilde check_fill check_gentime check_iolog_plugin \ |
| 161 | + check_rationalize check_serialize_list check_starttime \ |
| 162 | + check_unesc @SUDOERS_TEST_PROGS@ |
163 | 163 | TEST_VERBOSE = |
164 | 164 | HARNESS = $(SHELL) regress/harness $(TEST_VERBOSE) |
165 | 165 |
|
@@ -189,16 +189,16 @@ SUDOERS_OBJS = $(AUTH_OBJS) audit.lo boottime.lo check.lo check_util.lo \ |
189 | 189 | file.lo find_path.lo fmtsudoers.lo gc.lo goodpath.lo \ |
190 | 190 | group_plugin.lo interfaces.lo iolog.lo iolog_path_escapes.lo \ |
191 | 191 | locale.lo log_client.lo logging.lo lookup.lo policy.lo \ |
192 | | - prompt.lo serialize_list.lo set_perms.lo sethost.lo \ |
193 | | - starttime.lo strlcpy_unesc.lo strvec_join.lo sudo_nss.lo \ |
194 | | - sudoers.lo sudoers_cb.lo sudoers_ctx_free.lo timestamp.lo \ |
195 | | - unesc_str.lo @SUDOERS_OBJS@ |
| 192 | + prompt.lo rationalize.lo serialize_list.lo set_perms.lo \ |
| 193 | + sethost.lo starttime.lo strlcpy_unesc.lo strvec_join.lo \ |
| 194 | + sudo_nss.lo sudoers.lo sudoers_cb.lo sudoers_ctx_free.lo \ |
| 195 | + timestamp.lo unesc_str.lo @SUDOERS_OBJS@ |
196 | 196 |
|
197 | 197 | SUDOERS_IOBJS = $(SUDOERS_OBJS:.lo=.i) |
198 | 198 |
|
199 | 199 | VISUDO_OBJS = check_aliases.o editor.lo find_path.lo gc.lo goodpath.lo \ |
200 | | - locale.lo sethost.lo stubs.o sudo_printf.o sudoers_ctx_free.lo \ |
201 | | - visudo.o visudo_cb.o |
| 200 | + locale.lo rationalize.lo sethost.lo stubs.o sudo_printf.o \ |
| 201 | + sudoers_ctx_free.lo visudo.o visudo_cb.o |
202 | 202 |
|
203 | 203 | VISUDO_IOBJS = sudo_printf.i visudo.i |
204 | 204 |
|
@@ -247,6 +247,8 @@ CHECK_IOLOG_PLUGIN_OBJS = check_iolog_plugin.o iolog.lo log_client.lo \ |
247 | 247 | locale.lo pwutil.lo pwutil_impl.lo redblack.lo \ |
248 | 248 | strlist.lo sudoers_debug.lo unesc_str.lo |
249 | 249 |
|
| 250 | +CHECK_RATIONALIZE_OBJS = check_rationalize.lo rationalize.lo sudoers_debug.lo |
| 251 | + |
250 | 252 | CHECK_SYMBOLS_OBJS = check_symbols.o |
251 | 253 |
|
252 | 254 | CHECK_STARTTIME_OBJS = check_starttime.o starttime.lo sudoers_debug.lo |
@@ -394,6 +396,9 @@ check_gentime: $(CHECK_GENTIME_OBJS) $(LIBUTIL) |
394 | 396 | check_iolog_plugin: $(CHECK_IOLOG_PLUGIN_OBJS) $(LIBUTIL) $(LIBIOLOG) $(LIBLOGSRV) |
395 | 397 | $(LIBTOOL) $(LTFLAGS) --mode=link $(CC) -o $@ $(CHECK_IOLOG_PLUGIN_OBJS) $(LDFLAGS) $(ASAN_LDFLAGS) $(PIE_LDFLAGS) $(HARDENING_LDFLAGS) $(LIBIOLOG) $(LIBLOGSRV) @LIBTLS@ |
396 | 398 |
|
| 399 | +check_rationalize: $(CHECK_RATIONALIZE_OBJS) $(LIBUTIL) |
| 400 | + $(LIBTOOL) $(LTFLAGS) --mode=link $(CC) -o $@ $(CHECK_RATIONALIZE_OBJS) $(LDFLAGS) $(ASAN_LDFLAGS) $(PIE_LDFLAGS) $(HARDENING_LDFLAGS) $(LIBS) |
| 401 | + |
397 | 402 | check_serialize_list: $(CHECK_SERIALIZE_LIST_OBJS) $(LIBUTIL) |
398 | 403 | $(LIBTOOL) $(LTFLAGS) --mode=link $(CC) -o $@ $(CHECK_SERIALIZE_LIST_OBJS) $(LDFLAGS) $(ASAN_LDFLAGS) $(PIE_LDFLAGS) $(HARDENING_LDFLAGS) $(LIBS) |
399 | 404 |
|
@@ -662,6 +667,7 @@ check: $(TEST_PROGS) visudo testsudoers cvtsudoers check-fuzzer |
662 | 667 | ./check_gentime $(TEST_VERBOSE) || rval=`expr $$rval + $$?`; \ |
663 | 668 | mkdir -p regress/iolog_plugin; \ |
664 | 669 | ./check_iolog_plugin $(TEST_VERBOSE) regress/iolog_plugin/iolog || rval=`expr $$rval + $$?`; \ |
| 670 | + ./check_rationalize $(TEST_VERBOSE) || rval=`expr $$rval + $$?`; \ |
665 | 671 | ./check_serialize_list $(TEST_VERBOSE) || rval=`expr $$rval + $$?`; \ |
666 | 672 | ./check_starttime $(TEST_VERBOSE) || rval=`expr $$rval + $$?`; \ |
667 | 673 | ./check_unesc $(TEST_VERBOSE) || rval=`expr $$rval + $$?`; \ |
@@ -1107,6 +1113,32 @@ check_iolog_plugin.i: $(srcdir)/regress/iolog_plugin/check_iolog_plugin.c \ |
1107 | 1113 | $(CPP) $(CPPFLAGS) $(srcdir)/regress/iolog_plugin/check_iolog_plugin.c > $@ |
1108 | 1114 | check_iolog_plugin.plog: check_iolog_plugin.i |
1109 | 1115 | rm -f $@; pvs-studio --cfg $(PVS_CFG) --source-file $(srcdir)/regress/iolog_plugin/check_iolog_plugin.c --i-file check_iolog_plugin.i --output-file $@ |
| 1116 | +check_rationalize.lo: $(srcdir)/regress/rationalize/check_rationalize.c \ |
| 1117 | + $(devdir)/def_data.h $(incdir)/compat/stdbool.h \ |
| 1118 | + $(incdir)/sudo_compat.h $(incdir)/sudo_conf.h \ |
| 1119 | + $(incdir)/sudo_debug.h $(incdir)/sudo_eventlog.h \ |
| 1120 | + $(incdir)/sudo_fatal.h $(incdir)/sudo_gettext.h \ |
| 1121 | + $(incdir)/sudo_plugin.h $(incdir)/sudo_queue.h \ |
| 1122 | + $(incdir)/sudo_util.h $(srcdir)/defaults.h \ |
| 1123 | + $(srcdir)/logging.h $(srcdir)/parse.h \ |
| 1124 | + $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h \ |
| 1125 | + $(srcdir)/sudoers_debug.h $(top_builddir)/config.h \ |
| 1126 | + $(top_builddir)/pathnames.h |
| 1127 | + $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/regress/rationalize/check_rationalize.c |
| 1128 | +check_rationalize.i: $(srcdir)/regress/rationalize/check_rationalize.c \ |
| 1129 | + $(devdir)/def_data.h $(incdir)/compat/stdbool.h \ |
| 1130 | + $(incdir)/sudo_compat.h $(incdir)/sudo_conf.h \ |
| 1131 | + $(incdir)/sudo_debug.h $(incdir)/sudo_eventlog.h \ |
| 1132 | + $(incdir)/sudo_fatal.h $(incdir)/sudo_gettext.h \ |
| 1133 | + $(incdir)/sudo_plugin.h $(incdir)/sudo_queue.h \ |
| 1134 | + $(incdir)/sudo_util.h $(srcdir)/defaults.h \ |
| 1135 | + $(srcdir)/logging.h $(srcdir)/parse.h \ |
| 1136 | + $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h \ |
| 1137 | + $(srcdir)/sudoers_debug.h $(top_builddir)/config.h \ |
| 1138 | + $(top_builddir)/pathnames.h |
| 1139 | + $(CPP) $(CPPFLAGS) $(srcdir)/regress/rationalize/check_rationalize.c > $@ |
| 1140 | +check_rationalize.plog: check_rationalize.i |
| 1141 | + rm -f $@; pvs-studio --cfg $(PVS_CFG) --source-file $(srcdir)/regress/rationalize/check_rationalize.c --i-file check_rationalize.i --output-file $@ |
1110 | 1142 | check_serialize_list.lo: \ |
1111 | 1143 | $(srcdir)/regress/serialize_list/check_serialize_list.c \ |
1112 | 1144 | $(devdir)/def_data.h $(incdir)/compat/stdbool.h \ |
@@ -2525,6 +2557,30 @@ pwutil_impl.i: $(srcdir)/pwutil_impl.c $(devdir)/def_data.h \ |
2525 | 2557 | $(CPP) $(CPPFLAGS) $(srcdir)/pwutil_impl.c > $@ |
2526 | 2558 | pwutil_impl.plog: pwutil_impl.i |
2527 | 2559 | rm -f $@; pvs-studio --cfg $(PVS_CFG) --source-file $(srcdir)/pwutil_impl.c --i-file pwutil_impl.i --output-file $@ |
| 2560 | +rationalize.lo: $(srcdir)/rationalize.c $(devdir)/def_data.h \ |
| 2561 | + $(incdir)/compat/stdbool.h $(incdir)/sudo_compat.h \ |
| 2562 | + $(incdir)/sudo_conf.h $(incdir)/sudo_debug.h \ |
| 2563 | + $(incdir)/sudo_eventlog.h $(incdir)/sudo_fatal.h \ |
| 2564 | + $(incdir)/sudo_gettext.h $(incdir)/sudo_plugin.h \ |
| 2565 | + $(incdir)/sudo_queue.h $(incdir)/sudo_util.h \ |
| 2566 | + $(srcdir)/defaults.h $(srcdir)/logging.h $(srcdir)/parse.h \ |
| 2567 | + $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h \ |
| 2568 | + $(srcdir)/sudoers_debug.h $(top_builddir)/config.h \ |
| 2569 | + $(top_builddir)/pathnames.h |
| 2570 | + $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/rationalize.c |
| 2571 | +rationalize.i: $(srcdir)/rationalize.c $(devdir)/def_data.h \ |
| 2572 | + $(incdir)/compat/stdbool.h $(incdir)/sudo_compat.h \ |
| 2573 | + $(incdir)/sudo_conf.h $(incdir)/sudo_debug.h \ |
| 2574 | + $(incdir)/sudo_eventlog.h $(incdir)/sudo_fatal.h \ |
| 2575 | + $(incdir)/sudo_gettext.h $(incdir)/sudo_plugin.h \ |
| 2576 | + $(incdir)/sudo_queue.h $(incdir)/sudo_util.h \ |
| 2577 | + $(srcdir)/defaults.h $(srcdir)/logging.h $(srcdir)/parse.h \ |
| 2578 | + $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h \ |
| 2579 | + $(srcdir)/sudoers_debug.h $(top_builddir)/config.h \ |
| 2580 | + $(top_builddir)/pathnames.h |
| 2581 | + $(CPP) $(CPPFLAGS) $(srcdir)/rationalize.c > $@ |
| 2582 | +rationalize.plog: rationalize.i |
| 2583 | + rm -f $@; pvs-studio --cfg $(PVS_CFG) --source-file $(srcdir)/rationalize.c --i-file rationalize.i --output-file $@ |
2528 | 2584 | redblack.lo: $(srcdir)/redblack.c $(devdir)/def_data.h \ |
2529 | 2585 | $(incdir)/compat/stdbool.h $(incdir)/sudo_compat.h \ |
2530 | 2586 | $(incdir)/sudo_conf.h $(incdir)/sudo_debug.h \ |
|
0 commit comments