@@ -116,7 +116,7 @@ FUZZ_MAX_LEN = 4096
116116FUZZ_RUNS = 8192
117117FUZZ_VERBOSE =
118118
119- TEST_PROGS = logsrvd_conf_test
119+ TEST_PROGS = logsrvd_conf_test dotdot_test
120120TEST_LIBS = $(LIBS )
121121TEST_LDFLAGS = $(LDFLAGS )
122122TEST_VERBOSE =
@@ -131,7 +131,7 @@ SHELL = @SHELL@
131131
132132PROGS = sudo_logsrvd sudo_sendlog
133133
134- LOGSRVD_OBJS = logsrv_util.o iolog_writer.o logsrvd.o logsrvd_conf.o \
134+ LOGSRVD_OBJS = dotdot.o logsrv_util.o iolog_writer.o logsrvd.o logsrvd_conf.o \
135135 logsrvd_journal.o logsrvd_local.o logsrvd_relay.o \
136136 logsrvd_queue.o tls_client.o tls_init.o
137137
@@ -151,6 +151,8 @@ FUZZ_LOGSRVD_CONF_CORPUS = $(srcdir)/regress/corpus/seed/logsrvd_conf/logsrvd.co
151151
152152CONF_TEST_OBJS = logsrvd_conf_test.o logsrvd_conf.o tls_init.o
153153
154+ DOTDOT_TEST_OBJS = dotdot_test.o dotdot.o
155+
154156all : $(PROGS )
155157
156158depend :
@@ -187,6 +189,9 @@ fuzz_logsrvd_conf: $(FUZZ_LOGSRVD_CONF_OBJS) $(LIBFUZZSTUB) $(LT_LIBS)
187189logsrvd_conf_test : $(CONF_TEST_OBJS ) $(LT_LIBS )
188190 $(LIBTOOL ) $(LTFLAGS ) --mode=link $(CC ) -o $@ $(CONF_TEST_OBJS ) $(ASAN_LDFLAGS ) $(PIE_LDFLAGS ) $(HARDENING_LDFLAGS ) $(TEST_LDFLAGS ) $(TEST_LIBS )
189191
192+ dotdot_test : $(DOTDOT_TEST_OBJS ) $(LT_LIBS )
193+ $(LIBTOOL ) $(LTFLAGS ) --mode=link $(CC ) -o $@ $(DOTDOT_TEST_OBJS ) $(ASAN_LDFLAGS ) $(PIE_LDFLAGS ) $(HARDENING_LDFLAGS ) $(TEST_LDFLAGS ) $(TEST_LIBS )
194+
190195fuzz_logsrvd_conf_seed_corpus.zip :
191196 tdir=fuzz_logsrvd_conf.$$$$ ; \
192197 mkdir $$ tdir; \
@@ -278,6 +283,7 @@ check: $(TEST_PROGS) check-fuzzer
278283 unset LANGUAGE || LANGUAGE=; \
279284 MALLOC_OPTIONS=S; export MALLOC_OPTIONS; \
280285 MALLOC_CONF=" abort:true,junk:true" ; export MALLOC_CONF; \
286+ ./dotdot_test; \
281287 builddir=$(abs_top_builddir ) /logsrvd; \
282288 cd $(srcdir ) || exit 1; \
283289 if test -n " @LIBTLS@" ; then \
@@ -313,6 +319,30 @@ cleandir: realclean
313319 $(FUZZ_SEED_CORPUS ) run-fuzz_logsrvd_conf
314320
315321# Autogenerated dependencies, do not modify
322+ dotdot.o : $(srcdir ) /dotdot.c $(incdir ) /compat/stdbool.h \
323+ $(incdir)/sudo_compat.h $(incdir)/sudo_debug.h \
324+ $(incdir)/sudo_queue.h $(srcdir)/logsrv_util.h \
325+ $(top_builddir)/config.h
326+ $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/dotdot.c
327+ dotdot.i : $(srcdir ) /dotdot.c $(incdir ) /compat/stdbool.h \
328+ $(incdir)/sudo_compat.h $(incdir)/sudo_debug.h \
329+ $(incdir)/sudo_queue.h $(srcdir)/logsrv_util.h \
330+ $(top_builddir)/config.h
331+ $(CPP) $(CPPFLAGS) $(srcdir)/dotdot.c > $@
332+ dotdot.plog : dotdot.i
333+ rm -f $@ ; pvs-studio --cfg $(PVS_CFG ) --sourcetree-root $(top_srcdir ) --skip-cl-exe yes --source-file $(srcdir ) /dotdot.c --i-file dotdot.i --output-file $@
334+ dotdot_test.o : $(srcdir ) /regress/dotdot/dotdot_test.c \
335+ $(incdir)/compat/stdbool.h $(incdir)/sudo_compat.h \
336+ $(incdir)/sudo_fatal.h $(incdir)/sudo_plugin.h \
337+ $(srcdir)/logsrv_util.h $(top_builddir)/config.h
338+ $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/regress/dotdot/dotdot_test.c
339+ dotdot_test.i : $(srcdir ) /regress/dotdot/dotdot_test.c \
340+ $(incdir)/compat/stdbool.h $(incdir)/sudo_compat.h \
341+ $(incdir)/sudo_fatal.h $(incdir)/sudo_plugin.h \
342+ $(srcdir)/logsrv_util.h $(top_builddir)/config.h
343+ $(CPP) $(CPPFLAGS) $(srcdir)/regress/dotdot/dotdot_test.c > $@
344+ dotdot_test.plog : dotdot_test.i
345+ rm -f $@ ; pvs-studio --cfg $(PVS_CFG ) --sourcetree-root $(top_srcdir ) --skip-cl-exe yes --source-file $(srcdir ) /regress/dotdot/dotdot_test.c --i-file dotdot_test.i --output-file $@
316346fuzz_logsrvd_conf.o : $(srcdir ) /regress/fuzz/fuzz_logsrvd_conf.c \
317347 $(incdir)/compat/stdbool.h $(incdir)/log_server.pb-c.h \
318348 $(incdir)/protobuf-c/protobuf-c.h $(incdir)/sudo_compat.h \
0 commit comments