1 fwknop-2.0.1 (07//2012):
2 - [server] Bug fix where the same encryption key used for two stanzas in
3 the access.conf file would result in access requests that matched the
4 second stanza to always be treated as a replay attack. This has been
5 fixed for the fwknop-2.0.1 release, and was reported by Andy Rowland. Now
6 the fwknopd server computes the SHA256 digest of raw incoming payload
7 data before decryption, and compares this against all previous hashes.
8 Previous to this commit, fwknopd would add a new hash to the replay
9 digest list right after the first access.conf stanza match, so when SPA
10 packet data matched the second access.conf stanza a matching replay
11 digest would already be there.
12 - [server] Updated PCAP_LOOP_SLEEP default to 1/10th of a second (in
13 microseconds). This was supposed to be the default anyway, but C
14 Anthony Risinger reported a bug where fwknopd was consuming more
15 resources than necessary, and the cause was PCAP_LOOP_SLEEP set by
16 default to 1/100th of a second - this has been fixed.
17 - [libfko] Added SPA message validation calls to fko decoding routines to
18 help ensure that SPA messages conform to expected values.
19 - Bug fix for PF firewalls: updated the PF anchor check to not rely on
20 listing the PF policy - fwknopd now uses 'pfctl -s Anchor' instead.
21 - [test suite] Added parsing of valgrind output to produce a listing of
22 functions that have been flagged - this assists in the development
23 process to ensure that fwknop is not leaking memory.
24 - [test suite] Bug fix on Mac OS X systems to account for libfko.dylib path
25 instead of libfko.so. This fixes the existence check for libfko.
26 - [test suite] Added tests for --nat-local mode.
27 - [client] Fixed several minor memory leaks caught by valgrind.
28 - [libfko] Minor gcc warning fix: fko_decode.c:43:17: warning: variable
29 ‘edata_size’ set but not used [-Wunused-but-set-variable].
31 fwknop-2.0 (01/02/2012):
32 - This is the first production release that has been completely re-written
33 in C. This brings Single Packet Authorization functionality to all sorts
34 of machines from embedded devices to large systems. iptables, ipfw, and
35 pf firewalls are supported by the fwknopd daemon, and the fwknop client
36 is known to work on most major *NIX environments, the iPhone and Android
37 operating systems, and Cygwin under Windows.
38 - Added FORCE_NAT mode to the access.conf file so that for any valid SPA
39 packet, force the requested connection to be NAT'd through to the
40 specified (usually internal) IP and port value. This is useful if there
41 are multiple internal systems running a service such as SSHD, and you
42 want to give transparent access to only one internal system for each
43 stanza in the access.conf file. This way, multiple external users can
44 each directly access only one internal system per SPA key.
45 - Added two new access.conf variables are added "ACCESS_EXPIRE" and
46 "ACCESS_EXPIRE_EPOCH" to allow access stanzas to be expired without
47 having to modify the access.conf file and restart fwknopd.
48 - Added a new feature to allow an access stanza that matches the SPA source
49 address to not automatically short circuit other stanzas if there is an
50 error (such as when there are multiple encryption keys involved and an
51 incoming SPA packet is meant for, say, the second stanza and the first
52 therefore doesn't allow proper decryption).
53 - Bug fix to exclude SPA packets with timestamps in the future that are too
54 great (old packets were properly excluded already).
55 - Bug fix to honor the fwknop client --time-offset-plus and
56 --time-offset-minus options
57 - Added DNAT mode tests, minor memory leak fix in NAT mode, added fwknopd
58 check for ENABLE_IPT_FORWARDING variable before attempting NAT access.
59 - [test suite] Added --diff mode to compare results from one execution to