mirror of
https://github.com/isc-projects/bind9.git
synced 2026-03-09 17:50:52 -04:00
This commit converts the license handling to adhere to the REUSE specification. It specifically: 1. Adds used licnses to LICENSES/ directory 2. Add "isc" template for adding the copyright boilerplate 3. Changes all source files to include copyright and SPDX license header, this includes all the C sources, documentation, zone files, configuration files. There are notes in the doc/dev/copyrights file on how to add correct headers to the new files. 4. Handle the rest that can't be modified via .reuse/dep5 file. The binary (or otherwise unmodifiable) files could have license places next to them in <foo>.license file, but this would lead to cluttered repository and most of the files handled in the .reuse/dep5 file are system test files.
1.4 KiB
1.4 KiB
= Fuzzing
The tests in this directory can be operated in three modes:
- non-fuzzing - the test just runs over all input located in
<test_name>.in/directory by compiling with mock main.c that walks through the directory and runsLLVMFuzzerTestOneInput()over the input files - AFL -
./configure --with-fuzzing=aflwill either feed the stdin toLLVMFuzzerTestOneInput()or run the__AFL_LOOP(10000)if compiled withafl-clang-fast - LibFuzzer -
./configure --with-fuzzing=libfuzzerwill disablemain.ccompletely and it uses the standard LibFuzzer mechanims to feedLLVMFuzzerTestOneInputwith the fuzzer
== Test Cases
Each test case should be called descriptively and the executable target must
link testcase.o and main.o and the test_case.c must have a function
LLVMFuzzerTestOneInput(const uint8_t* data, size_t size).
== Adding more fuzzers
To add a different fuzzer, main.c must be modified to include main() function
for a specific fuzzer (or no function as is case with LibFuzzer).