clixon/test/fuzz/netconf
Olof hagsand 081e6871b3 * Renamed clixon-clispec.yang to clixon-autocli.yang
* First version of clixon-autocli.yang semantics
   * Default rules for module exclusion, list-keywords, completion, treeref-state
   * Specialized rules for compress and exclusion of modules
   * See [autocli documentation](https://clixon-docs.readthedocs.io/en/latest/cli.html#autocli)
* Obsoleted and moved autocli config options from clixon-config.yang to clixon-autocli.yang as follows:
   * `CLICON_CLI_GENMODEL`, use: `autocli/module-default=false` instead
      * Removed `clicon_cli_genmodel()`
   * `CLICON_CLI_GENMODEL_TYPE`, use `autocli/list-keyword-default` and compress rules instead)
      * Removed `clicon_cli_genmodel_type()`
   * `CLICON_CLI_GENMODEL_COMPLETION`, use `autocli/completion-default` instead
      * Removed `clicon_cli_genmodel_completion()`
   * `CLICON_CLI_AUTOCLI_EXCLUDE`, use `autocli/rule/operation=exclude` instead
   * `CLICON_CLI_MODEL_TREENAME`, use constant `AUTOCLI_TREENAME` instead
     * Removed `clicon_cli_model_treename()`
* New YANG functions: yang_single_child_type, yang_find_namespace_by_prefix, yang_str2key
* Changed return values of yang_find_prefix_by_namespace
* Merged `cli_cli2xml()` into `cli2xml()`
2022-01-07 12:50:07 +01:00
..
input Moved fuzz dir to test/fuzz 2021-10-10 18:05:45 +02:00
README.md Moved fuzz dir to test/fuzz 2021-10-10 18:05:45 +02:00
runfuzz.sh * Renamed clixon-clispec.yang to clixon-autocli.yang 2022-01-07 12:50:07 +01:00
xml.dict Moved fuzz dir to test/fuzz 2021-10-10 18:05:45 +02:00

Clixon fuzzing

This dir contains code for fuzzing clixon netconf.

Prereqs

Install AFL, see ..

Build and install a clixon system (in particular the backend, the netconf will be replaced)

Build

Build clixon netconf statically with the afl-clang compiler:

  CC=/usr/bin/afl-clang-fast LINKAGE=static ./configure # Dont care about restconf
  make clean
  cd apps/netconf
  make clixon_netconf
  sudo make install

Run tests

Run the script runfuzz.sh to run one test with a cli spec and an input string, eg:

  ./runfuzz.sh

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