TODO for arp_bomber Port to other platforms; stop ignoring most of what autoconf learns. (Although the ARP Bomber build process is autoconf-based, at this time ARP Bomber ignores almost everything autoconf discovers about your system. The product was developed on Solaris 7 with gcc 2.95.2, and has not been ported to other platforms. Despite the use of autoconf, the code merrily makes assumptions that are only valid on the development platform (and similar variations). The use of autoconf here is mostly to provide a framework in case the product is ported to other platforms in the future. Allow specification of the syslog facility name on the commandline? Add support for FDDI interfaces. Add support for some replacement for ethers(4) (and our backup mini_db_server) that supports mapping an Ethernet address to multiple names, instead of just to one name, and visa versa. (Or add support for a database that maps directly from an Ethernet address to all legal IP addresses it may use, and visa versa.) The intent is to be able to support clients that have multiple Ethernet addresses. Before doing this, the code that does address and name lookups needs to be pulled out of the analysis routine, into new modular service routines to hide their operation. The matching of Ether and IP addresses needs to be generalized to support the possibility that the lookup routines will return multiple names for an Ethernet address (or using the second database approach, return multiple IP addrs for an Ethernet address, and visa versa). The selection of which sort of database/algorithm to use should be configured from the config file; the current ethers(4) + DNS approach should continue to be available. Add support for multiple DNS domain names, instead of a single default DNS domain, for use when DNS-qualifying names retrieved from ethers(4). Replace calls to gethostbyname() and gethostbyaddr() with direct usage of res_* resolver routines. This would let us build without libbind, and all that interposing that library implies. Various arrays are sized statically at compile-time via defs in defaults.h. They need to be sized dynamically at runtime instead. There are configuration items in defaults.h that should change from compile-time settings to runtime settings in config file or commandline. If they must remain compile-time, then we must at least let you set them via 'configure' options rather than editing a source file.