David Jacobs
    - Suggested IP/network lists in SOURCE definitions
    - Wording fixes in fwknop(8) manpage.

Brian Snipes
    - Wrote a graphical front-end for fwknop called "fwknopFE":
        http://www.snipes.org/index.php?page=fwknopFE
    - Found bug with legacy fingerprinting file "posf".

Joel Loudermilk
    - Submitted patch to optionally disable email alerting.  The end result
      was the addition of the REPORT_METHOD keyword in fwknop.conf.

Blair Zajac
    - Submitted patch to not install perl modules in /usr/lib/fwknop/ that
      are already installed in the system perl lib tree.
    - Submitted patch to use getpwuid() instead of just getlogin().
    - Submitted patch to fix bug in install.pl and how the ~/lib directory
      is created in client install mode.
    - Found bug with perl module file paths and naming convention (this bug
      resulted in some modules being needlessly installed).
    - Suggested that fwknop handle rotated log files (even pcap logs get
      rotated on some systems).
    - Suggested that modules only required in server mode are not use at
      runtime when running fwknop in client mode.
    - Suggested -O optimization in Makefile.
    - Found bug where log rotation detection would break under the size
      change detection method.  The result was the inode check in 0.9.6.
    - Found bug where some Linux distributions have /var/run as type tmpfs,
      and this caused fwknopd to die because it couldn't write to its PID
      file.
    - Suggested command path update code in install.pl so that the user does
      not always have to edit the fwknop.conf and knopwatchd.conf files if
      the system does not have commands in the default locations.

Will McCracken
    - Reported bug on OS X where getlogin() does not return the correct
      data.  This permitted fwknop to be updated to fall back to ENV{'USER'}
      var.

Omar A. Herrera
    - Submitted a patch to fix a timeout bug in knoptm that caused newly
      created rules to be deleted too quickly.

Werner Wiethege
    - Submitted a patch to fix a bug in knoptm where inappropriate hash
      keys were being deleted and so previous timeouts would apply to the
      current interval.

Ronald Bister
    - Submitted a fix for not being able to parse ifconfig output correctly
      when languages besides English are used.

Hank Leininger
    - Suggested privilege separation to minimize code that executes as root.
    - Suggested NULL password GPG keys.
    - Suggested integration with ssh-agent and gpg-agent.

Dwayne Rightler
    - Submitted patch to fix bug where whatismyip.com altered their return
      data format and this broke the -w command line switch.

Sebastien Jeanquier
    - Contributed more rigorous regular expression for matching an IP address.
    - Suggested allowing symmetric keys to exceed 256 bits.
    - Suggested using Crypt::Random for random number generation.
    - Suggested the integration of time synchronization as an additional
      measure for the fwknopd daemon to validate incoming SPA packets (this
      will probably be enabled by default).
    - Suggested a new method of interacting with iptables to redirect
      connections to one port to another port on the same system.
    - Suggested making the --Spoof-user argument useable by non-root users.
    - Suggested the ability to randomize a spoofed IP address.
    - Suggested building in compatibility with external IP resolution sites
      such as http://www.whatismyip.com/
    - Provided a Mac OS X system to develop fwknop support for OS X.  Many
      thanks!
    - Helped with the testing process for fwknop-1.8.2 and OS X support.

Mate Wierdl
    - Contributed patch (originally for the psad project) for building the
      RPM on x86_64 platforms.

Raul Siles
    - Bug report to allow OPEN_PORTS to be omitted in access.conf in favor of
      having only PERMIT_CLIENT_PORTS enabled.

Leland Weathers
    - Submitted patch to allow the GPG_REMOTE_ID variable to have the value
      "ANY" to allow arbitrary gpg signing keys to match the SOURCE block.

Juuso Alasuutar
    - Suggested that the install.pl script offer a mode where the user is not
      prompted at all in order to make it easier to integrate fwknop with
      the Source Mage Linux distribution. The result is the --Defaults option
      to the install.pl script.
    - Suggested the ability to use gpg keys without passwords.

Neal Baer
    - Tested the fwknop-1.8 release for Windows systems (running Cygwin).
    - Tested the cd_rpmbuilder script on SuSE systems.

Graham Clark
    - Suggested man page documentation bug fixes.

Roy Segovia
    - Submitted patch to fix print statement bug in command mode where the
      command was inappropriately prepended with the source IP address.
    - Reported bug with running fwknop under Cygwin on Windows 2003 Server,
      which reports 'Gygwin' under the 'uname -o' output.

Mark Van De Vyver
    - Reported a bug where the iptables command path was not being properly
      discovered if it did not reside at the default location specified in the
      fwknop.conf file.
    - Submitted various documentation issues with the fwknop man pages. The -D
      option in fwknop-1.8.2 resulted from this feedback.
    - Reported a bug where the .xsession.errors file would fill with output
      logged by fwknop when null passwords were read from stdin.

Flavio Machado
    - Reported command mode bug where the source IP address is not properly
      communicated to the SPA server.

Eggert Ehmke
    - Reported resolution bug with http://www.whatismyip.com/.  The result was
      the interpretation of the link designed for automated scripts:
      http://www.whatismyip.com/automation/n09230945.asp

Luis Martin Garcia
    - Suggested using http://www.whatismyip.org/ instead of
      http://www.whatismyip.com/

Gerry Reno
    - Reported legacy knopwatchd.conf file in RPM package in fwknop-1.8.2.

Sean Greven
    - Submitted patch for enhanced 'fwknopd --debug' output to include raw hex
      dumps of SPA packet data before and after attempted decryption
      operation. This allows the integration of cipher implementations other
      than Crypt::Rijndael or GnuPG ciphers to be validated.
    - Contributed a UI written in Delphi that runs on Windows platforms and
      builds its own SPA packets without using the fwknop client.  This is an
      important development, since it proves that third-party UI integration
      is possible.
