Commit Graph

483 Commits

Author SHA1 Message Date
Michael Rash
8d61a8cf7f [test suite] added tests/rijndael_hmac_fuzzing.pl file 2014-05-23 18:55:06 -04:00
Michael Rash
0a82c68451 [test suite] add hmac_fuzzing_access.conf file 2014-05-23 18:50:47 -04:00
Michael Rash
cf3f41821b [test suite] add fault injection tests 2014-05-22 08:36:11 -05:00
Michael Rash
a65fff7e7b [test suite] make fko_wrapper binary path absolute 2014-05-22 08:30:36 -05:00
Michael Rash
c5e8eee743 [test suite] make fko_wrapper binary path absolute 2014-05-22 08:29:06 -05:00
Michael Rash
a2f2777e9f [test suite] add fko_basic.c file to the FKO wrapper 2014-05-22 08:24:16 -05:00
Michael Rash
8666788a16 [test suite] minor line counter addition for file_find_regex() 2014-05-21 09:12:20 -04:00
Michael Rash
84821438bd [test suite] started on support for libfiu fault injection tests 2014-05-20 21:20:10 -04:00
Michael Rash
55582c31f8 [test suite] expand libfko username coverage testing by adding undef LOGNAME env variable test 2014-05-10 23:16:32 -04:00
Michael Rash
d5e5961ca1 [test suite] stronger valgrind test requirements
This commit adds a couple of suppressions for known issues that valgrind
finds in libcap, and then makes a significant change to how the test
suite deals with any valgrind errors (in --enable-valgrind mode) that
are outside of these suppressions.  That is, any new valgrind errors
that are discovered will cause the test that triggers them to fail.
Previous to this commit, the final valgrind "flagged functions" test
attmpted to do this by comparing valgrind output across test runs. This
worked well enough for a while, but this latest commit enforces a
stricter stance for valgrind validation of the fwknop code base.
2014-05-09 21:13:48 -04:00
Michael Rash
7cb8ad9528 [fko-wrapper] add missing fko_destroy() call 2014-05-09 20:53:32 -04:00
Michael Rash
22ad9044cd [test suite] python fuzzer pkt_id counter minor bug fix 2014-05-09 20:51:37 -04:00
Michael Rash
3e0c983bbd [test suite] add lib path and valgrind string to server start/stop cycle tests 2014-05-09 07:57:46 -04:00
Michael Rash
2b5029a4ee [test suite] add SIGINT, SIGUSR1, and SIGUSR2 signals to restart cycle test for code coverage 2014-05-09 07:49:57 -04:00
Michael Rash
33234183df [test stuie] fko-wrapper PKT_ID generation + send fuzzing packets back through fko_new_with_data() cycle 2014-05-08 07:46:13 -04:00
Michael Rash
16b3911091 [test suite] Rijndael HMAC fuzzing support and a few minor test additions 2014-05-08 07:25:47 -04:00
Michael Rash
d7e9ae578b [test suite] add digest cache rewrite feature for test coverage, add config line and pcap filter validation tests 2014-05-04 09:16:39 -04:00
Michael Rash
24f9c582bb [test suite] add multi-port access request to python fuzzer 2014-05-04 09:15:44 -04:00
Michael Rash
5f24fc8c5f [server] add --dump-serv-err-codes for test coverage 2014-05-02 22:59:05 -04:00
Michael Rash
fb21e3a575 [server] bug fix to handle SPA packets via http 2014-04-29 23:25:31 -04:00
Michael Rash
6dde30bc91 [test suite] significant test coverage update
This commit adds a lot of test coverage support as guided by gcov +
lcov.

Also added the --no-ipt-check-support option to fwknopd (this is only
useful in practice on older Linux distros where 'iptables -C' is not
available, but it helps with test coverage).
2014-04-29 20:54:01 -04:00
Michael Rash
9901d8a76a [libfko/test suite] add the FUZZING_INTERFACES macro
Add a new fko_set_encoded_data() function gated by #define
FUZZING_INTERFACES to allow encryption and authentication to be bypassed
for fuzzing purposes (and only fuzzing purposes).  The fko-wrapper code
has been extended to process data in the
test/fko-wrapper/fuzz_spa_payloads file, which is created by the new
python fuzzer.  Typical workflow is:

$ cd test/fko-wrapper
$ ../spa_fuzzer.py > fuzz_spa_payloads
$ make fuzzing

(as root):

./test-fwknop.pl  --enable-profile-coverage --enable-fuzzing-interfaces --enable-all --include wrapper

[+] Starting the fwknop test suite...

    args: --enable-profile-coverage --enable-fuzzing-interfaces --enable-all --include wrapper

    Saved results from previous run to: output.last/

    Valgrind mode enabled, will import previous coverage from:
        output.last/valgrind-coverage/

[+] Total test buckets to execute: 2

[Rijndael] [fko-wrapper] multiple libfko calls (with valgrind)......pass (1)
[Rijndael] [fko-wrapper] multiple libfko calls......................pass (2)
[profile coverage] gcov profile coverage............................pass (3)
[valgrind output] [flagged functions] ..............................pass (4)

    Run time: 5.85 minutes

[+] 0/0/0 OpenSSL tests passed/failed/executed
[+] 0/0/0 OpenSSL HMAC tests passed/failed/executed
[+] 4/0/4 test buckets passed/failed/executed
2014-04-26 23:04:44 -04:00
Michael Rash
e1dde1733a [test suite] python fuzzer - more field length variations to hit MAX_SPA_MESSAGE_SIZE 2014-04-26 23:01:47 -04:00
Michael Rash
91a60b8d91 [test suite] libfko wrapper is already called in Rijndael tests 2014-04-26 22:35:57 -04:00
Michael Rash
367424ece5 [test suite] python fuzzer - account for base64 strings that have stripped '=' chars 2014-04-26 22:03:32 -04:00
Michael Rash
e00add778e [test suite] python fuzzer - add fuzzing fields to original fields (interim commit) 2014-04-26 17:03:47 -04:00
Michael Rash
1deccfd005 [test suite] python fuzzer - break out fuzzing sections into dedicated functions 2014-04-24 22:11:04 -04:00
Michael Rash
4b11232249 [test suite] add command mode SPA payload and splicing tests to python fuzzer 2014-04-23 23:31:37 -04:00
Michael Rash
b9e2a42c5c [test suite] support multiple initial SPA payloads in the python fuzzer 2014-04-22 23:48:13 -04:00
Michael Rash
cd8a2493a7 [test suite] python fuzzer additional tests 2014-04-22 23:20:06 -04:00
Michael Rash
beb8df4643 [test suite] add python SPA packet payload fuzzer 2014-04-22 21:00:16 -04:00
Michael Rash
63a59bf48b [test suite] add --enable-fuzzing-interfaces, fix profile coverage file handling 2014-04-22 20:58:03 -04:00
Michael Rash
67dd1d5bdd [server] bug fix to allow IP-formatted masks for SOURCE lines in access.conf 2014-04-12 15:21:00 -04:00
Michael Rash
b243bb4bb7 [client] fix minor memory leak before exit() in parsing invalid time offsets 2014-04-11 22:45:27 -04:00
Michael Rash
b422f1b9a7 [test suite] implement new fwknopd access/fwknopd.conf file writing feature similar to client rc file writing/testing 2014-04-10 23:10:11 -04:00
Michael Rash
c75cbdddef [test suite] add compounded tests for fko-wrapper 2014-04-10 23:08:51 -04:00
Michael Rash
55d1ee3fd9 [test suite] --key-* arg validation with --fd 0 2014-04-09 23:56:50 -04:00
Michael Rash
0ff2100993 [test suite/client] memory leak bug fix and test coverage
This commit fixes a minor memory leak in the fwknop client before
calling exit() when an abnormally large number of command line arguments
are given.  The leak was found with valgrind together with the test
suite (specifically the 'show last args (4)' test):

==23748== 175 bytes in 50 blocks are definitely lost in loss record 1 of 1
==23748==    at 0x4C2C494: calloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==23748==    by 0x1112F1: run_last_args (fwknop.c:991)
==23748==    by 0x110D36: prev_exec (fwknop.c:916)
==23748==    by 0x10D953: main (fwknop.c:170)

Additional test coverage was added for the client via the
basic_operations.pl tests.
2014-04-08 21:12:46 -04:00
Michael Rash
e5169d0878 [test suite] env HOME tests, -R http resolve tests 2014-04-08 11:15:53 -04:00
Michael Rash
d9c1eb8f51 [test suite] more client/config_init.c test coverage 2014-04-07 22:31:56 -04:00
Michael Rash
5da38165ef [test suite] KEY_FILE and HMAC_KEY_FILE tests 2014-04-06 22:21:14 -04:00
Michael Rash
c6cb892a05 [test suite] more client/config_init.c test coverage 2014-04-06 22:14:10 -04:00
Michael Rash
5176cd0976 [test suite] additional test coverage for client/config_init.c 2014-04-06 21:27:15 -04:00
Michael Rash
09fb2dd240 [test suite] allow tests/*.pl files to use lib_view_str variable directly 2014-04-06 21:27:07 -04:00
Michael Rash
4d63644ce7 [test suite] additional test coverage for client/config_init.c 2014-04-06 15:42:22 -04:00
Michael Rash
710720b237 [test suite] non-default stanza digest update test 2014-04-05 23:09:04 -04:00
Michael Rash
e95d601a48 [test suite] added --key-gen -K file path too long test 2014-04-05 21:51:56 -04:00
Michael Rash
48eb5fcc94 [test suite] added key file path too long tests 2014-04-05 21:29:24 -04:00
Michael Rash
d0d77ba67f [test suite] added rc file path too long test 2014-04-05 08:19:20 -04:00
Michael Rash
1ec1443768 [test suite] add several validation tests to exercise various client/config_init.c lines 2014-04-04 23:03:03 -04:00