Many thanks have to go to Michael Neuling, who wrote the first releasable cut of the IP chains code while working for me. Public apologies for nixing his result-caching idea, which Alan Cox later proposed and I have finally begun implementing, having seen the error of my ways.
Thanks to Alan Cox for his 24-hour EMail tech support, and encouragement.
Thanks to all the authors of the ipfw and ipfwadm code, especially Jos Vos. Standing on the shoulders of giants and all that... This applies to Linus Torvalds and all the kernel and userspace hackers as well.
Thanks to the diligent beta testers and bughunters, especially Jordan Mendelson, Shaw Carruthers, Kevin Moule, Dr. Liviu Daia, Helmut Adams, Franck Sicard, Kevin Littlejohn, Matt Kemner, John D. Hardin, Alexey Kuznetsov, Leos Bitto, Jim Kunzman, Gerard Gerritsen, Serge Sivkov, Andrew Burgess, Steve Schmidtke, Richard Offer, Bernhard Weisshuhn, Larry Auton, Ambrose Li, Pavel Krauz, Steve Chadsey, Francesco Potorti`, Alain Knaff, Casper Boden-Cummins and Henry Hollenberg.
People who do translations should put themselves at the top of the Thanks page, like so: `Special thanks to XXX, for translating everything exactly from my English.'. Then tell me about your translation so I can include it here.
Arnaud Launay, firstname.lastname@example.org: http://www.freenix.fr/unix/linux/HOWTO/IPCHAINS-HOWTO.html
Giovanni Bortolozzo, email@example.com: http://www.pluto.linux.it/ildp/HOWTO/IPCHAINS-HOWTO.html
Herman Rodríguez, firstname.lastname@example.org: http://netfilter.kernelnotes.org/ipchains/spanish/HOWTO.html