1620 Commits

Author SHA1 Message Date
Michael Rash
00ea2ce0ef [test suite] added --enable-complete option for fuzzing, fault injection, and code coverage 2014-05-25 12:37:35 -04:00
Michael Rash
de03ed702e [test suite] added the ability to run fiu-run fault injection binary against fwknop 2014-05-24 17:55:57 -04:00
Michael Rash
597a3d3953 [libfko] added fault injections for remaining ...set...() functions called by fko_new() 2014-05-24 15:12:07 -04:00
Michael Rash
5f227cfa48 [libfko] added fault injections for fko_set_username() 2014-05-24 14:47:10 -04:00
Michael Rash
17f325eceb [libfko] added fault injections for fko_set_rand_value() 2014-05-24 14:01:49 -04:00
Michael Rash
35ad832392 [libfko] started on libfiu fault injection code 2014-05-24 10:14:28 -04:00
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
bbe5626566 add gcc '-pg' flag in --enable-profile-coverage mode 2014-05-22 08:19:45 -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
02389932bc added --enable-libfiu-support to build fwknop with fault injection support 2014-05-21 08:27:31 -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
0c544f2690 [server] add --test mode to enable broader fuzzing coverage 2014-05-08 07:35:42 -04:00
Michael Rash
64a4642c47 [server] minor fix to remove unnecessary opts.status check 2014-05-08 07:28:48 -04:00
Michael Rash
7d1ad9a4fa add new test suite conf files 2014-05-08 07:26:18 -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
02ed5f5ad4 [server] add --exit-parse-config option, man page updates (minor formatting change) 2014-05-04 09:17:27 -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
11f3e9b8d3 [server] add test coverage for tcp server when FUZZING_INTERFACES is defined 2014-05-02 22:29:03 -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
40e14fc400 Merge branch 'spa_encoding_fuzzing' 2014-04-28 23:00:16 -04:00
Michael Rash
964f28efb4 changes since fwknop-2.6.1 2014-04-28 21:20:21 -04:00
Michael Rash
32ae2be9cc updated RPM Release tag to 1 2014-04-28 21:17:13 -04:00
Michael Rash
bd32e40529 changes since 2.6.1 2014-04-28 21:08:49 -04:00
Michael Rash
7442002a89 [libfko] bumped version to 2.0.2 2014-04-28 21:08:27 -04:00
Michael Rash
6dca446868 changes since 2.6.1 2014-04-28 20:43:18 -04:00
Michael Rash
d996c45141 minor 2.6.2 release date change 2014-04-28 20:26:05 -04:00
Michael Rash
000e02f039 changes since 2.6.1 2014-04-26 23:46:40 -04:00
Michael Rash
30f30a91ac bumped version to 2.6.2 2014-04-26 23:43:32 -04:00
Michael Rash
0c70c7db21 ChangeLog for 2.6.2 2014-04-26 23:42:17 -04:00
Michael Rash
add2c913ab [libfko] fix double free bug in SPA parser
This commit fixes a double free condition discovered through the new
python SPA payload fuzzer.  This bug could be triggered in fwknopd with
a malicious SPA payload but only when GnuPG is used.  When Rijndael is
used for SPA packet encryption, this bug cannot be triggered due to an
length/format check towards the end of _rijndael_decrypt().  It should
be noted that only a person in possession of the correct encryption and
authentication GnuPG keys could trigger this bug.
2014-04-26 23:26:36 -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