mirror of
https://github.com/EQEmu/Server.git
synced 2026-09-03 21:56:36 +00:00
Zlib ng
This commit is contained in:
@@ -0,0 +1,105 @@
|
||||
# Copyright (C) 1995-2013 Jean-loup Gailly and Mark Adler
|
||||
# Copyright 2015, Daniel Axtens, IBM Corporation
|
||||
# zlib license, see zlib.h
|
||||
|
||||
CC=
|
||||
CFLAGS=
|
||||
EXE=
|
||||
SRCDIR=
|
||||
SRCTOP=
|
||||
TEST_LDFLAGS=-L.. ../libz.a
|
||||
WITH_FUZZERS=
|
||||
|
||||
COMPATTESTS =
|
||||
QEMU_RUN=
|
||||
QEMU_VER:=$(shell command -v $(QEMU_RUN) --version 2> /dev/null)
|
||||
|
||||
all: oldtests cvetests $(COMPATTESTS) fuzzer
|
||||
|
||||
oldtests: #set by ../configure
|
||||
check_cross_dep:
|
||||
ifneq (,$(QEMU_RUN))
|
||||
ifeq (,$(QEMU_VER))
|
||||
$(error "You need QEMU to run tests on non-native platform")
|
||||
endif
|
||||
endif
|
||||
|
||||
ALL_SRC_FILES := $(wildcard ../*)
|
||||
|
||||
# Only check the fuzzer when it is a stand-alone executable.
|
||||
ifneq (,$(LIB_FUZZING_ENGINE))
|
||||
fuzzer:
|
||||
else
|
||||
ifeq (0,$(WITH_FUZZERS))
|
||||
fuzzer:
|
||||
else
|
||||
fuzzer:
|
||||
@${QEMU_RUN} ../checksum_fuzzer$(EXE) $(ALL_SRC_FILES) && \
|
||||
${QEMU_RUN} ../compress_fuzzer$(EXE) $(ALL_SRC_FILES) && \
|
||||
${QEMU_RUN} ../example_small_fuzzer$(EXE) $(ALL_SRC_FILES) && \
|
||||
${QEMU_RUN} ../example_large_fuzzer$(EXE) $(ALL_SRC_FILES) && \
|
||||
${QEMU_RUN} ../example_flush_fuzzer$(EXE) $(ALL_SRC_FILES) && \
|
||||
${QEMU_RUN} ../example_dict_fuzzer$(EXE) $(ALL_SRC_FILES) && \
|
||||
${QEMU_RUN} ../minigzip_fuzzer$(EXE) $(ALL_SRC_FILES)
|
||||
endif
|
||||
endif
|
||||
|
||||
teststatic: check_cross_dep
|
||||
@TMPST=tmpst_$$; \
|
||||
if echo hello world | ${QEMU_RUN} ../minigzip$(EXE) | ${QEMU_RUN} ../minigzip$(EXE) -d && ${QEMU_RUN} ../example$(EXE) $$TMPST ; then \
|
||||
echo ' *** zlib test OK ***'; \
|
||||
else \
|
||||
echo ' *** zlib test FAILED ***'; exit 1; \
|
||||
fi
|
||||
@rm -f tmpst_$$
|
||||
|
||||
testshared: check_cross_dep
|
||||
@LD_LIBRARY_PATH=`pwd`/..:$(LD_LIBRARY_PATH) ; export LD_LIBRARY_PATH; \
|
||||
LD_LIBRARYN32_PATH=`pwd`/..:$(LD_LIBRARYN32_PATH) ; export LD_LIBRARYN32_PATH; \
|
||||
DYLD_LIBRARY_PATH=`pwd`/..:$(DYLD_LIBRARY_PATH) ; export DYLD_LIBRARY_PATH; \
|
||||
SHLIB_PATH=`pwd`/..:$(SHLIB_PATH) ; export SHLIB_PATH; \
|
||||
TMPSH=tmpsh_$$; \
|
||||
if echo hello world | ${QEMU_RUN} ../minigzipsh$(EXE) | ${QEMU_RUN} ../minigzipsh$(EXE) -d && ${QEMU_RUN} ../examplesh$(EXE) $$TMPSH; then \
|
||||
echo ' *** zlib shared test OK ***'; \
|
||||
else \
|
||||
echo ' *** zlib shared test FAILED ***'; exit 1; \
|
||||
fi
|
||||
@rm -f tmpsh_$$
|
||||
|
||||
test64: check_cross_dep
|
||||
@TMP64=tmp64_$$; \
|
||||
if echo hello world | ${QEMU_RUN} ../minigzip64$(EXE) | ${QEMU_RUN} ../minigzip64$(EXE) -d && ${QEMU_RUN} ../example64$(EXE) $$TMP64; then \
|
||||
echo ' *** zlib 64-bit test OK ***'; \
|
||||
else \
|
||||
echo ' *** zlib 64-bit test FAILED ***'; exit 1; \
|
||||
fi
|
||||
@rm -f tmp64_$$
|
||||
|
||||
cvetests: testCVEinputs
|
||||
|
||||
# Tests requiring zlib-ng to be built with --zlib-compat
|
||||
compattests: testCVE-2003-0107
|
||||
|
||||
testCVEinputs: check_cross_dep
|
||||
@EXE=$(EXE) QEMU_RUN="${QEMU_RUN}" $(SRCDIR)/testCVEinputs.sh
|
||||
|
||||
testCVE-2003-0107: CVE-2003-0107$(EXE) check_cross_dep
|
||||
@if ${QEMU_RUN} ./CVE-2003-0107$(EXE); then \
|
||||
echo ' *** zlib not vulnerable to CVE-2003-0107 ***'; \
|
||||
else \
|
||||
echo ' *** zlib VULNERABLE to CVE-2003-0107 ***'; exit 1; \
|
||||
fi
|
||||
|
||||
CVE-2003-0107.o: $(SRCDIR)/CVE-2003-0107.c
|
||||
$(CC) $(CFLAGS) -I.. -I$(SRCTOP) -c -o $@ $(SRCDIR)/CVE-2003-0107.c
|
||||
|
||||
CVE-2003-0107$(EXE): CVE-2003-0107.o
|
||||
$(CC) $(CFLAGS) -o $@ CVE-2003-0107.o $(TEST_LDFLAGS)
|
||||
|
||||
|
||||
clean:
|
||||
rm -f *.o *.gcda *.gcno *.gcov
|
||||
rm -f CVE-2003-0107$(EXE)
|
||||
|
||||
distclean:
|
||||
rm -f Makefile
|
||||
Reference in New Issue
Block a user