Michael C. Toren on Sat, 11 May 2002 01:19:06 -0400 |
tcptraceroute-1.3beta7 is now available on the beta website, <http://michael.toren.net/code/tcptraceroute/beta.html>. Since the last beta release, I discovered that versions of libpcap prior to 0.6 had been taking precautions to ensure that the payload section of linklayer frames lifted off the wire were properly aligned, while newer versions of libpcap make no such assurances. This causes problems on architectures which don't allow unaligned memory access, such as sparc. As a workaround, tcptraceroute now malloc()s new space, which is guaranteed to be properly aligned, and copies the packet data there prior to casting a packet header struct against it. If anyone has a better suggestion, please let me know. Other significant changes since the last release include an undocumented --no-select command line argument, which disables calls to select(). It seems that on some BSD systems (FreeBSD?), select() will never indicate data is ready to be read on a BPF socket. If I receive more reports that tcptraceroute on FreeBSD doesn't work without --no-select, I'll make it a compile-time default for that platform. Also, I rewrote the command line argument handling again so that it's now using getopt(), as suggested by Scott Fenton <scott@matts-books.com> some time ago. A pass over the command line is first made by hand to process and remove long options, then the remainder of the options are passed to getopt(). As these represent a number of fairly significant change, most especially the ones affecting the memory alignment issues, feedback from beta testers is very much appreciated. tcptraceroute-1.2 is currently unusable on sparc with newer libpcap versions, so I'm very anxious to release quickly. Thank you for your support! -mct _______________________________________________ tcptraceroute-dev mailing list tcptraceroute-dev@netisland.net https://lists.netisland.net/mailman/listinfo/tcptraceroute-dev
|
|