clixon/test/fuzz/backend
Olof hagsand dadf4a778a * HTTP/1 native parser as part of the RESTCONF client
* Fixed memory error in opendir/readdir in clicon_file_dirent
* Remove MAXPATH in parsers
* New string-del function
2022-02-08 16:59:08 +01:00
..
input Moved fuzz dir to test/fuzz 2021-10-10 18:05:45 +02:00
README.md * HTTP/1 native parser as part of the RESTCONF client 2022-02-08 16:59:08 +01:00
runfuzz.sh Moved fuzz dir to test/fuzz 2021-10-10 18:05:45 +02:00

Clixon fuzzing

This dir contains code for fuzzing clixon backend. (NOTE DOES NOT WORK)

It requires the preeny package to change sockets to stdio.

Plugins do not work

Prereqs

Install AFL and preeny, see ..

Build

Make a modification to how Clixon sends internal messages in include/clixon_custom.h:

  #define CLIXON_PROTO_PLAIN

(Note this is obsolete)

Build clixon statically with the afl-clang compiler:

  CC=/usr/bin/afl-clang-fast LINKAGE=static ./configure --with-restconf=native
  make clean
  make
  sudo make install

Run tests

Populate the input/ dir with input usecases, there are two examples already in this dir that can be modified. Use the script runfuzz.sh to run one test:

  ./runfuzz.sh

After (or during) the test, investigate results in the output dir.