$Id: CHANGELOG 2215 2009-02-18 04:46:51Z aturner $ 02/18/2009: Version 3.4.1 - Sendpacket method did not match documentation (#361) - Fix compile issue on systems without err.h (#363) - Fix tcpprep --mac not processing non-IPv4 packets (#369) - Always build tcpreplay w/ editing features as tcpreplay-edit (#372) - Fix potential tcpbridge issues under OS X & *BSD (#373) - Fix crash on 4 byte strictly aligned systems (#377) - Add MTU truncation to tcprewrite/tcpreplay-edit (#379) 01/15/2009: Version 3.4.0 - Add libdnet and remove libnet support for sending packets (#302) - Fix numerous 802.11 decoder bugs (#325) - Fix compile issue under Linux (#326) - Fix Mbps/sec nonsense (#327) - Fix tcprewrite crash when packets have no L3+ data (#328) - Clean up err.c/err.h code and improve performance for non-debug builds (#331) - Fix timesdiv() timer code (#332) - Improve high-performance packet sending via multiple packets/interval (#334) - Fix statistics report errors (#335) - Fix BPF filters not being used in tcpbridge (#336) - Improve tcpbridge performance (#337) - Only use two libpcap handles for tcpbridge (#338) - Fix autotools usage errors (#340) - Clean up 'make test' results (#341) - Update to AutoGen/AutoOpts 5.9.7 (#342) - Fix compiler warnings from GCC 4.2 (#344) - Fix numerous memory corruption bugs in libtcpedit DLT plugin code (#345) - Add support for editing IPv4 TOS/DiffServ/ECN (#348) - Update autotools to more recent versions (#349) - Report injection method via -V (#352) - Fix DLT_USER l2len check bug (#353) - Replace man2html w/ groff (#354) - Fix false pcap_inject() detection under Windows/Winpcap (#355) - tcpbridge now builds under Win32/Cygwin - libdnet is no longer an option for Win32/Cygwin (#57) - tcpbridge now supports --listnics (#357) 06/20/2008: Version 3.3.2 - Fix (again) tcpbridge --unidir assert error (#308) - Fix tcpbridge bug where all packets that were sent were all zeros - Fix tcpbridge not honoring --include/exclude flags (#311) - Fix ip_in_cidr() debug messages (#312) - Report packets which have timestamps which go backwards in time (#315) - Clean up --sleep-accel code to use options struct (#316) - Remove really old and out of date RPM .spec file (#317) - Warn when sending on non-Ethernet interface (#318) - Re-enable tcpreplay --listnics (#319) - Fix sendpacket always reporting using PF_PACKET, even when it doesn't (#322) - Fix major packet timing issue under old versions of glibc (#324) 05/17/2008: Version 3.3.1 - Fix limitation of PF_PACKET only supporting Ethernet (#123) - Fix (again) /dev/bpf detection in FreeBSD 8.0 (#292) - Document building code from Subversion under Cygwin (#304) - Fix --enable-force-* under Linux (#305) - Fix tcpbridge --unidir assert error (#308) 05/04/2008: Version 3.3.0 - Improve tcpreplay timing accuracy between packets (#41) - Add tcprewrite fragroute support (#42) - Fix tcprewrite --efcs option (#277) - Updated Win32/Cygwin documentation (#280) - Add dmalloc support (#282) - Fix tcpprep broken handling of VLAN tagged frames (#290) - Fix tcprewrite crash when cache file has NO_SEND packets (#291) - Fix /dev/bpf detection in FreeBSD 8.0 (#292) - Add tcprewrite --ttl editing option (#294) - Fix autoconf AM_PROG_CC_C_O warning (#295) - Add tcpprep --reverse option to split by matching client addresses (#297) - Update version of autoconf to 1.10.1 (#298) - Improved GNU Autogen detection and warnings (#299) - Track EAGAIN errors separately from ENOBUFS (#301) - Automatically detect Winpcap on Cygwin (#303) 01/23/2008: Version 3.2.5 - Fix linker error with --enable-tcpreplay-edit and --enable-dynamic-link (#288) - Fix compile errors with Sun Studio compiler (#286) 01/16/2008: Version 3.2.4 - Fix crash in tcpreplay when --enable-tcpreplay-edit (#281) - Display if --enable-tcpreplay-edit in -V (#283) 11/01/2007: Version 3.2.3 - Fix compile issue under Linux and other OS's (#275) 10/31/2007: Version 3.2.2 - Enable source MAC spoofing for OS X (#142, #151) * Tcpreplay now requires OS X 10.5 (Leopard) - Fix crash/memory access error with tcpreplay -N (#273) 10/25/2007: Version 3.2.1 - Fix tcprewrite segfault in 'make test' under Linux (#200) - Major performance improvement in tcpprep for large pcaps (#261) - Fix strsignal already defined error under Cygwin/Windows (#199) - Fix compile errors for older versions of GCC (#201) - Remove flowreplay code (#262) - Fix DLT rewrite code causing corrupted ethernet protocol type (#268) - Try to fix inet_aton() issue under Solaris (#260) 08/26/2007: Version 3.2 - Return a more useful error message when tcpprep fails (#187) - Add Tomahawk test tool client/server detection algorithm (#186) - Improved AutoGen support (#191) - Improved documentation (#164, #198) - Added Doxygen markup (#176) - configure now honors --with-tcpdump flag (#192) - configure now defaults to --enable-64bits which breaks backwards compatibility in certain situations. Use --disable-64bits if this concerns you (#195) - Use safe_free() to detect bugs earlier in development (#197) 07/19/2007: Version 3.1.1 - Upgrade libopts tearoff to 29:0:4 so that everyone else in the world can compile tcpreplay (#189) 07/18/2007: Version 3.1.0 - Add tcprewrite --srcmap & --dstmap for rewriting only source or destination IP's (#185) - ./configure now reports configuration at end (#155) - Fix svn:keywords (#160) - Optimize performance of dlt_en10mb plugin (#161) - Performance improvements on strictly aligned systems (#162) - Improve tcpprep error messages and handling (#163) - Add support for warnings in libtcpedit (#165) - Only use __attribute__((unused)) w/ GCC (#168) - Fix compile issues under Solaris (#178) - Gracefully handle systems w/o static libraries (#179) - Fix segfault when using BPF filters (#182) - Add additional DLT Plugins: - 802.11 (#103) - 802.11 w/ Radiotap (#177) 05/01/2007: Version 3.0.1 - Stop tcpreplay causing OS X WiFi from disassociating (#167) - --pnat incorrectly matched all IP addresses (#170) - Fix serious memory leak in core common library (#175) - Fix tcprewrite --enet-vlan on little endian systems (#174) - Bad pcap timestamps were causing excessive delays (#169) - Code cleanup (#173) 04/20/2007: Version 3.0 - By default, no longer try to use libnet. You must now specify --enable-libnet (#148) - Improve documentation (#30) - General code cleanup (#47) - Warn when GNU Autogen version < 5.9 (#153) - Remove support for pcap_snapshot_override which was never added to libpcap (#140) - Fix support for C99/GCC 4.3 "inline". Rely on -O3 for better performance. (#149) - Prioritize 64 bit libraries over 32 bit counterparts (#150) 04/14/2007: Version 3.0.RC1 - Fix tcpbridge and make it compile by default (#15) - Fix tcprewrite crash on little-endian systems (#127) - Gracefully handle broken pcap files where the snaplen < caplen (#130) - Note: Fix was made in libpcap and will be part of 0.9.6 - Fix numerous bugs with the sendpacket code (#137) - Add optional support for editing packets with tcpreplay (#61) - Fix 'make test' on little endian systems (#64) - tcprewrite -s is no longer endian dependent (#65) - /docs cleaned up (#66) - Fix detection/compile of libpcap. Now support versions >= 0.7.2 (#80, #144) - Add official support Cygwin/Win32 support (#110) - Clean up libpcap version code (#111) - Add support for interface alias names for Win32 (#113) - Warn user on DLT miss-match (#125) - Fix tcprewrite segfault with --fixlen=pad (#134) - Add loop/cache support for better performance (#136) - inline debugging code for better performance (#138) - configure now supports selecting injection method (#139) - Fix configure/compile errors under OpenBSD (#146) - Add tcpbridge --verbose mode (#28) - Fix compile issues under HP-UX & strictly aligned systems (#141) - --enable-dynamic-link supports 64bit libraries (#143) 03/22/2007: Version 3.0.beta13 - Fixed detection of IPv4 packets in libtcpedit on little-endian boxes (#115, #116) - Fixed TCP/UDP checksum calculation on little-endian boxes (#126) - Added --quiet flag to tcpreplay for Lothar (#109) - The --seed flag should now generate the same IPs on both little-endian & big-endian boxes (#65) - The --skipl2broadcast flag now works as documented (#112) - Adding L2 header for DLT_RAW encapsulated packets now works (#16) - Clean up documentation (#66, #75) - Start initial support for Win32 port (#110, #111) - Finish DLT plugin rewrite (#82) - Fix compile on systems without tcpdump installed 02/22/2007: Version 3.0.beta12 - Fix compile under RH ES 3.x (gcc 3.2.2) (#79) - Fix compile on MIPS, ARM, HPPA, etc (#81, #88) - Rewrite L2/DLT code in tcpedit/tcprewrite to be plugin based (#82) - Create Ethernet Plugin (#99) - Create User Plugin (#100) - Create Cisco HDLC Plugin (#101) - Create DLT_LINUX_SLL Plugin (#102) - Create DLT_RAW Plugin (#104) - Create DLT_NULL Plugin (#105) - Create DLT_LOOP Plugin (#106) - Properly decode ethernet frames when they are VLAN tagged (#84) - Do not install man2html (#85) - Add configure --disable-libopts-install option (#86) - Enhance tcpreplay --oneatatime (#90) - libtcpedit can now return warnings & errors (#92) - Fix tcpprep --include/exclude (#96) - Upgrade AutoGen tearoff (libopts) to latest version (5.9.0) (#97) - Don't do L4 checksums for non-fragment offset == 0 (#107) 08/07/2006: Version 3.0.beta11 - Fix distribution to ship missing src/tcpr.h (#73) - Add support to tcprewrite to alter output file DLT (#74) - Fix errors in 'make test' (little endian still broken) (#77) - Tweak Autogen .def files documentation (#78) 08/05/2006: Version 3.0.beta10 - tcpprep & tcprewrite no longer require root access (#3) - Develop wrapper API for libnet, libpcap, BPF and PF_PACKET (#4, #24) - Enhance do_sleep() to support looping for better accuracy (#6) - Prefer inet_pton over older, deprecated routines (#26) - Remove libnet as a requirement (#29) - Optionally don't rewrite broadcast/multicast IP/MAC addresses (#38) - Remove libnids dependancy for flowreplay (#55) - Fix build issues when libpcapnav is installed (#56) - Fix truncate feature not putting correct packet length in IP header (#59) - Internal error reporting fixes in libtcpedit (#60) - Support --enable-debug when building under gcc 3.x (#62) - tcpedit_stub.h wasn't being generated automatically from SVN (#63) - Fix 'make doxygen' (#67) - Fix some Makefile issues (#68) - tcprewrite --endpoints should require a cache file (#70) - Improve IP randomizer code to be more random (#71) 07/17/2006: Version 3.0.beta9 - Fix compile issue for users not having AutoOpts installed (#54) - Fix compile issue for users w/ AutoOpts 5.8.4 (upgrade to 5.8.4) 07/16/2006: Version 3.0.beta8 - Fix -M running in MBps rather then Mbps - Fix tcpbridge segfault/bus error reported by Steven Z. (Gerry) - Improve tcpbridge man page - Massive tcprewrite fixes & cleanup (#50) - Much improved README document - Reorganize packet editing code into a standalone module (tcpedit) which has been librarized. (#5) - Strict code cleanup (#27) - Fix tcpprep from generating bad cache files (#48) - Add MAC split mode for tcpprep (#1) - Improve dbg() to list file/line (#32) - Add tcpprep statistical reports (#2) - Reorganize flowreplay code (#46) - Fix conflicting speed_t for Debian (#33) - Too many other things to document 08/07/2005: Version 3.0.beta7 - New 'make doxygen' target builds pretty source code docs in docs/web/doxygen/html - Fix tcpprep auto/router mode which was sending all packets out the secondary interface - Fix endian issue on little-endian systems which made tcpprep think all packets were not IP - Improve debugability of tcpprep - Fix UDP header offset bug in flowreplay 06/28/2005: Version 3.0.beta6 - Fix rpm .spec file which was still based on tcpreplay 2.x (untested) - Detect and manually include pcap-bpf.h which fixes compile problem - Fix tcprewrite -S crash with only one MAC - Fix tcpreplay using 2nd NIC split mode - Fix tcpreplay packet counter initialization - Fix tcpprep to properly handle missing -i and -c with -I and -P 06/14/2005: Version 3.0.beta5 - Fix --decode flag - Fix compile under AMD64/RHEL4 where libraries are in /usr/lib64 - tarball now ships with a full test subdir - Fix compile of src/common/get.c under strictly aligned architectures - Fix ./configure --enable-64bits flag - Fix bug on little endian systems which prevented tcprewrite from editing packets - Fix tcprewrite linktype checks - Add --pktlen for when the pcap snaplen lies to us - Add --enable-dynamic-link for those who want to dynamically link their libs 06/05/2005: Version 3.0.beta4 - Really fix compile problems with dlt2desc with old versions of libpcap - All libraries are now statically linked and full-path #includes. This should fix problems with people who have different versions of libraries installed in different locations. - Fix problems compiling on systems with libpcapnav - Add support for libpcap 0.5 such as on OpenBSD - Fix tcpprep --verbose - Close STDIN prior to re-opening it for certain OS's 05/04/2005: Version 3.0.beta3 - Fix autoconf problems with --with-libnet - Fix compile problems with dlt2desc with old versions of libpcap - Fix compile problem due to not shipping flowreplay_opts.h and tcpbridge_opts.h 04/19/2005: Version 3.0.beta2 - Significant improvements to FAQ and manual - Use autoopts for flowreplay - Be more cautious about memcpy's - Fix numerous warnings during compile - Allow overriding L2 protocol field for DLT_RAW - tcpprep -I & -P now take the cache filename - Lots of cleanup - Added tcpbridge utility - Fix tcpreplay --mbps which was being interpreted as bps - Add --no-arg-comment feature for tcpprep - Improve auto-tests and fix old broken ones - Fix Makefile errors in the docs directory - Upgrade libopts tear off to v5.7pre12 which fixes problems with loading config files - Add support for forcing the use of the local libopts tearoff code 02/27/2005: Version 3.0.beta1 - Major code cleanups and rewriting - Rip out all edit functions from tcpreplay and put into tcprewrite - Improve tcpreplay performance by about 5% for raw sending - Move around utility functions for greater code-reuse - Move MAC Address funcs into mac.c - Move global defines into defines.h - Standardize use of structs and typedefs - Start passing const's when we don't need to modify - Start using GNU AutoOpts for arg/config file processing - Start using automake and autoheader - Major rewrite of configure.in - Add support for printing which interface packets go out - 64bit counters are optional via --enable-64bits - Can now rewrite L2 data per outbound interface - Add support for additional DLT types - Non-Code changes - I now own the full copyright for tcpreplay - Removed the evil 4th clause from the BSD license - Start updating the FAQ and split some content to make a manual - Automatically generate man pages based via autogen - New Applications: - tcprewrite - Removed Applications: (Ethereal has better utilities) - capinfo - pcapmerge - Merge fixes from 2.x/stable branch: - portmap.c endian bugs - edit_packet.c handle corrupted pcap's where caplen < len - configure now properly uses --with-libnet and --with-libpcap *** Fork 3.x Branch from v2.3.1 ***