CHANGELOG 36 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774
  1. 08/26/2025 Version 4.5.2
  2. - C23 standard support (#977)
  3. - --fixlen use-after-free (#970)
  4. - gcc 15 out-of-tree build failure (#967)
  5. - better error handling for XDP send errors (#956)
  6. - stdbool.h not detected correctly (#947)
  7. - AF_XDP memory leaks (#935)
  8. - GitHub Actions CI failure (#933)
  9. - heap address leak in xX.c (#928)
  10. - TX_RING compile errors (#924)
  11. - continue on get_l2len_protcol() is zero (#911)
  12. - --infile and --outfile cannot be the same file (#914)
  13. - fix building on OpenBSD (#907)
  14. - fixup the libpcap search loops (#905)
  15. - tcprewrite crash on Juniper crafted packet (#902 #926)
  16. - support for IPv6 fragment checksums (#897)
  17. - AF_XDP sends at near full speed (#896)
  18. - TX_RING link errors on some platforms (#731 #904)
  19. - IPv6 header version check incorrect for flow stats (#899)
  20. - tcprewrite --portmap syntax error causes crash (#894)
  21. - gcc 4.4.4 fails build on FreeBSD (#809)
  22. - MAC address sometimes corruptly altered on tcprewrite --seed option (#794 #901)
  23. 07/12/2024 Version 4.5.1
  24. - NULL Pointer Dereference in parse_endpoints (#888)
  25. - tcpreplay --include / --exclude to control which packets are replayed (#884)
  26. - add -W (--suppress-warnings) option to suppress warning messages (#878)
  27. - AF_XDP compile issue due to merge issue (#876)
  28. - memory leak in tcpprep when using include/exclude (#869)
  29. - memory leak in tcpprep when using RegEx (#867)
  30. - fix nanosecond timestamp regression bug (#863)
  31. - autotools - AC_HELP_STRING is obsolete in 2.70 (#856)
  32. - add -w output.pcap command line option to direct the output to a pcap (#853)
  33. - configure.ac: do not run conftest in case of cross compilation (#849)
  34. - Haiku support (#847)
  35. - --fixhdrlen option added to control action on packet length changes (#846)
  36. - incorrect checksum for certain IPv4 packets - fixed by #846 (#844)
  37. - add check for IPv6 extension header length (#827 #842)
  38. - GitHub template for pull requests (#839)
  39. - improved 802.3 (Ethernet I) handling and warning messages (#835)
  40. - handle IPv6 fragment extension header (#832 #837)
  41. - Linux tap interfaces fail intermittently (#828)
  42. - CVE-2024-22654 CVE-2024-3024Infinite loop in tcprewrite at get.c (#827 #842)
  43. - SLL incorrect size and protocol when converted to Ethernet (#826)
  44. - CVE-2023-43279 add check for empty CIDR (#824 #843)
  45. - AF_XDP socket extension (#822 #823)
  46. - configure.ac: unify search dirs for pcap and add lib32 (#819)
  47. - tcpreplay-edit recomputes IPv4 checksums unnecessarily (#815 #846)
  48. - CVE-2023-4256 double free in tcprewrite DLT_JUNIPER_ETHER (#813 #851)
  49. - dlt_jnpr_ether_cleanup: check config before cleanup (#812 #851)
  50. - SEGV on invalid Juniper Ethernet header length (#811)
  51. - nanosecond timestamps support (#796)
  52. - Linux cooked packet fatal error (#792)
  53. - low PPS values run at full speed after several days (#779)
  54. - create DLT_LINUX_SLL2 plugin (#727)
  55. 06/04/2023 Version 4.4.4
  56. - overflow check fix for parse_mpls (#795)
  57. - tcpreplay-edit: prevent L2 flooding of ipv6 unicast packets (#793)
  58. - CVE-2023-27784 CVE-2023-27785 CVE-2023-27786 CVE-2023-27787 CVE-2023-27788 CVE-2023-27789
  59. bugs caused by strtok_r (#782 #784 #785 #786 #787 #788)
  60. - CVE-2023-27783 reachable assert in tcpedit_dlt_cleanup (#780)
  61. - add CI and C/C++ Linter and CodeQL (#773)
  62. - reachable assert in fast_edit_packet (#772)
  63. 01/01/2023 Version 4.4.3
  64. - upgrade autogen/libopts to version 5.18.16 (#759)
  65. - avoid implicit int in configure.ac (#757)
  66. - remove invalid assert in tree (#756)
  67. - program exit after send error (#751)
  68. - make libpcap version test more robust (#750)
  69. - looping inflates some packet counters (#749)
  70. 08/28/2022 Version 4.4.2
  71. - fix tests when building in a directory outside source tree (#767)
  72. - remove autogen.sh from distribution tarballs (#745)
  73. - CVE-2022-37048 heap-overflow in get_l2len_protocol (#735)
  74. - replaying on a loopback interface is broken (#732)
  75. - replay edit with both --loop and --preload_pcap options (#729)
  76. - test suite bus error on armhf (#725)
  77. - CVE-2022-28487 format string vulnerability in fix_ipv6_checksums (#723)
  78. - CVE-2022-27942 heap-overflow in parse_mpls (#719)
  79. - CVE-2022-27940 CVE-2022-37047 CVE-2022-37049 heap-overflow in get_ipv6_next (#718)
  80. - CVE-2022-27939 reachable assertion in get_layer4_v6 (#717)
  81. - CVE-2022-25484 CVE-2022-27941 heap buffer overflow in get_l2len_protocol (#716)
  82. - remove bash-only test in configure script (#714)
  83. 02/12/2022 Version 4.4.1
  84. - fix support for piping PCAP files from STDIN (#708)
  85. - build failures Debian/kfreebsd (#706)
  86. - bus error when building on armhf (#705)
  87. - typo fixes (#704)
  88. - CVE-2022-27418 heap buffer overflow in tcpreplay (#703)
  89. - CVE-2022-27416 double free in Juniper DLT (#702)
  90. 01/31/2022 Version 4.4.0
  91. - remove obsolete FORCE_ALIGN support to fix macOS 11 compile (#695)
  92. - add a security policy document (#689)
  93. - CVE-2021-45386 CVE-2021-45387 two reachable assertions in add_tree_ipv4() and add_tree_ipv6() (#687 #678)
  94. - ability to specify directory of pcap files (#682)
  95. - incorrect PPS rate for long-running sessions (#679)
  96. - option --skipbroadcast not working (#677 #678)
  97. - revert #630 to fix --multiplier issues (#674)
  98. - gcc 9.3 compiler warnings (#670)
  99. - installed netmap not automatically detected (#669)
  100. - latest macOS SDK selected by default (#668)
  101. - heap-buffer-overflow with flow_decode() (#665)
  102. - add feature VLAN Q-in-Q (#625)
  103. - add feature update Ethernet MAC on multicast IP (#563)
  104. 04/01/2021 Version 4.3.4
  105. - ASAN reports memory leaks while running tests (#662)
  106. - local libopts compiler warnings (#658)
  107. - DLT name for DLT_C_JNPR_ETHER in documentation (#649)
  108. - clean up new_cidr_map() string manipulation on error exit (#648)
  109. - fix gcc 8.3.0 build warnings (#634)
  110. - invalid --pps value protection (#632)
  111. - packets slowly drift further and further behind when they should be sent (#630)
  112. - 64 bit rollover can cause pps replay issues after several hours (#629)
  113. - typo fixes (#626) (#627)
  114. - DLT_NULL/DLT_LOOP support for cross-platform PF_INET6 (#624)
  115. - armv5 Freescale compile (#623)
  116. - heap buffer overflow in tcpreplay fast_edit_packet (#620)
  117. - heap buffer overflow in tcpreplay get_next_packet (#619)
  118. - CVE-2020-24266 heap buffer overflow in tcpprep get_l2len (#617)
  119. - CVE-2020-24265 heap buffer overflow in tcpprep (#616)
  120. - fix UNUSED macro declaration (#614)
  121. - handle malformed and unsupported packets as soft errors (#613)
  122. - compile failure on aarch64-linux-android (#612)
  123. - tcprewrite --fixlen not working on DLT conversion (#582)
  124. - fix configure --without-libdnet (#567)
  125. - ensure automake version is at least 1.15 (#553)
  126. - with multiplier option only first file can be sent and hang (#472)
  127. - do not create tap0 if device already exists (#411) (#651)
  128. 05/20/2020 Version 4.3.3
  129. - Increase cache buffers size to accomodate VLAN edits (#594)
  130. - CVE-2018-20553 Correct L2 header length calculations so that IP header offset is correct (#584)
  131. - Correct L2 header length to correct IP header offset (#583)
  132. - Fix warnings from gcc version 10 (#580)
  133. - CVE-2020-23273 Heap Buffer Overflow in randomize_iparp (#579)
  134. - Use after free in get_ipv6_next (#578)
  135. - CVE-2020-12740 Heap Buffer Overflow in git_ipv6_next (#576)
  136. - Call pcap_freecode() on pcap_compile() (#572)
  137. - Increase max snaplen to 262144 (#571)
  138. - Fix divide by zero in fuzzing (#570)
  139. - Unique IP repeats at very high iteration counts (#566)
  140. - Fails to compile on FreeBSD amd64 13.0 (#558)
  141. - CVE-2020-18976 Heap Buffer Overflow in do_checksum (#556) (#577)
  142. - Attempt to correct corrupt pcap files, if possible (#557)
  143. - Fix GCC v10 warnings (#555)
  144. - Remove some duplicated SOURCES entries (#551)
  145. - Expand /dev/bpfX hard limit to fix macOS Mojave (#550)
  146. - Implement --loopdelay-ms when using --loop=0 (#546)
  147. - CVE-2018-20552 Heap overflow packet2tree and get_l2len (#530)
  148. 03/12/2019 Version 4.3.2
  149. - CVE-2019-8381 memory access in do_checksum() (#538)
  150. - CVE-2019-8376 NULL pointer dereference get_layer4_v6() (#537)
  151. - CVE-2019-8377 NULL pointer dereference get_ipv6_l4proto() (#536)
  152. - Rename Ethereal to Wireshark (#545)
  153. 12/27/2018 Version 4.3.1
  154. - Fix checkspell detected typos (#531)
  155. 11/10/2018 Version 4.3.0
  156. - Fix maxOS TOS checksum failure (#524)
  157. - TCP sequence edits seeding (#514)
  158. - Fix issues identifed by Codacy (#493)
  159. - CVE-2018-18408 use-after-free in post_args (#489)
  160. - CVE-2018-18407 heap-buffer-overflow csum_replace4 (#488)
  161. - CVE-2018-17974 heap-buffer-overflow dlt_en10mb_encode (#486)
  162. - CVE-2018-17580 heap-buffer-overflow fast_edit_packet (#485)
  163. - CVE-2018-17582 heap-buffer-overflow in get_next_packet (#484)
  164. - Out-of-tree build (#482)
  165. - CVE-2018-13112 heap-buffer-overflow in get_l2len (#477 dup #408)
  166. - Closing stdin on pipe (#479)
  167. - Second pcap file hangs on multiplier option (#472)
  168. - Jumbo frame support for fragroute option (#466)
  169. - TCP sequence edit ACK corruption (#451)
  170. - TCP sequence number edit initial SYN packet should have zero ACK (#450)
  171. - Travis CI build fails due to new build images (#432)
  172. - Upgrade libopts to 5.18.12 to address version build issues (#430)
  173. - Add ability to change tcp SEQ/ACK numbers (#425)
  174. - Hang using loop and netmap options (#424)
  175. - tcpprep -S not working for large cache files (#423)
  176. - Unable to tcprewrite range of ports with --portmap (#422)
  177. - --maxsleep broken for values less than 1000 (#421)
  178. - -T flag breaks traffic replay timing (#419)
  179. - Respect 2nd packet timing (#418)
  180. - Avoid non-blocking behaviour when using STDIN (#416)
  181. - pcap containing >1020 packets produces invalid cache file (#415)
  182. - manpage typos (#413)
  183. - Fails to open tap0 on Zephyr (#411)
  184. - Heap-buffer-overflow in get_l2protocol (#410)
  185. - Heap-buffer-overflow in packet2tree (#409)
  186. - Heap-buffer-overflow in get_l2len (#408)
  187. - Heap-buffer-overflow in flow_decode (#407)
  188. - Rewrite zero IP total length field to match the actual packet length (#406)
  189. - Stack-buffer-overflow in tcpcapinfo (#405)
  190. - tcpprep --include option does not exclude (#404)
  191. - Negative-size-param memset in dlt_radiotap_get_80211 (#402)
  192. - tcpeplay --verbose option not working (#398)
  193. - Fix replay when using --with-testnic (#178)
  194. 05/10/2017 Version 4.2.6
  195. - Test fails on sparc64 (#393)
  196. 05/02/2017 Version 4.2.5
  197. - Fix issues found by scan-build (#384)
  198. - Improve --portmap help message (#381)
  199. - AFL detected security crash in fuzz feature (#380)
  200. - Coverity static scan detected issues (#374)
  201. - Fuzz should not be overwritting Layer 3 (#372)
  202. - Add --fuzz-factor option to specify fuzz ratio (#371)
  203. - Warnings when building on old distributions (#368)
  204. - Fix more Lintian detected spelling errors (#365)
  205. - Fuzz test failure on ARM and MIPS (#364)
  206. 04/26/2017 Version 4.2.4
  207. - Fix Lintian detected spelling errors (#362)
  208. 04/12/2017 Version 4.2.3
  209. - Archive (remove) QuickTX until maintainer found (#357)
  210. - Ubuntu precise 32bit_build (#356)
  211. 03/08/2017 Version 4.2.2
  212. - Archive (remove) QuickTX (#357)
  213. - Missing symbol pcap_version on macOS 10.12.4 (#356)
  214. 03/23/2017 Version 4.2.1
  215. - Fix reporting of rates < 1Mbps (#348)
  216. - Option --unique-ip not working properly (#346)
  217. 02/26/2017 Version 4.2.0
  218. - MAC rewriting capabilities (#313)
  219. - Fix several issues identified by Coverity (#305)
  220. - Packet destortion --fuzz-seed option by Gabriel Ganne (#302)
  221. - Add --unique-ip-loops option to modify IPs every few loops (#296)
  222. - Netmap startup delay increase (#290)
  223. - CVE-2017-6429 tcpcapinfo buffer overflow vulnerablily (#278)
  224. - Update git-clone instructions by Kyle McDonald (#277)
  225. - Allow fractions for --pps option (#270)
  226. - Print per-loop stats with --stats=0 (#269)
  227. - Add protection against packet drift by Guillaume Scott (#268)
  228. - Print flow stats periodically with --stats output (#262)
  229. - Include Travis-CI build support by Ilya Shipitsin (#264) (#285)
  230. - tcpreplay won't replay all packets in a pcap file with --netmap (#255)
  231. - First and last packet times in --stats output (#239)
  232. - Switch to wire speed after 30 minutes at 6 Gbps (#210)
  233. - tcprewrite fix checksum properly for fragmented packets (#190)
  234. 11/19/2016 Version 4.1.2
  235. - Fix compilation with musl C library (#260)
  236. - Support parallel builds (#259)
  237. - Give user CFLAGS precedence (#256)
  238. - Properly detect Brew install when Xcode is not available (#254)
  239. - CVE-2016-6160 Increase max packet size to 65549 (#251)
  240. - Handle IP headers with zero length (#247)
  241. 01/11/2016 Version 4.1.1
  242. - Improve --pps accuracy and performance (#236)
  243. - Option --unique-ip accepts --duration (#227)
  244. - RFC1624 incremental checksums (#225)
  245. - Option --duration performance optimizations (#223)
  246. - Correct company name in license (#217)
  247. - Compile and mult-arch cross-compile on ARM (#211)
  248. - Tap device support for Linux and FreeBSD from Murat Demirten (#207)
  249. - Handle loopback for linux cooked capture files from corentin-p1(Linux SLL) (#204)
  250. - Master doesn't compile on OS X 10.11 (#203)
  251. - Recognise tbd stubs from Dominyk Tiller (#202)
  252. - Support for tcprewrite multiple IP CIDR (#199)
  253. - Fix incorrect checksums after editing fragmented packets (#190)
  254. - Option --loop=0 full wire wire speed after 1st pass (#172 #191)
  255. - Big-endian tcpliveplay work-around from Brian Micek (#194)
  256. - Build OS X using existing XCode SDK (#185)
  257. - Update to autogen version 5.18.6 and libopts 46.0.16 (#182)
  258. - netmap reports impossibly high capacity (#176)
  259. - Duration feature from dexteradeus (#175)
  260. - Stop sending and exit when limit is reached (#174)
  261. - Extra packets sent with -L option (#173)
  262. - Buffer overflow bug in tcpprep (#167)
  263. - netmap optimizations (#93)
  264. 12/17/2014 Version 4.1.0
  265. - Do not build Quick TX modules on OS X (#164)
  266. - Add a flag to customize netmap delay (#160)
  267. - Fix some compile wwarnings (#159)
  268. - Disabled QuickTX build by default (#157)
  269. - Less verbose build (#154)
  270. - Add a loop delay option (#125)
  271. - CentOS 6.5 kernel panic on Quick TX init (#146)
  272. - Fix libpcap not found on CentOS 7 (#145)
  273. - Segfault in tcpliveplay on x86_64 (#132)
  274. - Sometimes unable to interrupt with Ctrl-C (#129)
  275. 10/08/2014 Version 4.1.0beta1
  276. - Fix cross compiling (#140)
  277. - Add Quick TX module for Linux (#136)
  278. - Better recovery for missing static libpcap libs (#128)
  279. 09/05/2014 Version 4.0.5
  280. - Fix build failure with latest netmap 11 (#123)
  281. - Fix unable to use Zero Copy interfaces on PF_RING (#118)
  282. - Corrected build for latest version of PF_RING (#81)
  283. - Proper error message when vale is unconfigured (#113)
  284. - Avoid a netmap module debug message (#110)
  285. - Add missing header to distribution (#108)
  286. - Make --netmap version agnostic (#106)
  287. - Fix netmap hang in FreeBSD 11 (#103)
  288. - Fix netmap hang if network cables unplugged (#96)
  289. - Support for Vale Switch (#91)
  290. - Prevent file retransmissions when selecting multiple files (#86)
  291. - Fix max replay rate for all loops except first when omitting --mbps (#85)
  292. - Add missing sanity check in libopt (#84)
  293. - Seg fault on some IPv6 files when using -C option with tcprewrite (#83)
  294. - Support for PF_RING DNA version of libpcap (#81)
  295. - Fix segfault when using '-F pad' (#80)
  296. - Disallow netmap on multiple interfaces (#79)
  297. - Fix build for FreeBSD version 8.4 (#78)
  298. 03/22/2014 Version 4.0.4
  299. - Number of packets inaccurate when using --netmap method (#76)
  300. - Unexpected packet counts with --loop and --cachefile enabled (#75)
  301. - Improved error messages when interface is a file (#74)
  302. - Missing interfaces with --listnics option (#67)
  303. - Compile issue with netmap v10 and debugging (#66)
  304. - Bad values with --stats and -t options (#65)
  305. 02/04/2014 Version 4.0.3
  306. - Fix build errors when ENABLE_VERBOSE is not set (#60)
  307. - Build error on host without tcpdump (#59)
  308. 01/17/2014 Version 4.0.2
  309. - Fix hangs with --mbps command (#54)
  310. 01/16/2014 Version 4.0.1
  311. - Support for netmap version 10 API (#53)
  312. - Remove deprecated "absolute time" for OS X (#52)
  313. - Make dosleep() rentrant to support API concurrency (#51)
  314. - Remove compiler warnings (#50)
  315. - Fix slow netmap in Intel GigE "igb" server NICS (#49)
  316. 01/05/2014 Version 4.0.0
  317. - Implemented wiki page for 4.X - http://tcpreplay.appneta.com
  318. - Support for ARM aarch64 (appneta #43)
  319. - Add Juniper Encapsulated Ethernet DLT (appneta #42)
  320. - Fixed seg fault on -K and --dualfile options (appneta #41)
  321. 12/22/2013 Version 4.0.0beta2
  322. - Restored -K option which somehow disappeared (appneta #35)
  323. - Improve printing with small pcaps at high rates (appneta #34)
  324. - Fixed build errors on BSD and Fedora 20 (appneta #32 #33)
  325. 12/20/2013 Version 4.0.0beta1
  326. - Compile and cross compile on ARM (appneta #26)
  327. - Add flow statistics (appneta #23)
  328. - Merge code cleanups from old 4.0alpha1 project (appneta #18)
  329. - Deprecated file-cache option - use preload-pcap instead (appneta #17)
  330. - Removed obsolete sleep-mode and sleep-accel options (appneta #16)
  331. - Remove unreliable RDTSC option (appneta #16)
  332. - Switch from BSD to GPLv3 license (appneta #5)
  333. - Add --unique-ip option to tcpreplay (appneta #4)
  334. - Removed sleep-accel option (appneta #2)
  335. - Enhance accuracy and performance of --mbps option (appneta #2)
  336. - Add netmap injector (appneta #1)
  337. - Properly process IPv6 extension headers (#396)
  338. - Update URL's to point to new tcpreplay website (#430)
  339. - Improve & fix bugs in tcpcapinfo (#437)
  340. - Fix statistics to be more industry standard (#443)
  341. - Add --nofixcsum (#449)
  342. - Fix compile failure under FreeBSD 9.0 (#450)
  343. - Don't checksum packets before going through fragroute engine (#452)
  344. - Add support for --maxsleep option to tcpreplay (#453)
  345. - Fix segfault when rewriting multiple ports (#459)
  346. - Fix bug with printing stats after CTRL-C (#482)
  347. - Update autotools (#483)
  348. - Don't recalculate UDP checksums if it's value is 0 (#490)
  349. - Fix documentation of --efcs option to be 4, not 2 bytes (#495)
  350. - Fix libdnet header detection under Debian distros (#499)
  351. - Update GNU Autogen to 5.11.5 (#501)
  352. - Fix --stats option for tcpreplay (#503)
  353. - Add support for injecting directly via custom Linux kernel module (#505)
  354. - Fix cidr code debugging (#506)
  355. - Standardize on primary/secondary meaning of interfaces/tcpprep split (#507)
  356. 08/15/2010 Version 3.4.5beta1
  357. - First pass at fixing 'make test' on many little-endian systems (#429)
  358. - Warn users when processing LINUX_SLL frames w/o an Ethernet source MAC (#434)
  359. - Don't try to fragroute non-IPv4/v6 packets so we don't error out (#432)
  360. - Initial Linux TX_RING sending support (#435)
  361. - Update to GNU Autoconf 2.67 (#436)
  362. - Add tcpcapinfo which dumps information about the pcap header/packets (#437)
  363. - Add --dualfile support for replaying two files at the same time (#439)
  364. - Fix bug where --tos=0 didn't do anything (#440)
  365. - Fix crash when processing CIDR data (#441)
  366. 04/04/2010 Version 3.4.4
  367. - Set default timing method to either gtod or abstime (#404)
  368. - Fix IPv6 parsing of CIDR's (#405)
  369. - Add support for preloading the memory cache (#410)
  370. - Generate more useful error when packets are too small (#411)
  371. - Update to libopts/Autogen 5.9.9 (#412)
  372. - Ship Win32Readme.txt file (#413)
  373. - Update copyright notice to 2010 (#416)
  374. - Dramatically enhance --portmap option (#417)
  375. - Update autotools (#423)
  376. - Add support for printing statistics periodically during the run (#424)
  377. - Warn user when pcap snaplen < 65535 (#425)
  378. - Add 802.1q processing support tcpprep (#428)
  379. 06/25/2009: Version 3.4.3
  380. - Link libnl when newer versions of libpcap require it (#397)
  381. - Ship m4 directory (#398)
  382. - Upgrade to latest autotools scripts (#400)
  383. - Fix error message when running autogen.sh (#401)
  384. 05/20/2009: Version 3.4.2
  385. - Added extensive IPv6 support to tcprewrite & tcpreplay-edit (#11)
  386. - Add IPv6 fragroute support (#388)
  387. - Add IPv6 decoding support to tcpprep (#11)
  388. - Fix compile time error in err.h (#390)
  389. - Add --endpoints support in tcpreplay-edit (#393)
  390. 02/18/2009: Version 3.4.1
  391. - Sendpacket method did not match documentation (#361)
  392. - Fix compile issue on systems without err.h (#363)
  393. - Fix tcpprep --mac not processing non-IPv4 packets (#369)
  394. - Always build tcpreplay w/ editing features as tcpreplay-edit (#372)
  395. - Fix potential tcpbridge issues under OS X & *BSD (#373)
  396. - Fix crash on 4 byte strictly aligned systems (#377)
  397. - Add MTU truncation to tcprewrite/tcpreplay-edit (#379)
  398. 01/15/2009: Version 3.4.0
  399. - Add libdnet and remove libnet support for sending packets (#302)
  400. - Fix numerous 802.11 decoder bugs (#325)
  401. - Fix compile issue under Linux (#326)
  402. - Fix Mbps/sec nonsense (#327)
  403. - Fix tcprewrite crash when packets have no L3+ data (#328)
  404. - Clean up err.c/err.h code and improve performance for non-debug builds (#331)
  405. - Fix timesdiv() timer code (#332)
  406. - Improve high-performance packet sending via multiple packets/interval (#334)
  407. - Fix statistics report errors (#335)
  408. - Fix BPF filters not being used in tcpbridge (#336)
  409. - Improve tcpbridge performance (#337)
  410. - Only use two libpcap handles for tcpbridge (#338)
  411. - Fix autotools usage errors (#340)
  412. - Clean up 'make test' results (#341)
  413. - Update to AutoGen/AutoOpts 5.9.7 (#342)
  414. - Fix compiler warnings from GCC 4.2 (#344)
  415. - Fix numerous memory corruption bugs in libtcpedit DLT plugin code (#345)
  416. - Add support for editing IPv4 TOS/DiffServ/ECN (#348)
  417. - Update autotools to more recent versions (#349)
  418. - Report injection method via -V (#352)
  419. - Fix DLT_USER l2len check bug (#353)
  420. - Replace man2html w/ groff (#354)
  421. - Fix false pcap_inject() detection under Windows/Winpcap (#355)
  422. - tcpbridge now builds under Win32/Cygwin
  423. - libdnet is no longer an option for Win32/Cygwin (#57)
  424. - tcpbridge now supports --listnics (#357)
  425. 06/20/2008: Version 3.3.2
  426. - Fix (again) tcpbridge --unidir assert error (#308)
  427. - Fix tcpbridge bug where all packets that were sent were all zeros
  428. - Fix tcpbridge not honoring --include/exclude flags (#311)
  429. - Fix ip_in_cidr() debug messages (#312)
  430. - Report packets which have timestamps which go backwards in time (#315)
  431. - Clean up --sleep-accel code to use options struct (#316)
  432. - Remove really old and out of date RPM .spec file (#317)
  433. - Warn when sending on non-Ethernet interface (#318)
  434. - Re-enable tcpreplay --listnics (#319)
  435. - Fix sendpacket always reporting using PF_PACKET, even when it doesn't (#322)
  436. - Fix major packet timing issue under old versions of glibc (#324)
  437. 05/17/2008: Version 3.3.1
  438. - Fix limitation of PF_PACKET only supporting Ethernet (#123)
  439. - Fix (again) /dev/bpf detection in FreeBSD 8.0 (#292)
  440. - Document building code from Subversion under Cygwin (#304)
  441. - Fix --enable-force-* under Linux (#305)
  442. - Fix tcpbridge --unidir assert error (#308)
  443. 05/04/2008: Version 3.3.0
  444. - Improve tcpreplay timing accuracy between packets (#41)
  445. - Add tcprewrite fragroute support (#42)
  446. - Fix tcprewrite --efcs option (#277)
  447. - Updated Win32/Cygwin documentation (#280)
  448. - Add dmalloc support (#282)
  449. - Fix tcpprep broken handling of VLAN tagged frames (#290)
  450. - Fix tcprewrite crash when cache file has NO_SEND packets (#291)
  451. - Fix /dev/bpf detection in FreeBSD 8.0 (#292)
  452. - Add tcprewrite --ttl editing option (#294)
  453. - Fix autoconf AM_PROG_CC_C_O warning (#295)
  454. - Add tcpprep --reverse option to split by matching client addresses (#297)
  455. - Update version of autoconf to 1.10.1 (#298)
  456. - Improved GNU Autogen detection and warnings (#299)
  457. - Track EAGAIN errors separately from ENOBUFS (#301)
  458. - Automatically detect Winpcap on Cygwin (#303)
  459. 01/23/2008: Version 3.2.5
  460. - Fix linker error with --enable-tcpreplay-edit and --enable-dynamic-link (#288)
  461. - Fix compile errors with Sun Studio compiler (#286)
  462. 01/16/2008: Version 3.2.4
  463. - Fix crash in tcpreplay when --enable-tcpreplay-edit (#281)
  464. - Display if --enable-tcpreplay-edit in -V (#283)
  465. 11/01/2007: Version 3.2.3
  466. - Fix compile issue under Linux and other OS's (#275)
  467. 10/31/2007: Version 3.2.2
  468. - Enable source MAC spoofing for OS X (#142, #151)
  469. * Tcpreplay now requires OS X 10.5 (Leopard)
  470. - Fix crash/memory access error with tcpreplay -N (#273)
  471. 10/25/2007: Version 3.2.1
  472. - Fix tcprewrite segfault in 'make test' under Linux (#200)
  473. - Major performance improvement in tcpprep for large pcaps (#261)
  474. - Fix strsignal already defined error under Cygwin/Windows (#199)
  475. - Fix compile errors for older versions of GCC (#201)
  476. - Remove flowreplay code (#262)
  477. - Fix DLT rewrite code causing corrupted ethernet protocol type (#268)
  478. - Try to fix inet_aton() issue under Solaris (#260)
  479. 08/26/2007: Version 3.2
  480. - Return a more useful error message when tcpprep fails (#187)
  481. - Add Tomahawk test tool client/server detection algorithm (#186)
  482. - Improved AutoGen support (#191)
  483. - Improved documentation (#164, #198)
  484. - Added Doxygen markup (#176)
  485. - configure now honors --with-tcpdump flag (#192)
  486. - configure now defaults to --enable-64bits which breaks backwards
  487. compatibility in certain situations. Use --disable-64bits if this
  488. concerns you (#195)
  489. - Use safe_free() to detect bugs earlier in development (#197)
  490. 07/19/2007: Version 3.1.1
  491. - Upgrade libopts tearoff to 29:0:4 so that everyone else in the world can
  492. compile tcpreplay (#189)
  493. 07/18/2007: Version 3.1.0
  494. - Add tcprewrite --srcmap & --dstmap for rewriting only source or destination IP's (#185)
  495. - ./configure now reports configuration at end (#155)
  496. - Fix svn:keywords (#160)
  497. - Optimize performance of dlt_en10mb plugin (#161)
  498. - Performance improvements on strictly aligned systems (#162)
  499. - Improve tcpprep error messages and handling (#163)
  500. - Add support for warnings in libtcpedit (#165)
  501. - Only use __attribute__((unused)) w/ GCC (#168)
  502. - Fix compile issues under Solaris (#178)
  503. - Gracefully handle systems w/o static libraries (#179)
  504. - Fix segfault when using BPF filters (#182)
  505. - Add additional DLT Plugins:
  506. - 802.11 (#103)
  507. - 802.11 w/ Radiotap (#177)
  508. 05/01/2007: Version 3.0.1
  509. - Stop tcpreplay causing OS X WiFi from disassociating (#167)
  510. - --pnat incorrectly matched all IP addresses (#170)
  511. - Fix serious memory leak in core common library (#175)
  512. - Fix tcprewrite --enet-vlan on little endian systems (#174)
  513. - Bad pcap timestamps were causing excessive delays (#169)
  514. - Code cleanup (#173)
  515. 04/20/2007: Version 3.0
  516. - By default, no longer try to use libnet. You must now specify --enable-libnet (#148)
  517. - Improve documentation (#30)
  518. - General code cleanup (#47)
  519. - Warn when GNU Autogen version < 5.9 (#153)
  520. - Remove support for pcap_snapshot_override which was never added to libpcap (#140)
  521. - Fix support for C99/GCC 4.3 "inline". Rely on -O3 for better performance. (#149)
  522. - Prioritize 64 bit libraries over 32 bit counterparts (#150)
  523. 04/14/2007: Version 3.0.RC1
  524. - Fix tcpbridge and make it compile by default (#15)
  525. - Fix tcprewrite crash on little-endian systems (#127)
  526. - Gracefully handle broken pcap files where the snaplen < caplen (#130)
  527. - Note: Fix was made in libpcap and will be part of 0.9.6
  528. - Fix numerous bugs with the sendpacket code (#137)
  529. - Add optional support for editing packets with tcpreplay (#61)
  530. - Fix 'make test' on little endian systems (#64)
  531. - tcprewrite -s is no longer endian dependent (#65)
  532. - /docs cleaned up (#66)
  533. - Fix detection/compile of libpcap. Now support versions >= 0.7.2 (#80, #144)
  534. - Add official support Cygwin/Win32 support (#110)
  535. - Clean up libpcap version code (#111)
  536. - Add support for interface alias names for Win32 (#113)
  537. - Warn user on DLT miss-match (#125)
  538. - Fix tcprewrite segfault with --fixlen=pad (#134)
  539. - Add loop/cache support for better performance (#136)
  540. - inline debugging code for better performance (#138)
  541. - configure now supports selecting injection method (#139)
  542. - Fix configure/compile errors under OpenBSD (#146)
  543. - Add tcpbridge --verbose mode (#28)
  544. - Fix compile issues under HP-UX & strictly aligned systems (#141)
  545. - --enable-dynamic-link supports 64bit libraries (#143)
  546. 03/22/2007: Version 3.0.beta13
  547. - Fixed detection of IPv4 packets in libtcpedit on little-endian boxes (#115, #116)
  548. - Fixed TCP/UDP checksum calculation on little-endian boxes (#126)
  549. - Added --quiet flag to tcpreplay for Lothar (#109)
  550. - The --seed flag should now generate the same IPs on both little-endian & big-endian boxes (#65)
  551. - The --skipl2broadcast flag now works as documented (#112)
  552. - Adding L2 header for DLT_RAW encapsulated packets now works (#16)
  553. - Clean up documentation (#66, #75)
  554. - Start initial support for Win32 port (#110, #111)
  555. - Finish DLT plugin rewrite (#82)
  556. - Fix compile on systems without tcpdump installed
  557. 02/22/2007: Version 3.0.beta12
  558. - Fix compile under RH ES 3.x (gcc 3.2.2) (#79)
  559. - Fix compile on MIPS, ARM, HPPA, etc (#81, #88)
  560. - Rewrite L2/DLT code in tcpedit/tcprewrite to be plugin based (#82)
  561. - Create Ethernet Plugin (#99)
  562. - Create User Plugin (#100)
  563. - Create Cisco HDLC Plugin (#101)
  564. - Create DLT_LINUX_SLL Plugin (#102)
  565. - Create DLT_RAW Plugin (#104)
  566. - Create DLT_NULL Plugin (#105)
  567. - Create DLT_LOOP Plugin (#106)
  568. - Properly decode ethernet frames when they are VLAN tagged (#84)
  569. - Do not install man2html (#85)
  570. - Add configure --disable-libopts-install option (#86)
  571. - Enhance tcpreplay --oneatatime (#90)
  572. - libtcpedit can now return warnings & errors (#92)
  573. - Fix tcpprep --include/exclude (#96)
  574. - Upgrade AutoGen tearoff (libopts) to latest version (5.9.0) (#97)
  575. - Don't do L4 checksums for non-fragment offset == 0 (#107)
  576. 08/07/2006: Version 3.0.beta11
  577. - Fix distribution to ship missing src/tcpr.h (#73)
  578. - Add support to tcprewrite to alter output file DLT (#74)
  579. - Fix errors in 'make test' (little endian still broken) (#77)
  580. - Tweak Autogen .def files documentation (#78)
  581. 08/05/2006: Version 3.0.beta10
  582. - tcpprep & tcprewrite no longer require root access (#3)
  583. - Develop wrapper API for libnet, libpcap, BPF and PF_PACKET (#4, #24)
  584. - Enhance do_sleep() to support looping for better accuracy (#6)
  585. - Prefer inet_pton over older, deprecated routines (#26)
  586. - Remove libnet as a requirement (#29)
  587. - Optionally don't rewrite broadcast/multicast IP/MAC addresses (#38)
  588. - Remove libnids dependancy for flowreplay (#55)
  589. - Fix build issues when libpcapnav is installed (#56)
  590. - Fix truncate feature not putting correct packet length in IP header (#59)
  591. - Internal error reporting fixes in libtcpedit (#60)
  592. - Support --enable-debug when building under gcc 3.x (#62)
  593. - tcpedit_stub.h wasn't being generated automatically from SVN (#63)
  594. - Fix 'make doxygen' (#67)
  595. - Fix some Makefile issues (#68)
  596. - tcprewrite --endpoints should require a cache file (#70)
  597. - Improve IP randomizer code to be more random (#71)
  598. 07/17/2006: Version 3.0.beta9
  599. - Fix compile issue for users not having AutoOpts installed (#54)
  600. - Fix compile issue for users w/ AutoOpts 5.8.4 (upgrade to 5.8.4)
  601. 07/16/2006: Version 3.0.beta8
  602. - Fix -M running in MBps rather then Mbps
  603. - Fix tcpbridge segfault/bus error reported by Steven Z. (Gerry)
  604. - Improve tcpbridge man page
  605. - Massive tcprewrite fixes & cleanup (#50)
  606. - Much improved README document
  607. - Reorganize packet editing code into a standalone module (tcpedit)
  608. which has been librarized. (#5)
  609. - Strict code cleanup (#27)
  610. - Fix tcpprep from generating bad cache files (#48)
  611. - Add MAC split mode for tcpprep (#1)
  612. - Improve dbg() to list file/line (#32)
  613. - Add tcpprep statistical reports (#2)
  614. - Reorganize flowreplay code (#46)
  615. - Fix conflicting speed_t for Debian (#33)
  616. - Too many other things to document
  617. 08/07/2005: Version 3.0.beta7
  618. - New 'make doxygen' target builds pretty source code docs in
  619. docs/web/doxygen/html
  620. - Fix tcpprep auto/router mode which was sending all packets out the
  621. secondary interface
  622. - Fix endian issue on little-endian systems which made tcpprep think all
  623. packets were not IP
  624. - Improve debugability of tcpprep
  625. - Fix UDP header offset bug in flowreplay
  626. 06/28/2005: Version 3.0.beta6
  627. - Fix rpm .spec file which was still based on tcpreplay 2.x (untested)
  628. - Detect and manually include pcap-bpf.h which fixes compile problem
  629. - Fix tcprewrite -S crash with only one MAC
  630. - Fix tcpreplay using 2nd NIC split mode
  631. - Fix tcpreplay packet counter initialization
  632. - Fix tcpprep to properly handle missing -i and -c with -I and -P
  633. 06/14/2005: Version 3.0.beta5
  634. - Fix --decode flag
  635. - Fix compile under AMD64/RHEL4 where libraries are in /usr/lib64
  636. - tarball now ships with a full test subdir
  637. - Fix compile of src/common/get.c under strictly aligned architectures
  638. - Fix ./configure --enable-64bits flag
  639. - Fix bug on little endian systems which prevented tcprewrite from
  640. editing packets
  641. - Fix tcprewrite linktype checks
  642. - Add --pktlen for when the pcap snaplen lies to us
  643. - Add --enable-dynamic-link for those who want to dynamically link their
  644. libs
  645. 06/05/2005: Version 3.0.beta4
  646. - Really fix compile problems with dlt2desc with old versions of libpcap
  647. - All libraries are now statically linked and full-path #includes. This
  648. should fix problems with people who have different versions of
  649. libraries installed in different locations.
  650. - Fix problems compiling on systems with libpcapnav
  651. - Add support for libpcap 0.5 such as on OpenBSD
  652. - Fix tcpprep --verbose
  653. - Close STDIN prior to re-opening it for certain OS's
  654. 05/04/2005: Version 3.0.beta3
  655. - Fix autoconf problems with --with-libnet
  656. - Fix compile problems with dlt2desc with old versions of libpcap
  657. - Fix compile problem due to not shipping flowreplay_opts.h and
  658. tcpbridge_opts.h
  659. 04/19/2005: Version 3.0.beta2
  660. - Significant improvements to FAQ and manual
  661. - Use autoopts for flowreplay
  662. - Be more cautious about memcpy's
  663. - Fix numerous warnings during compile
  664. - Allow overriding L2 protocol field for DLT_RAW
  665. - tcpprep -I & -P now take the cache filename
  666. - Lots of cleanup
  667. - Added tcpbridge utility
  668. - Fix tcpreplay --mbps which was being interpreted as bps
  669. - Add --no-arg-comment feature for tcpprep
  670. - Improve auto-tests and fix old broken ones
  671. - Fix Makefile errors in the docs directory
  672. - Upgrade libopts tear off to v5.7pre12 which fixes problems with
  673. loading config files
  674. - Add support for forcing the use of the local libopts tearoff code
  675. 02/27/2005: Version 3.0.beta1
  676. - Major code cleanups and rewriting
  677. - Rip out all edit functions from tcpreplay and put into tcprewrite
  678. - Improve tcpreplay performance by about 5% for raw sending
  679. - Move around utility functions for greater code-reuse
  680. - Move MAC Address funcs into mac.c
  681. - Move global defines into defines.h
  682. - Standardize use of structs and typedefs
  683. - Start passing const's when we don't need to modify
  684. - Start using GNU AutoOpts for arg/config file processing
  685. - Start using automake and autoheader
  686. - Major rewrite of configure.in
  687. - Add support for printing which interface packets go out
  688. - 64bit counters are optional via --enable-64bits
  689. - Can now rewrite L2 data per outbound interface
  690. - Add support for additional DLT types
  691. - Non-Code changes
  692. - I now own the full copyright for tcpreplay
  693. - Removed the evil 4th clause from the BSD license
  694. - Start updating the FAQ and split some content to make a manual
  695. - Automatically generate man pages based via autogen
  696. - New Applications:
  697. - tcprewrite
  698. - Removed Applications: (Ethereal has better utilities)
  699. - capinfo
  700. - pcapmerge
  701. - Merge fixes from 2.x/stable branch:
  702. - portmap.c endian bugs
  703. - edit_packet.c handle corrupted pcap's where caplen < len
  704. - configure now properly uses --with-libnet and --with-libpcap
  705. *** Fork 3.x Branch from v2.3.1 ***