365 Commits

Author SHA1 Message Date
Michael Rash
46b5f2ecaf [server] added the ability to use FORCE_MASQUERADE to access.conf stanzas 2013-12-05 23:00:19 -05:00
Michael Rash
e0114e60c2 [server] Added FORCE_SNAT to access.conf stanzas.
Added FORCE_SNAT to the access.conf file so that per-access stanza SNAT
criteria can be specified for SPA access.
2013-12-04 21:52:07 -05:00
Michael Rash
d7aa820e33 [server] Bug fix for SPA NAT modes on iptables firewalls for chain re-creation
For SPA NAT modes this commit ensures that custom fwknop chains are re-created
if they get deleted out from under the running fwknopd instance.
2013-12-03 21:42:23 -05:00
Michael Rash
bd73ceb5bd [test suite] added FreeBSD-9.2 and OpenBSD-5.4 compatibility tests 2013-11-27 21:58:13 -05:00
Michael Rash
c382febf3d [client] use libfko is_valid_ipv4_addr() for IP address validation 2013-11-26 23:48:56 -05:00
Michael Rash
aeb415d0e0 move fuzzing_spa_packets file to perl/FKO/t/ for fuzzing tests
This change moves the fuzzing_spa_packets file from the test/fuzzing/
directory into the perl FKO extension t/ directory and is now referenced
directly by the t/04_fuzzing.t test file.  The test suite itself also uses
this file for fuzzing tests as well, but having the FKO built-in tests
enables Test::Valgrind memory checks so it is useful to have this included
in the FKO sources.  (When the FKO module is submitted to CPAN, it should
not depend on non-local files, but it's ok for the test suite to reference
the ../perl/FKO/t/ directory.)
2013-11-26 21:44:53 -05:00
Michael Rash
6dd5ab8e35 [test suite] added --cmd-verbose to control fwknop command verbosity levels
This commit provides an easy way to control how verbose fwknop command
execution will be.  For example, fwknopd only calls hex_dump() against
SPA packets when --verbose > 2, so invoking the tests suite as follows
will result in hex_dump() being included in fwknopd output (see the
output/1_fwknopd.test file:

./test-fwknop.pl --include "Rijndael.*complete.*22" --test-limit 1 --cmd-verbose "--verbose --verbose --verbose"

[+] candidate SPA packet payload:

  0x0000:  39 62 72 51 58 75 7a 4b  57 54 53 67 57 56 35 66 9brQXuzKWTSgWV5f
  0x0010:  73 63 78 42 35 78 69 51  65 6c 55 4f 53 78 69 45 scxB5xiQelUOSxiE
  0x0020:  51 30 59 6a 41 50 70 31  4f 70 43 62 32 51 4a 4c Q0YjAPp1OpCb2QJL
  0x0030:  48 34 42 65 68 64 6d 47  35 49 31 50 36 2f 5a 69 H4BehdmG5I1P6/Zi
  0x0040:  6a 34 4b 41 62 34 53 68  6a 59 66 4f 71 2b 46 6c j4KAb4ShjYfOq+Fl
  0x0050:  4a 35 52 75 70 33 39 6f  6e 65 42 79 72 51 46 57 J5Rup39oneByrQFW
  0x0060:  61 38 6c 37 63 48 6e 38  5a 54 36 59 6e 55 56 47 a8l7cHn8ZT6YnUVG
  0x0070:  50 36 6e 53 6f 69 30 61  70 72 32 52 39 62 6b 56 P6nSoi0apr2R9bkV
  0x0080:  37 50 61 67 41 61 6b 49  44 63 58 59 44 6b 2f 64 7PagAakIDcXYDk/d
  0x0090:  67 51 45 61 37 39 32 6f  30 4d 38 6e 30 30 6e 35 gQEa792o0M8n00n5
  0x00a0:  55                                               U
2013-11-22 23:00:20 -05:00
Michael Rash
f396b816a1 [test suite] fix LD_LIBRARY_PATH for perl FKO 'make test' run 2013-11-21 21:01:17 -05:00
Michael Rash
eeda4e0f10 [test suite] better --lib-dir support for non-default LD_LIBRARY_PATH values
This commit allow the test suite to easily use a non-default LD_LIBRARY_PATH
in order to test mixed combinations of newly compiled fwknop client/server
binaries and previously installed versions of libfko.  This allows backwards
compatibility (and forwards compatibility) to be verified by the test suite.

For example, after compiling the fwknop client and server for the 2.5.2
release, one could use libfko from 2.5.1 to verify compatibility:

./test-fwknop.pl --enable-all --lib-path /home/mbr/install/fwknop-2.0.4/lib

See the --fwknop-path and --fwknopd-path args as well in order to support
arbitrary client/server/libfko combinations.
2013-11-20 23:14:57 -05:00
Michael Rash
28a915c8c8 [test suite] added short and long IP tests (1.1.1.1 and 123.123.123.123) 2013-11-20 23:10:36 -05:00
Michael Rash
8cb5653d5e [test suite] minor update for SNAT tests to not restrict --fw-list search to 127.0.0.2 2013-11-18 22:22:02 -05:00
Michael Rash
71d19031e6 [test suite] remove init file before starting test run 2013-11-17 22:27:07 -05:00
Michael Rash
93c0faafeb [test suite] extended code structure errstr test to validate python extention error code constants 2013-11-17 20:43:28 -05:00
Michael Rash
eebfa8924d [test suite] extended code structure errstr test to validate perl FKO constants 2013-11-17 19:50:42 -05:00
Michael Rash
a9cc97cd2a [test suite] added tests/code_structure.pl with a test for expected lib/fko.h error code fko_errstr() handling 2013-11-16 23:22:25 -05:00
Michael Rash
cd15502bf1 [test suite] minor addition to fko-wrapper to call fko_errstr() across valid and invalid values 2013-11-16 20:36:39 -05:00
Michael Rash
cb2fc3abbe [test suite] handle LD_LIBRARY_PATH from the main test-fwknop.pl script 2013-11-14 22:47:13 -05:00
Michael Rash
a6f030412f [test suite] added Rijndael/HMAC compatibility tests for Mac OS X 10.9 2013-11-14 10:37:36 -05:00
Michael Rash
6870e65800 [test suite] minor cleanup to remove uncessary 'fatal' test hash keys 2013-11-14 10:24:58 -05:00
Michael Rash
5f51d7b3eb [test suite] added support for 'otool' instead of 'ldd' on Mac OS X systems 2013-11-14 09:59:28 -05:00
Michael Rash
1299a8ee87 [test suite] added DYLD_LIBRARY_PATH for Mac OS X 10.9 2013-11-12 23:05:16 -05:00
Michael Rash
a98317d367 [test suite] minor negative output match addition for Test::Valgrind test 2013-10-27 15:08:01 -04:00
Michael Rash
0451a7394c [test suite] added valgrind output interpretation for Test::Valgrind output for previous run comparisons 2013-10-25 22:38:09 -04:00
Michael Rash
55bceaddc8 [test suite] minor wording update for Test::Valgrind test 2013-10-22 23:05:36 -04:00
Michael Rash
62939521ac [test suite] minor python update to use a main() function 2013-10-22 21:38:47 -04:00
Michael Rash
682966469c [test suite] minor Test::Valgrind name typo fix 2013-10-22 20:37:58 -04:00
Michael Rash
0d80f72c00 Revert "[test suite] minor Test::Valgrind name typo fix"
This reverts commit 642024041534d79c897a21b2e19ef3e1ed7b2a61.
2013-10-22 20:36:30 -04:00
Michael Rash
6420240415 [test suite] minor Test::Valgrind name typo fix 2013-10-22 16:18:46 -04:00
Michael Rash
b091a1a1bc [test suite, FKO module] new(), spa_data_final(), and other fcns don't require key length args 2013-10-22 14:39:45 -04:00
Michael Rash
e77a02882e [test suite] Add support for Test::Valgrind against the perl FKO module
When --enable-valgrind is used, this commit adds support for running the
perl FKO built-in tests (in the t/ directory) under the CPAN
Test::Valgrind module.  A check is performed to see whether
Test::Valgrind is install before attempting to use it.  Any 'fko_'
function that shows up under the test output is flagged and causes the
test-suite test to fail.
2013-10-22 14:11:23 -04:00
Michael Rash
ab0d5ac3e2 [test suite] display all possible tests under --list (with a --enable-* note) 2013-10-11 10:57:04 -04:00
Michael Rash
c271f01d00 [test suite] added 'make test' check for FKO perl module
All built-in tests in the FKO module must pass for this new test to pass.  This commit
is in support of #103
2013-08-17 23:51:31 -04:00
Michael Rash
c0c8048ee1 Added fko context dumper change to ChangeLog, updated test suite to account for single line printing of final SPA data 2013-08-11 22:07:02 -04:00
Michael Rash
be2bb71c74 [test suite] minor bug fix for GPG no password HMAC test rc file 2013-08-10 21:03:07 -04:00
Michael Rash
c04efc20dd [test suite] added Rijndael HMAC digest mismatch tests 2013-08-10 15:45:51 -04:00
Michael Rash
dfc2a06547 [test suite] added Rijndael HMAC + RAND_PORT test 2013-08-10 14:27:10 -04:00
Michael Rash
4775327d98 [test suite] added two GnuPG HMAC SHA512 tests 2013-08-10 13:54:03 -04:00
Michael Rash
05e7d52a5f [client] merged --stanza-list changes from Franck, closes #94 2013-08-08 20:54:07 -04:00
Michael Rash
8c73c7801b [server] send IPT_*_ACCESS vars through basic validation at fwknopd.conf parse time 2013-08-05 00:00:45 -04:00
Michael Rash
5fa93c621a [test suite] minor seg fault test message update 2013-08-04 23:23:07 -04:00
Michael Rash
131c643cad [server] make IPT_INPUT_ACCESS validation more strict on allowed chars 2013-08-04 23:20:53 -04:00
Michael Rash
a7030b038a [test suite] added --gdb-test mode
This commit allows the test suite to execute the same fwknop/fwknopd command
used in a specified test output file under gdb.  This is a convenience
measure to allow the user to more rapidly execute fwknop/fwknopd commands
under gdb in the same way the test suite does without having to copy and paste
command line args.

Here is a basic example:

root@lorien:/home/mbr/git/fwknop.git/test# ./test-fwknop.pl --gdb output/6.test
GNU gdb
Copyright (C) 2012 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "i686-linux-gnu".
For bug reporting instructions, please see:
<http://bugs.launchpad.net/gdb-linaro/>...
Reading symbols from /home/mbr/git/fwknop.git/server/.libs/fwknopd...done.
(gdb) run
Starting program: /home/mbr/git/fwknop.git/server/.libs/fwknopd -c conf/invalid_ipt_input_chain_6_fwknopd.conf -a conf/default_access.conf -d run/digest.cache -p run/fwknopd.pid -i lo --foreground --verbose --verbose
2013-08-04 21:46:38 -04:00
Michael Rash
92e888a34f [test suite] minor removal of duplicate Cwd usage 2013-08-04 21:24:44 -04:00
Michael Rash
870a08c9f5 [test suite] added invalid IPT input chain specification tests 2013-08-04 21:22:35 -04:00
Michael Rash
ce3a7bc16d [test suite] have Makefile.am test/conf/ file inclusion only write errors 2013-08-04 17:55:41 -04:00
Michael Rash
3395e5c132 [test suite] don't append segfault searches to every test output file 2013-08-04 11:25:58 -04:00
Michael Rash
433b18501c [test suite] additional non-HMAC SNAT tests 2013-08-04 04:51:39 -04:00
Michael Rash
2f7a3f0a8a [test suite] SNAT MASQUERADE test 2013-08-03 20:52:27 -04:00
Michael Rash
0200169dfd [test suite] started on SNAT tests 2013-08-03 13:36:32 -04:00
Michael Rash
cc896bbcde [test suite] added checks to look for segfaults/crashes 2013-08-02 15:09:00 -04:00