1 2010-08-28 Damien Stuart <dstuart@dstuart.org>
3 * Added support for access requests using ipfw.
4 * Added platform-related ifdefs around platform-specific code.
5 * Stubbed in ipf and pf firewall program support (not operational
7 * Updates to accomodate compiling on FreeBSD-basded systems.
9 2010-07-21 Damien Stuart <dstuart@dstuart.org>
10 * Added extras directory to source distribution as a holder for extra
11 and/or contributed files. This initially includes startup (init)
12 scripts for various platforms.
14 2010-07-20 Michael Rash <mbr@cipherdyne.org>
15 Release fwknop 2.0.0rc1
16 * Tagged fwknop-2.0.0rc1 release.
18 2010-07-18 Damien Stuart <dstuart@dstuart.org>
19 * Added default fallback values for all fwknopd.conf parameters and set
20 all entries in the initially deployed version of fwknopd.conf to be
22 * Yet another round of code cleanup in preparation for the release of
25 2010-07-13 Michael Rash <mbr@cipherdyne.org>
26 * Added the --fw-list option to the server to list current fwknop-related
28 * Added fallback to default keyring path if GPG_HOME_DIR is not set in the
29 config file or specified on the command-line.
30 * Added is_valdi_dir() function for validating directory paths specified
31 via .conf file or command-line option.
33 2010-07-11 Damien Stuart <dstuart@dstuart.org>
34 * Added the fwknop_errors.[ch] files that provide error code processing
35 functions that consolidate the various sub-system error codes and
36 provide the correct string representation of the corresponding errors.
37 * More documentation tweaks.
39 2010-07-07 Damien Stuart <dstuart@dstuart.org>
40 * Reworked how external commands are executed (due to problems encountered
41 when running in the background on some platforms).
42 * TCP Server child process no longer holds on to the lock file handle, and
43 it also will shut itself down if the parent fwknopd process goes away.
44 * Changed the client to use cipherdyne.org for resolving external IP as
45 the whatismyip.com site has restrictions that could impede proper client
46 invocations using this feature.
47 * Removed the direction fields (src and dst) from the fwknop iptables chain
48 definition parameters in the fwknopd.conf file.
49 * Added RC file support for the client. Now fwknop client can use a
50 .fwknoprc file for saved, named command-line profiles.
51 * Improved clarity in log message output.
52 * Added fknwop.spec file for building binary RPM packages.
53 * Fixed how autoconf was setting up shared library dependencies for the
54 server and client components.
56 2010-06-28 Damien Stuart <dstuart@dstuart.org>
57 * Added COMMAND_MSG support.
59 2010-06-28 Damien Stuart <dstuart@dstuart.org>
60 * Added COMMAND_MSG support.
61 * Added ability to run Command messages as a specified user.
62 * Added code to complete GPG signature processing and validation. This
63 included the addition of the GPG_REQUIRE_SIG and the
64 GPG_IGNORE_SIG_VERIFY_ERROR access.conf parameters.
65 * Implemented the checking signatures against the GPG_REMOTE_ID list.
67 2010-06-23 Damien Stuart <dstuart@dstuart.org>
68 * Added the TCP server functionality.
69 * Added support for receiving and processing SPA data sent via HTTP
71 * Added more specific data format and SPA validation checks before
72 attempting decrypt/decode.
73 * Lots of code cleanup in preparation for candidate release.
74 * Brough documentation in sync with functionality.
76 2010-06-15 Damien Stuart <dstuart@dstuart.org>
77 * Finished up first cut support for all firewall rules/modes including
78 Forwarding, DNAT, and SNAT.
80 2010-05-16 Damien Stuart <dstuart@dstuart.org>
81 * Added the intial firewall rules creation and expiry/removal code for
82 simple access requests.
84 2010-02-09 Damien Stuart <dstuart@dstuart.org>
85 * Created initial fwknopd.8 man page.
86 * Added --locale and --no-locale options.
87 * Allow using internal set_config_entry function to set NULL values
88 to configuration options to clear and free them.
90 2010-02-05 Damien Stuart <dstuart@dstuart.org>
91 * Updated libfko to set gpgme to use of gpg (vice gpg2) by default.
92 * Added fko_set_gpg_exe and fko_get_gpg_exe function for getting or
93 setting the path to gpg. Updated docs accordingly.
94 * Fixed some potential memory leak issues in libfko and fwknopd.
95 * Reworked the get_user_pw routines to accomodate use of gpg-agent and not
96 prompting for a password when GPG is used without signing.
97 * Fixed bug where the 'hQ' prefix was removed by the client, but not put
99 * Added check for (and ability to override) the path to gpg to the
101 * Reverted/removed the pretty-print routines from the configure script as
102 the changes caused more issues than they were worth.
104 2010-01-30 Damien Stuart <dstuart@dstuart.org>
105 * Set working version to 2.0.0-alpha-pre2.
106 * Added additional sanity checks and clean-up of access.conf processing
108 * Fixed REQUIRE_SOURCE and added check for REQUIRE_USERNAME.
109 * Added fallback to use GPG_DECRYPT_PW if it was set and the normal KEY
110 failed with a decyption error.
111 * Fixed packet count checks to allow a limit of 0 to mean unlimited
113 * Minor libfko documentation updates.
115 2010-01-02 Michael Rash <mbr@cipherdyne.org>
116 * Added a new command line argument "--last-cmd" to run the fwknop client
117 with the same command line arguments as the previous time it was
118 executed. The previous arguments are parsed out of the ~/.fwknop.run
120 * Bug fix to not send any SPA packet out on the wire if a NULL password/key
121 is provided to the fwknop client. This could happen if the user tried to
122 abort fwknop execution by sending the process a SIGINT while being
123 prompted to enter the password/key for SPA encryption.
125 2010-01-03 Damien Stuart <dstuart@dstuart.org>
126 * Added access.conf file, parsing, and processing.
127 * Added a new acces.conf parameter, RESTRICT_PORTS for specifying 1 or
128 more proto/ports that are explicitly not allowed.
129 * Upon startup, fwknopd will now create the path to the configured run
130 direcory and/or the basename of the digest cache file if they do not
133 2010-01-02 Michael Rash <mbr@cipherdyne.org>
134 * Added --packet-limit to fwknopd so that the number of incoming candidate
135 SPA packets can be limited from the command line. When this limit is
136 reached (any packet that contains application layer data and passes the
137 pcap filter is included in the count) then fwknopd exits.
139 2009-12-28 Damien Stuart <dstuart@dstuart.org>
140 * Updated autoconf to look for local external executables like iptables,
141 ipfw, sendmail, mail, and sh in the PATH and set corresponding
142 definitions in config.h (only if the server is being built).
143 * Added ability to set the path to the executables listed above via
144 "--with-xx=<path>" arguments to configure. The arg will force the
145 given value whether it exists or not (though it will issue a warning
146 if the path does not exist).
148 2009-11-01 Michael Rash <mbr@cipherdyne.org>
149 * (Legacy code) Applied patch from Jonthan Bennett to support the usage of
150 the http_proxy environmental variable for sending SPA packets through an
151 HTTP proxy. The patch also adds support for specifying an HTTP proxy
152 user and password via the following syntax:
153 'http://username:password@proxy.com:port' or
154 'http://username:password@proxy.com'
155 * (Legacy code) Bug fix to allow the --rand-port argument to function along
156 without an inappropriate check for the --Server-port arg.
158 2009-10-27 Michael Rash <mbr@cipherdyne.org>
159 * Added --http-proxy argument to the fwknop C client so that SPA packets
160 can be sent through HTTP proxies.
161 * (Legacy code) Changed HTTP proxy handling to point an SPA packet to
162 an HTTP proxy with -D specifying the end point host and --HTTP-proxy
163 pointing to the proxy host. This fix was suggested by Jonathan Bennett.
165 2009-08-02 Damien Stuart <dstuart@dstuart.org>
166 * Tweaks to digest code - added SHA384 and SHA512 to supported digests.
167 * Updated autoconf files to account or new headers and types recently added.
168 * Bumped libfko version to 0.63 and perl FKO module version to 0.23.
170 2009-07-26 Michael Rash <mbr@cipherdyne.org>
171 * Implemented -s command line argument on the fwknop client command line
172 so that the IP "0.0.0.0" can be sent within an SPA packet. The fwknopd
173 server can wrap access requirements around this IP.
174 * Initial public release of fwknop-c-0.62.
176 2009-07-23 Michael Rash <mbr@cipherdyne.org>
177 * Added the --show-last and --no-save command line options to show the
178 command line used for the previous fwknop invocation, and to have the
179 fwknop client not save its command line arguments.
180 * Bug fix to force libfko to recalculate the random data embedded in the
181 the SPA packet after a random port is acquired via --rand-port or
182 --nat-rand-port. This is a precaution so that an attacker cannot guess
183 some of the internal SPA data based on the destination port number.
185 2009-07-21 Michael Rash <mbr@cipherdyne.org>
186 * Got forward and local NAT modes working with the --nat-access,
187 --nat-local, --nat-port, and --nat-randport options. All NAT modes
188 are now passing the fwknop test suite.
189 * Added the --server-command option to build an SPA packet with a command
190 for the server to execute.
191 * Added the --fw-timeout option for client side timeouts to be specified.
192 * Added the --time-offset-plus and --time-offset-minus options to allow
193 the user to influence the timestamp associated with an SPA packet.
194 * Added the --rand-port option so that the SPA packet destination port can
197 2009-07-16 Michael Rash <mbr@cipherdyne.org>
198 * Added the ability to send SPA packets over valid HTTP requests with
200 * Added support for transmitting SPA packets over IPv6 via TCP and UDP
201 sockets, and also via HTTP.
202 * Added GnuPG 'hQ' base64 encoded prefix handling (this prefix is
203 stripped out of encrypted SPA packet data).
204 * Added hostname resolution support to the fwknop-c client if the SPA
205 server is specified as a hostname instead of an IP address.
207 2008-05-24 Damien Stuart <dstuart@dstuart.org>
208 * Added win32 direcory with Visual Studio 2008 solution and project files
209 for building on the Windows platform.
211 2008-12-21 Damien Stuart <dstuart@dstuart.org>
215 * autogen.sh: created.
216 * autoconf/automake: Initial configuration created.
218 Copyright 2009, Damien Stuart
220 This file is free software; as a special exception the author gives
221 unlimited permission to copy and/or distribute it, with or without
222 modifications, as long as this notice is preserved.
224 This file is distributed in the hope that it will be useful, but
225 WITHOUT ANY WARRANTY, to the extent permitted by law; without even the
226 implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.