1444 Commits

Author SHA1 Message Date
Michael Rash
a347be354d merged android4.4_support branch 2014-01-10 22:46:54 -05:00
Michael Rash
551b243007 (Marek Wrzosek) Update docs to reflect random 'digits' use instead of 'bytes'
Suggested doc update to fwknop man pages to accurately describe the usage
of digits instead of bytes for SPA random data.  About 53 bits of entropy
are actually used, although this is in addition to the 64-bit random salt
in for key derivation used by PBKDF1 in Rjindael CBC mode.
2014-01-02 20:47:41 -05:00
Michael Rash
6add06f76c bumped version to 2.6.0 2014-01-01 22:27:07 -05:00
Michael Rash
3820b64394 [libfko] ensure a NULL HMAC key is properly handled 2014-01-01 19:45:38 -05:00
Michael Rash
34a3808b99 [test suite] minor display_ctx() call position update 2014-01-01 19:45:02 -05:00
Michael Rash
f5fd8de482 [test suite] better loop output for fko-wrapper 2014-01-01 14:07:39 -05:00
Michael Rash
3adb359932 minor README update 2014-01-01 13:42:13 -05:00
Michael Rash
227d0ab947 [libfko] ensure NULL is handled properly for all fko_get_* functions 2013-12-31 23:27:05 -05:00
Michael Rash
7aa6d37fff [libfko] added NULL check for fko_set_spa_data() data arg 2013-12-30 21:56:08 -05:00
Michael Rash
5022beaf12 [libfko] < 0 checks not needed for size_t vars which are unsigned 2013-12-30 21:09:27 -05:00
Michael Rash
297d7d00fe [libfko] enc key NULL checks with fko-wrapper test support 2013-12-29 22:44:16 -05:00
Michael Rash
0c6911941b [libfko] reject negative length values
Integer lengths that are negative are never valid.  This commit also
extends the fuzzing capabilities of the test/fko-wrapper code to
validate libfko calls with negative length arguments, and one crash
scenario with a negative length for the encryption key was found (and
fixed) this way.
2013-12-29 21:05:04 -05:00
Michael Rash
d09e278646 added fko-wrapper no valgrind script 2013-12-29 20:02:56 -05:00
Michael Rash
283c72e463 [test suite] run fko-wrapper without valgrind, closes #113 2013-12-29 19:59:16 -05:00
Michael Rash
8a7ca121e9 [test suite] use ctx_update() where possible for fko-wrapper 2013-12-28 15:22:01 -05:00
Michael Rash
bf9fa57ca8 [test suite] added 'getset' versions of fko_ int/short wrapper functions 2013-12-28 14:56:35 -05:00
Michael Rash
8f3ea42b3f [test suite] update fko-wrapper to use constants from fko.h 2013-12-28 14:20:11 -05:00
Michael Rash
4c42d5575e [test suite] added ctx_update() function to fko-wrapper test 2013-12-28 14:10:47 -05:00
Michael Rash
05eb4ebb7b [test suite] call FKO functions via function pointers (interim commit) 2013-12-27 23:24:05 -05:00
Michael Rash
bd0b8a1953 [android] updated README file, added project/sdk.paths file 2013-12-26 20:44:35 -05:00
Michael Rash
db58f2008e [android] Added test/conf/hmac_android_access.conf file to Makefile.am 2013-12-23 23:16:03 -05:00
Michael Rash
509dcf93dd [android] added HMAC test along with non-legacy Rijndael test 2013-12-23 23:15:11 -05:00
Michael Rash
8fdb5d6395 [android] added ant.properties file 2013-12-23 22:51:26 -05:00
Michael Rash
171da60f23 [android] added project.properties file 2013-12-23 22:44:53 -05:00
Michael Rash
3b330f2036 [android] Makefile.am minor script path update 2013-12-23 22:40:18 -05:00
Michael Rash
e25d05f050 [android] update Makefile.am for latest Android directory tree 2013-12-23 22:39:21 -05:00
Michael Rash
204bc6e58f [android] add HMAC support (currently optional) 2013-12-23 22:29:51 -05:00
Michael Rash
dc19e07d65 [android] update to copy fko.h and associated files to jni/fwknop/ via get_libfko_header.sh 2013-12-23 20:38:04 -05:00
Michael Rash
8dfd57677a added Gerry Reno 2013-12-22 21:12:26 -05:00
Michael Rash
d43d2fc817 [android] applied Gerry Reno's patch for Android-4.4 2013-12-22 15:25:32 -05:00
Michael Rash
8ed0d9d8d9 Fix 'string literal' warning for Android client
Under Android-4.4 this commit fixes the following warning:

     [exec] jni/./fwknop/fwknop_client.c: In function 'Java_com_max2idea_android_fwknop_Fwknop_sendSPAPacket':
     [exec] jni/./fwknop/fwknop_client.c:181:5: error: format not a string literal and no format arguments [-Werror=format-security]
     [exec] cc1: some warnings being treated as errors
2013-12-22 15:10:23 -05:00
Michael Rash
6cba5d2ec9 [test suite] bug fix for python FKO extension library path (found on Fedora 19) 2013-12-16 22:33:55 -05:00
Michael Rash
919f25f85d [server] fw_initialize() vs. fw_config_init() bug fix for use_masquerade 2013-12-14 19:41:00 -05:00
Michael Rash
92cdb47ff7 [server] added FORCE_MASQUERADE to fwknopd(8) man page, closes #101
This commit completes the addition of generalized NAT (both DNAT and
SNAT) capabilities to access.conf stanzas.
2013-12-14 15:44:39 -05:00
Michael Rash
3a2c33cd3c Added Les Aker to credits file 2013-12-12 15:57:10 -06:00
Michael Rash
3b2cd063fe [server] pcap_dispatch() packet count default to 100
Updated pcap_dispatch() default packet count from zero to 100.
This change was made to ensure backwards compatibility with older
versions of libpcap per the pcap_dispatch() man page, and also because
some of a report from Les Aker of an unexpected crash on Arch Linux with
libpcap-1.5.1 that is fixed by this change (closes #110).
2013-12-10 22:24:39 -06:00
Michael Rash
aeed8323f7 [test suite] multi-packet pcap test for pcap_dispatch() validation
This commit adds a new pcap file to the test suite with an SPA packet after
99 other garbage packets.  This can be used for pcap_dispatch() testing,
though this is not meant to be super instensive - it is just to ensure that
if a PCAP_DISPATCH_COUNT of, say, 10 is selected that the SPA is still seen
by fwknopd.  This commit is in support of #110.
2013-12-10 21:56:20 -06:00
Michael Rash
5f50ac22db [server] use SIGKILL if necessary for -K
This change sends SIGKILL to fwknopd under -K if SIGTERM does not do the job
first.  This can be necessary in some cases if libpcap does not properly handle
a packet count of zero in pcap_dispatch() (see github issue #110).  On a side
note, the default packet dispatch count of zero will likely be changed because
of that issue too.
2013-12-10 14:35:38 -06:00
Michael Rash
3ef9e5645b [test suite] added masquerade exception for non-Linux systems 2013-12-05 23:37:10 -05:00
Michael Rash
0319b72334 [test suite] added missing config files 2013-12-05 23:01:12 -05:00
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
79f0cb8986 [libfko] added defensive NULL check for is_valid_ipv4_addr() 2013-12-04 23:11:11 -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
a15be4005e minor ChangeLog rewording for GPG fix 2013-11-26 09:07:56 -05:00
Michael Rash
be904769c4 [libfko] Bug fix to not decrypt with GnuGP without FKO_ENC_MODE_ASYMMETRIC
[libfko] Bug fix to not attempt SPA packet decryption with GnuPG without
an fko object with encryption_mode set to FKO_ENC_MODE_ASYMMETRIC.  This
bug was caught with valgrind validation against the perl FKO extension
together with the set of SPA fuzzing packets in
test/fuzzing/fuzzing_spa_packets.  Note that this bug cannot be
triggered via fwknopd because additional checks are made within fwknopd
itself to force FKO_ENC_MODE_ASYMMETRIC whenever an access.conf stanza
contains GPG key information.  This fix strengthens libfko itself to
independently require that the usage of fko objects without GPG key
information does not result in attempted GPG decryption operations.  Hence
this fix applies mostly to third party usage of libfko - i.e. stock
installations of fwknopd are not affected.  As always, it is recommended to
use HMAC authenticated encryption whenever possible even for GPG modes since
this also provides a work around even for libfko prior to this fix.
2013-11-26 08:35:16 -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