mirror of
https://github.com/xroche/httrack.git
synced 2026-07-23 17:19:17 +03:00
New fuzz/ tree with a libFuzzer harness per pure (buf,size) parser that ingests network-sourced bytes: the charset/UTF-8/IDNA codecs, the HTML <meta> charset scan, HTML entity and URL percent decoders, the wildcard filter matcher, and the URL splitter. Gated behind --enable-fuzzers (requires clang, forces --disable-shared so clang's static sanitizer runtimes link); a normal build is untouched. A CI job builds the harnesses under ASan+UBSan+LeakSanitizer and replays each seed corpus. Replay, not open-ended mutation, keeps the job deterministic and avoids strjoker's catastrophic backtracking (a data-dependent exponential in the wildcard matcher, tracked separately). Maintainers run the timed mutation mode locally for discovery; OSS-Fuzz is the next step. The corpora carry the reproducers for the four parser bugs these harnesses found, so the job also pins those regressions. It depends on the fixes in the preceding commit; merge that first. Signed-off-by: Xavier Roche <roche@httrack.com> Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
19 lines
573 B
Makefile
19 lines
573 B
Makefile
|
|
SUBDIRS = src man m4 libtest templates lang html tests fuzz
|
|
|
|
ACLOCAL_AMFLAGS = -I m4
|
|
|
|
EXTRA_DIST = INSTALL.Linux \
|
|
gpl-fr.txt license.txt greetings.txt history.txt \
|
|
httrack-doc.html lang.def README.md tools/mkdeb.sh \
|
|
bootstrap build.sh
|
|
|
|
# Build the signed Debian packages from a clean source export. Pass the signing
|
|
# key and other options through DEB_FLAGS, e.g.:
|
|
# make deb DEB_FLAGS="--key BB71C7E6CB1AD8FAF53FE42A60C3AA7180598EFB"
|
|
# See tools/mkdeb.sh --help for all options.
|
|
DEB_FLAGS =
|
|
deb:
|
|
$(SHELL) $(top_srcdir)/tools/mkdeb.sh $(DEB_FLAGS)
|
|
.PHONY: deb
|