59 Commits

Author SHA1 Message Date
Michael Rash
10d31064c3 Endian fix for OpenBSD systems
Per github issue #257, Jérémie Courrèges-Anglas and Ingo Feinerer
contributed a patch to fix endian detection on OpenBSD systems. This is
based on information contained at:

https://www.opengroup.org/austin/docs/austin_514.txt
2017-09-09 09:06:07 -04:00
Michael Rash
fe3d6b8cd7 ChangeLog updates 2016-05-11 22:10:58 -07:00
Jonathan Bennett
d939deb811 Spelling corrections, found using the codespell tool. 2016-04-10 12:03:59 -05:00
Michael Rash
22024febec try to describe Jonathan's contributions in a better fashion 2015-12-23 14:33:42 -05:00
Michael Rash
b0f25ae2e8 [server] (Vlad Glagolev) Add client timeouts to command open/close cycle operations 2015-11-13 08:41:39 -08:00
Michael Rash
89b2e8f477 [server] interface goes down will cause fwknopd to exit
By default, fwknopd will now exit if the interface that it is
sniffing goes down (patch contributed by Github user 'sgh7'). If this
happens, it is expected that the native process monitoring feature in
things like systemd or upstart will restart fwknopd. However, if fwknopd
is not being monitored by systemd, upstart, or anything else, this
behavior can be disabled with the EXIT_AT_INTF_DOWN variable in the
fwknopd.conf file. If disabled, fwknopd will try to recover when a
downed interface comes back up.
2015-07-18 13:11:25 -07:00
Michael Rash
e2520754bf update CREDITS file to include Fwknop2 2015-06-16 18:35:05 -07:00
Michael Rash
29defca4d5 (Jonathan Bennett) added console-qr.sh script to create QR codes from fwknopd access.conf keys 2015-05-20 18:52:30 -07:00
Michael Rash
ceb1713976 add --key-gen option to fwknopd (suggested by Jonathan Bennett) 2015-05-20 08:55:17 -07:00
Michael Rash
0ecc2d2333 minor docs update 2015-04-19 07:10:26 -07:00
Michael Rash
1ce800446d [server] Bug fix to not include pcap.h in --enable-udp-server mode 2015-02-17 23:21:05 -08:00
Michael Rash
c5c263c02f add Grant Pannell 2014-12-03 20:56:47 -05:00
Michael Rash
50434c5c4c Use the fwknop User-Agent for wget SSL external IP resolutions
Bug fix to ensure that a User-Agent string can be specified when the
fwknop client uses wget via SSL to resolve the external IP address. This
closes issue #134 on github reported by Barry Allard. The fwknop now
uses the wget '-U' option to specify the User-Agent string with a
default of "Fwknop/<version>". In addition, a new command line argument
"--use-wget-user-agent" to allow the default wget User-Agent string to
apply instead.
2014-09-27 23:23:12 -04:00
Michael Rash
aae72a9470 firewalld support from Gerry Reno 2014-09-03 23:28:51 -04:00
Michael Rash
00a057a09d ChangeLog update for FCS bug fix 2014-08-21 21:15:09 -04:00
Michael Rash
74428adae6 [server] Bug fix for PF firewalls without ALTQ support on FreeBSD.
With this commit PF rules are added correctly regardless of whether ALTQ support
is available or not. Thanks to Barry Allard for discovering and reporting this
issue. Closes issue #121 on github.
2014-07-18 20:54:11 -04:00
Michael Rash
4d167cd7df credit Blair and Tim with MacPorts and Homebrew maintainer status 2014-04-13 21:39:50 -04:00
Michael Rash
bfdbb8f260 Updated authorship and copyright information
This commit updates all authorship and copyright information to include a
standard header that references the AUTHORS and CREDITS file. This standard
header was written by the Debian legal team at the request of Franck Joncourt.
2014-03-04 17:53:10 -05:00
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
8dfd57677a added Gerry Reno 2013-12-22 21:12:26 -05:00
Michael Rash
3a2c33cd3c Added Les Aker to credits file 2013-12-12 15:57:10 -06:00
Michael Rash
83952fc734 added Radostan Riedel's AppArmor policy note 2013-08-18 23:02:44 -04:00
Michael Rash
45e29f6450 minor edit to credits file for Hank Leininger 2013-08-11 14:30:37 -04:00
Michael Rash
333302a7cf ChangeLog/CREDITS update for Hank's libfko error code patch 2013-08-09 21:47:38 -04:00
Michael Rash
708e3027f5 Revert "[libfko] Have 'make install' run ldconfig if basic fwknop/fwknopd -h exec fails"
This reverts commit f55b89c867ab63aaf69daae0aec0c19f1c52d521.

Damien recommended not having 'make install' run ldconfig since it breaks an RPM
build of fwknop, and most package managers should be doing this step anyway.
2013-07-17 23:51:54 -04:00
Michael Rash
5e3ec3b611 [client] in '-M legacy' mode truncate the key to 16 bytes
This change helps to maintain backwards compatibility with older fwknopd daemons
that cannot handle Rijndael keys greater than 16 bytes.  Blair Zajac suggested
printing a warning in '-M legacy' mode when keys are attempted > 16 bytes long,
and this warning is included in this commit.
2013-07-09 21:13:07 -04:00
Michael Rash
f55b89c867 [libfko] Have 'make install' run ldconfig if basic fwknop/fwknopd -h exec fails
This commit makes sure that if running 'fwknop -h' or 'fwknopd -h' appears to
fail then run ldconfig under the 'make install' step.  George Herlin reported
that on some systems ldconfig was not automatically getting executed via the
autoconf Makefile config, and since fwknop/fwknopd depend on a shared library
(libfko), ldconfig needs to be executed by 'make install' if it wasn't already
done.
2013-06-30 14:50:12 -04:00
Michael Rash
ffeb285f7b [libfko] handle endian detection on PPC (and other) systems
Blair Zajac contributed a patch to handle endian detection on PPC systems
and issue a compile time error if it cannot be determined.  This commit affects
the BYTEORDER macro.
2013-06-10 22:28:00 -04:00
Michael Rash
66399fed1a Merge remote-tracking branch 'fjoncourt/master'
Closes #74 - allows a passphrase to be read from STDIN or from a file descriptor
via --fd.
2013-06-02 22:54:23 -04:00
Michael Rash
1c8d247887 ChangeLog update to mention the constant_runtime_cmp() change 2013-06-01 22:30:29 -04:00
Michael Rash
6706c53902 [libfko] HMAC comparison timing bug fix
Ryman reported a timing attack bug in the HMAC comparison operation (#85) and
suggested a fix derived from YaSSL:
http://www.mail-archive.com/debian-bugs-rc@lists.debian.org/msg320402.html
2013-06-01 09:09:17 -04:00
Michael Rash
7cb23c75cc [server] added check to ensure any existing fwknop jump rule is not duplicated at init 2013-05-17 22:34:26 -04:00
Michael Rash
5804e15859 Merge remote-tracking branch 'ag4ve/master'
(Shawn Wilson) This adds better source IP logging for fwknopd log messages.
Closes #70.
2013-05-04 09:41:27 -04:00
Michael Rash
892ee15ff9 ChangeLog and credits updates for Franck 2013-04-29 21:52:07 -04:00
Michael Rash
39115c6dde added Ruhsam Bernhard to the credits file 2013-04-18 21:15:00 -04:00
Michael Rash
77c876c110 credits and changelog updates 2013-04-18 20:53:37 -04:00
Michael Rash
2f1768fcc4 minor CREDITS file formatting update 2013-02-22 20:51:48 -05:00
Michael Rash
fbbcae3a0d [libfko] Don't trundate > 16 byte Rijndael keys
Significant bug fix to honor the full encryption key length for
user-supplied Rijndael keys > 16 bytes long.  Previous to this bug fix,
only the first 16 bytes of a key were actually used in the encryption/
decryption process even if the supplied key was longer.  The result was
a weakening of expected security for users that had keys > 16 bytes,
although this is probably not too common.  Note that "passphrase" is
perhaps technically a better word for "user-supplied key" in this
context since Rijndael in CBC mode derives a real encryption/decryption
key from the passphrase through a series of applications of md5 against
the passphrase and a random salt.  This issue was reported by Michael T.
Dean.  Closes issue #18 on github.
2013-01-22 22:20:54 -05:00
Michael Rash
fd41308ce5 added info for Franck's latest contribution 2013-01-20 15:31:55 -05:00
Michael Rash
03b222ddda [client] (Franck Joncourt) Fixed Ctrl-C problem where SPA packets were sent anyway
[client] (Franck Joncourt) Contributed a patch to allow the fwknop
client to be stopped during the password entry prompt with Ctrl-C before
any SPA packet is sent on the wire.
2012-11-08 22:22:04 -05:00
Michael Rash
627035fb22 Patch from Franck Joncourt for setting permissions via open()
[client+server] Applied patch from Franck Joncourt to remove unnecessary
chmod() call when creating client rc file and server replay cache file.
The permissions are now set appropriately via open(), and at the same
time this patch fixes a potential race condition since the previous code
used fopen() followed by chmod().
2012-10-23 21:47:56 -04:00
Michael Rash
67f5d1f1e9 Applied perl FKO module libfko path patch from Franck Joncourt
Applied patch from Franck Joncourt to have the perl FKO module link
against libfko in the local directory (if it exists) so that it doesn't
have to have libfko completely installed in /usr/lib/.  This allows the
test suite to run FKO tests without installing libfko.

Added the ability to the test suite to compile, install, and run some
basic tests against the perl FKO module.
2012-10-11 23:36:50 -04:00
Michael Rash
6f356a9684 Added Sean Greven for his FreeBSD port 2012-10-08 22:06:33 -04:00
Michael Rash
05eb19738a added the OpenBSD port from Vlad 2012-09-13 21:25:43 -04:00
Michael Rash
f8374c8aef [server] (Vlad Glagolev) Submitted a patch to fix command exec mode
(Vlad Glagolev) Submitted a patch to fix command exec mode
under SPA message type validity test.  Support for command exec mode was
also added to the test suite.
2012-09-11 21:54:26 -04:00
Michael Rash
591416e23b [server] bug fix in --disable-file-cache mode
Applied patch from Vlad Glagolev to fix ndbm/gdbm usage when --disable-file-cache
is used for the autoconf configure script.  This functionality was broken in
be4193d734850fe60f14a26b547525ea0b9ce1e9 through improper handling of #define
macros from --disable-file-cache.
2012-09-10 21:47:48 -04:00
Michael Rash
e2c0ac4821 [server] Strong access.conf validation
Fernando Arnaboldi from IOActive found several conditions in
which the server did not properly throw out maliciously constructed
variables in the access.conf file.  This has been fixed along with new
fuzzing tests in the test suite.
2012-09-03 00:21:46 -04:00
Michael Rash
f4c16bc47f [server] Stronger IP validation based on a bug found by Fernando Arnaboldi from IOActive
This commit fixes a condition in which the server did not properly validate
allow IP addresses from malicious authenticated clients.  This has been fixed
with stronger allow IP validation.
2012-08-25 23:08:55 -04:00
Michael Rash
d46ba1c027 (Fernando Arnaboldi, IOActive) Found and fixed several DoS/code execution vulns for authenticated clients
- [server] Fernando Arnaboldi from IOActive found several DoS/code
execution vulnerabilities for malicious fwknop clients that manage to
get past the authentication stage (so a such a client must be in
possession of a valid access.conf encryption key).  These vulnerbilities
manifested themselves in the handling of malformed access requests, and
both the fwknopd server code along with libfko now perform stronger input
validation of access request data.  These vulnerabilities affect
pre-2.0.3 fwknop releases.
- [test suite] Added a new fuzzing capability to ensure proper server-side
input validation.  Fuzzing data is constructed with modified fwknop
client code that is designed to emulate malicious behavior.
2012-08-24 22:12:19 -04:00